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. Windows 10 April 2018 Update 以降で使用できます。 |
FileCaseSensitiveInformation (71) | FILE_CASE_SENSITIVE_INFORMATION. Windows 10 April 2018 Update 以降で使用できます。 |
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 で実行され、特殊なカーネル API が有効になっている 必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 10 バージョン 1703 |
ヘッダー | ntifs.h |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (「解説」セクションを参照) |
関連項目
FILE_CASE_SENSITIVE_INFORMATION
NtQueryInformationFileの