FltVetoBypassIo 函式 (fltkernel.h)

FltVetoBypassIo 会擷取 Veto 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_IO FLT_CALLBACK_DATA的指標。

[in] FltObjects

略過IO作業 FLT_RELATED_OBJECTS 結構的指標。

[in] OperationStatus

veto 篩選所提供的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 會填入與 CallbackData 相關聯的呼叫端配置FS_BPIO_OUTPUT結構,以及 Veto BypassIO 要求所需的資訊。 呼叫端必須提供足以保存結構的緩衝區。

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

如需詳細資訊,請參閱 Filter 驅動程式BypassIO 和支援 BypassIO 作業

規格需求

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

另請參閱

FS_BPIO_INPUT

FS_BPIO_OPERATIONS

FS_BPIO_OUTPUT

FSCTL_MANAGE_BYPASS_IO