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 値を返します。

リターン コード 説明
STATUS_VOLUME_DISMOUNTED
ファイルは、現在マウントされていないボリュームに存在します。 これはエラー コードです。

注釈

ミニフィルター ドライバーは 、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 (「解説」セクションを参照)

こちらもご覧ください

FILE_INFORMATION_CLASS

FltQueryVolumeInformationFile

FltSetInformationFile

ZwQueryInformationFile