FltQueryInformationFile 関数 (fltkernel.h)
FltQueryInformationFile は 、特定のファイルの情報を取得します。
構文
NTSTATUS FLTAPI FltQueryInformationFile(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[out] PVOID FileInformation,
[in] ULONG Length,
[in] FILE_INFORMATION_CLASS FileInformationClass,
[out, optional] PULONG LengthReturned
);
パラメーター
[in] Instance
呼び出し元の不透明なインスタンス ポインター。 このパラメーターは必須であり、 NULL にすることはできません。
[in] FileObject
ファイルのファイル オブジェクト ポインター。 このパラメーターは必須であり、 NULL にすることはできません。
[out] FileInformation
ファイルに関する情報を受け取る呼び出し元によって割り当てられたバッファーへのポインター。 FileInformationClass パラメーターは、情報の種類を指定します。 このパラメーターは必須であり、 NULL にすることはできません。
[in] Length
FileInformation バッファーのサイズ (バイト単位)。
[in] FileInformationClass
FileInformation バッファーで返されるファイル情報の種類を指定するFILE_INFORMATION_CLASS値。
[out, optional] LengthReturned
FileInformation バッファーで返される情報のサイズ (バイト単位) を受け取る呼び出し元割り当て変数へのポインター。 このパラメーターは省略可能であり、 NULL にすることができます。
戻り値
FltQueryInformationFile は 、次のようなSTATUS_SUCCESSまたは適切な NTSTATUS 値を返します。
リターン コード | 説明 |
---|---|
|
ファイルは、現在マウントされていないボリュームに存在します。 これはエラー コードです。 |
注釈
ミニフィルター ドライバーは 、FltQueryInformationFile を呼び出して、 FileObject によって識別されるファイルの情報を取得します。 ファイルは現在開いている必要があります。
FltQueryInformationFile は、特定のファイル システムでサポートされていないFILE_XXX_INFORMATION 構造体のメンバーで 0 を返します。
FltQueryInformationFile の呼び出し元は、IRQL = PASSIVE_LEVEL で実行され、APC が有効になっている必要があります。
メモ: NULL 以外の最上位レベルの IRP 値を使用してこのルーチンを呼び出さないでください。これにより、システム のデッドロックが発生する可能性があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | fltkernel.h (Fltkernel.h を含む) |
Library | FltMgr.lib |
[DLL] | Fltmgr.sys |
IRQL | PASSIVE_LEVEL (「解説」セクションを参照) |