ZwQueryInformationByName 関数 (wdm.h)

ZwQueryInformationByName は、ファイル名で指定されたファイルに関する要求された情報を返します。

構文

NTSYSAPI NTSTATUS ZwQueryInformationByName(
  [in]  POBJECT_ATTRIBUTES     ObjectAttributes,
  [out] PIO_STATUS_BLOCK       IoStatusBlock,
  [out] PVOID                  FileInformation,
  [in]  ULONG                  Length,
  [in]  FILE_INFORMATION_CLASS FileInformationClass
);

パラメーター

[in] ObjectAttributes

ファイル 名を含 む、ファイルの属性を含むOBJECT_ATTRIBUTES構造体へのポインター。

[out] IoStatusBlock

呼び出し元の I/O 状態を含む IO_STATUS_BLOCK 構造体を指すポインター。

[out] FileInformation

ファイルに関する要求された情報を返す呼び出し元が指定したバッファーへのポインター。 バッファーの構造は、 FileInformationClass パラメーターによって決まります。

[in] Length

FileInformation が指すバッファーの長さ (バイト単位)。

[in] FileInformationClass

FileInformation が指すバッファーで返すファイル情報の種類を識別するFILE_INFORMATION_CLASS値。 FileInformationClass には、次のいずれかの値を指定できます。

FILE_INFORMATION_CLASS値 返す情報の種類
FileStatInformation (68) FILE_STAT_INFORMATION。 Windows 10 バージョン 1709 以降で使用できます。
FileStatLxInformation (70) FILE_STAT_LX_INFORMATION。 2018 年 4 月の更新プログラムWindows 10以降で使用できます。
FileCaseSensitiveInformation (71) FILE_CASE_SENSITIVE_INFORMATION。 2018 年 4 月の更新プログラムWindows 10以降で使用できます。

戻り値

ZwQueryInformationByName は、正常に完了するとSTATUS_SUCCESSを返します。それ以外の場合は、次のいずれかのエラー コードが返されます。

エラー コード 意味
STATUS_INVALID_PARAMETER FileInformationClass パラメーターに無効な値が含まれています。
STATUS_INFO_LENGTH_MISMATCH Length で指定されたバッファー サイズは、要求された情報を格納するのに十分な大きさではありません。

注釈

ZwQueryInformationByName は、ファイルに関する要求された情報を照会して返します。 これは、実際のファイルを開かずに行うので、ファイルを開く (その後のファイルを閉じる) 必要がある ZwQueryInformationFile よりも効率的になります。

ZwQueryInformationByName の呼び出し元は、IRQL = PASSIVE_LEVELで実行され、特殊なカーネル APC が有効になっている必要があります。

要件

要件
Header wdm.h
IRQL PASSIVE_LEVEL (「解説」セクションを参照)

こちらもご覧ください

FILE_CASE_SENSITIVE_INFORMATION

FILE_INFORMATION_CLASS

FILE_STAT_INFORMATION

FILE_STAT_LX_INFORMATION

IO_STATUS_BLOCK

OBJECT_ATTRIBUTES

ZwQueryInformationFile