FILE_INTERNAL_INFORMATION構造体 (ntifs.h)
FILE_INTERNAL_INFORMATION構造体は、ファイル システムの 8 バイトファイル参照番号のクエリに使用されます。
構文
typedef struct _FILE_INTERNAL_INFORMATION {
LARGE_INTEGER IndexNumber;
} FILE_INTERNAL_INFORMATION, *PFILE_INTERNAL_INFORMATION;
メンバー
IndexNumber
ファイルの 8 バイトのファイル参照番号。 この番号はファイル システムによって割り当てられ、ファイル システム固有です。 (これは、Microsoft Windows 2000 用 NTFS に追加された 16 バイトの "ファイル オブジェクト ID" とは同じではないことに注意してください)。
注釈
この情報は、次のいずれかの方法で照会できます。
FltQueryInformationFile または ZwQueryInformationFile を呼び出し、FileInternalInformation を FileInformationClass の値として渡し、呼び出し元によって割り当てられたFILE_INTERNAL_INFORMATION構造化バッファーを FileInformation の値として渡します。
主要な関数コード IRP_MJ_QUERY_INFORMATIONを使用して IRP を作成します。
この情報を照会するために、特定のアクセス権は必要ありません。
FILE_INTERNAL_INFORMATION構造体の IndexNumber メンバーは、FILE_ID_BOTH_DIR_INFORMATION および FILE_ID_FULL_DIR_INFORMATION 構造体の FileId メンバーと同じです。
ファイル参照番号 (ファイル ID とも呼ばれます) は、静的ファイル システム内でのみ一意であることが保証されます。 ファイル システムは自由に再利用できるため、時間の経過と同時に一意であるとは限りません。 また、一定の状態を保つ保証もありません。 たとえば、FAT ファイル システムは、ディスク上のファイルのディレクトリ エントリ レコード (DIRENT) のバイト オフセットからファイルのファイル参照番号を生成します。 デフラグによって、このバイト オフセットが変更される可能性があります。 したがって、FAT ファイル参照番号は時間の経過と同時に変化する可能性があります。
FileInformation パラメーターで FltQueryInformationFile または ZwQueryInformationFile に渡されるバッファーのサイズは、少なくとも sizeof(FILE_INTERNAL_INFORMATION)
である必要があります。
この構造体は、LONGLONG (8 バイト) 境界に配置する必要があります。
要件
要件 | 値 |
---|---|
Header | ntifs.h (Ntifs.h、Fltkernel.h を含む) |