IRP_MJ_QUERY_INFORMATION
ドライバーは必要に応じて、IRP_MJ_QUERY_INFORMATION 要求を処理できます。
オペレーティング システムは、ファイルまたはファイル ハンドルに関するメタデータを取得するために、IRP_MJ_QUERY_INFORMATION 要求を送信します。 たとえば、ドライバーが ZwQueryInformationFile を呼び出すと、オペレーティング システムはIRP_MJ_QUERY_INFORMATION 要求を送信します。
Parameters.QueryFile.FileInformationClass メンバーは、提供するメタデータの種類を指定する FILE_INFORMATION_CLASS 定数です。 メタデータの種類の詳細については、「ZwQueryInformationFile」ルーチンの FileInformationClass パラメーターを参照してください。
Parameters.QueryFile.Length メンバーは、AssociatedIrp.SystemBuffer メンバーが指すバッファーの長さを指定します。
AssociatedIrp.SystemBuffer メンバーは、ドライバーが要求された情報を提供するバッファーを指します。 Parameters.QueryFile.FileInformationClass の値によって、返されるメタデータの形式 (FILE_XXX_INFORMATION 構造体) が決まります。 メタデータの形式の詳細については、「FILE_INFORMATION_CLASS 列挙体」を参照してください。
ドライバーは、はこの要求を処理する必要はありません。また、ドライバーが処理する場合でも、Parameters.QueryFile.FileInformationClass のすべての可能な値を処理する必要はありません。 ドライバーのディスパッチ ルーチンは、処理しない値に対して STATUS_INVALID_DEVICE_REQUEST などのエラー コードを返す必要があります。
FILE_INFORMATION_CLASS の可能なすべての値が発生するわけではありません。
ヘッダー |
Wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |