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 を含む) |