次の方法で共有


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 CallbackData に関連付けられた呼び出し元によって割り当てられた 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