次の方法で共有


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_IOのFLT_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
Header fltkernel.h
IRQL <= APC_LEVEL

こちらもご覧ください

FS_BPIO_INPUT

FS_BPIO_OPERATIONS

FS_BPIO_OUTPUT

FSCTL_MANAGE_BYPASS_IO