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 (「解説」セクションを参照) |