共用方式為


FltVetoBypassIo 函式 (fltkernel.h)

FltVetoBypassIo 擷取否決 BypassIO 要求所需的資訊。

語法

NTSTATUS FLTAPI FltVetoBypassIo(
  [in] PFLT_CALLBACK_DATA    CallbackData,
  [in] PCFLT_RELATED_OBJECTS FltObjects,
  [in] NTSTATUS              OperationStatus,
  [in] PCUNICODE_STRING      FailureReason
);

參數

[in] CallbackData

FSCTL_MANAGE_BYPASS_IOFLT_CALLBACK_DATA 指標。

[in] FltObjects

BypassIO 作業 FLT_RELATED_OBJECTS 結構的指標。

[in] OperationStatus

由否決篩選所提供的NTSTATUS錯誤碼。

[in] FailureReason

唯一的描述性字串,提供篩選為何否決 BypassIO 啟用要求的詳細數據。

傳回值

FltVetoBypassIo 成功完成時會傳回STATUS_SUCCESS;否則,它會傳回NTSTATUS值,例如下列其中一個值。

價值 意義
STATUS_BUFFER_TOO_SMALL FSCTL 的 輸出緩衝區 太小。
STATUS_INVALID_BUFFER_SIZE FSCTL 的 輸入緩衝區 太小。
STATUS_INVALID_PARAMETER_3 未提供適當的錯誤碼。
STATUS_INVALID_PARAMETER_4 未提供適當的失敗原因。
STATUS_NOT_SUPPORTED 不支援或未從作業前回呼要求要求的作業。

言論

小型篩選程式會在想要在檔案上否決 FS_BPIO_OP_ENABLE 或FS_BPIO_OP_QUERY 要求時,呼叫 FltVetoBypassIo。 小型篩選程序應該只從其作業前回呼呼叫此例程。

FltVetoBypassIo 填入與 Callback Data 相關聯的呼叫端配置 FS_BPIO_OUTPUT 結構,並填入否決 BypassIO 要求所需的資訊。 呼叫端必須提供足以保存結構的緩衝區。

FltVetoBypassIo 會記錄具有狀態、篩選提供原因和篩選名稱的 ETW 事件。

如需詳細資訊,請參閱 BypassIO 以取得篩選驅動程式支援 BypassIO 作業

要求

要求 價值
最低支援的用戶端 Windows 11
標頭 fltkernel.h
IRQL <= APC_LEVEL

另請參閱

FS_BPIO_INPUT

FS_BPIO_OPERATIONS

FS_BPIO_OUTPUT

FSCTL_MANAGE_BYPASS_IO