次の方法で共有


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_INFORMATIONIRP を作成します。

この情報を照会するために、特定のアクセス権は必要ありません。

FILE_INTERNAL_INFORMATION構造体の IndexNumber メンバーは、FILE_ID_BOTH_DIR_INFORMATIONおよびFILE_ID_FULL_DIR_INFORMATION構造体の FileId メンバーと同じです。

ファイル参照番号 (ファイル ID とも呼ばれます) は、静的ファイル システム内でのみ一意であることが保証されます。 ファイル システムは自由に再利用できるため、時間の経過と同時に一意であるとは限りません。 また、一定の状態を保つ保証もありません。 たとえば、FAT ファイル システムは、ディスク上のファイルのディレクトリ エントリ レコード (DIRENT) のバイト オフセットからファイルのファイル参照番号を生成します。 最適化によって、このバイト オフセットが変更される可能性があります。 したがって、FAT ファイル参照番号は時間の経過と同時に変化する可能性があります。

FltQueryInformationFileまたは ZwQueryInformationFileするために、FileInformation パラメーターで渡されるバッファーのサイズは、少なくとも sizeof(FILE_INTERNAL_INFORMATION)である必要があります。

この構造体は、LONGLONG (8 バイト) 境界に配置する必要があります。

必要条件

要件 価値
ヘッダー ntifs.h (Ntifs.h、Fltkernel.h を含む)

関連項目

FILE_ID_BOTH_DIR_INFORMATION

FILE_ID_FULL_DIR_INFORMATION

FILE_OBJECTID_INFORMATION

FltQueryInformationFile

ZwQueryInformationFile