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

こちらもご覧ください

FILE_CASE_SENSITIVE_INFORMATION

FILE_INFORMATION_CLASS

FILE_STAT_INFORMATION

FILE_STAT_LX_INFORMATION

IO_STATUS_BLOCK

NtQueryInformationFile

OBJECT_ATTRIBUTES