NtQueryInformationByName 関数 (ntifs.h)
NtQueryInformationByName は、ファイル名で指定されたファイルに関する要求された情報を返します。
構文
__kernel_entry NTSYSCALLAPI NTSTATUS NtQueryInformationByName(
[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以降で使用できます。 |
FileStatBasicInformation (77) | FILE_STAT_BASIC_INFORMATION。 Windows 11、ビルド 26048 以降で使用できます。 |
戻り値
NtQueryInformationByName は、正常に完了するとSTATUS_SUCCESSを返します。それ以外の場合は、次のいずれかのエラー コードが返されます。
エラー コード | 意味 |
---|---|
STATUS_INVALID_PARAMETER | FileInformationClass パラメーターに無効な値が含まれています。 |
STATUS_INFO_LENGTH_MISMATCH | Length で指定されたバッファー サイズは、要求された情報を格納するのに十分な大きさではありません。 |
注釈
NtQueryInformationByName は、ファイルに関する要求された情報を照会して返します。 これは、実際のファイルを開かずに行うので、 NtQueryInformationFile よりも効率的であり、ファイルを開く (および後続のファイルを閉じる) 必要があります。
NtQueryInformationByName の呼び出し元は、IRQL = PASSIVE_LEVEL で実行され、特殊なカーネル APC が有効になっている必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 Version 1703 |
Header | ntifs.h |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (「解説」セクションを参照) |