次の方法で共有


IRP_MJ_QUERY_OPEN ユニオンの FLT_PARAMETERS

次のユニオン コンポーネントは、操作における FLT_IO_PARAMETER_BLOCK 構造体の MajorFunction フィールドが IRP_MJ_QUERY_OPEN であるときに使用されます。

構文

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    PIRP                   Irp;
    PVOID                  FileInformation;
    PULONG                 Length;
    FILE_INFORMATION_CLASS FileInformationClass;
  } QueryOpen;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

メンバー

  • Irp: この操作に関連付けられている IRP へのポインター。

  • FileInformation: ファイル オブジェクトに関して要求された情報をルーチンが書き込む、呼び出し元によって割り当てられたバッファーへのポインター。 FileInformationClass メンバーは、呼び出し元が要求する情報の種類を指定します。

  • Length: FileInformation が指すバッファーのサイズ (バイト単位) へのポインター。

  • FileInformationClass: FileInformation が指すバッファー内の、ファイルに関して返される情報の種類を指定します。 デバイス ドライバーと中間ドライバーは、次の FILE_INFORMATION_CLASS 値のいずれかを指定できます。 その他の値は呼び出し失敗を引き起こすため、PreQueryOpen/PostQueryOpen 呼び出しに渡すべきではありません。

    FILE_INFORMATION_CLASS 値 返される情報の種類
    FileStatInformation FILE_STAT_INFORMATION 構造体。 この構造体にはアクセス マスクが含まれています。 アクセス マスクの詳細については、「ACCESS_MASK」を参照してください。
    FileStatLxInformation FILE_STAT_LX_INFORMATION 構造体。 この構造体にはアクセス マスクが含まれています。 アクセス マスクの詳細については、「ACCESS_MASK」を参照してください。
    FileCaseSensitiveInformation FILE_CASE_SENSITIVE_INFORMATION 構造体。
    FileStatBasicInformation FILE_STAT_BASIC_INFORMATION 構造体。

解説

IRP_MJ_QUERY_OPEN 操作における FLT_PARAMETERS 構造体には、コールバックデータ (FLT_CALLBACK_DATA) 構造体が表す QueryOpen 操作用のパラメーターが含まれます。 これは、FLT_IO_PARAMETER_BLOCK 構造体に含まれています。

IRP_MJ_QUERY_OPEN は、ファイル システム (FSFilter) コールバック操作です。 フィルターでは、FLT_PREOP_DISALLOW_FSFILTER_IO と FLT_POSTOP_DISALLOW_FSFILTER_IO を使用して、操作前コールバック操作後コールバックの両方で操作を拒否できます。

IO_STATUS ブロックの Information フィールドには、ファイル システムによる値の設定は行われません。 フィルターでは、事後呼び出しでこの値を検査しないでください。

FSFilter コールバック操作の詳細については、FsRtlRegisterFileSystemFilterCallbacks のリファレンス エントリを参照してください。

要件

要件タイプ 要件
ヘッダー Fltkernel.h (Fltkernel.h を含む)

関連項目

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

FsRtlRegisterFileSystemFilterCallbacks