FILE_ID_EXTD_DIR_INFORMATION 構造体 (ntifs.h)
FILE_ID_EXTD_DIR_INFORMATION構造は、ディレクトリ内のファイルの 128 ビット ファイル参照番号情報を照会するために使用されます。
構文
typedef struct _FILE_ID_EXTD_DIR_INFORMATION {
ULONG NextEntryOffset;
ULONG FileIndex;
LARGE_INTEGER CreationTime;
LARGE_INTEGER LastAccessTime;
LARGE_INTEGER LastWriteTime;
LARGE_INTEGER ChangeTime;
LARGE_INTEGER EndOfFile;
LARGE_INTEGER AllocationSize;
ULONG FileAttributes;
ULONG FileNameLength;
ULONG EaSize;
ULONG ReparsePointTag;
FILE_ID_128 FileId;
WCHAR FileName[1];
} FILE_ID_EXTD_DIR_INFORMATION, *PFILE_ID_EXTD_DIR_INFORMATION;
メンバー
NextEntryOffset
バッファーに複数のエントリが存在する場合は、次 のFILE_ID_EXTD_DIR_INFORMATION エントリのバイト オフセット。 このメンバーの後に他のエントリがない場合、このメンバーは 0 になります。
FileIndex
親ディレクトリ内のファイルのバイト オフセット。 このメンバーは、親ディレクトリ内のファイルの位置が固定されず、並べ替え順序を維持するためにいつでも変更できる NTFS などのファイル システムでは未定義です。
CreationTime
ファイルが作成された日時。
LastAccessTime
ファイルが最後にアクセスされた時刻。
LastWriteTime
最後に情報がファイルに書き込まれた時刻。
ChangeTime
ファイルが最後に変更された時刻。
EndOfFile
ファイルの先頭からのバイト オフセットとしての新しいファイルの絶対位置。 EndOfFile は、ファイルの末尾へのバイト オフセットを指定します。 この値は 0 から始まるため、実際にはファイル内の最初のフリー バイトを参照します。 言い換えると、 EndOfFile は、ファイル内の最後の有効なバイトの直後のバイトへのオフセットです。
AllocationSize
ファイル割り当てサイズ (バイト単位)。 通常、この値は、基になる物理デバイスのセクターまたはクラスター サイズの倍数です。
FileAttributes
ファイル属性。次の任意の有効な組み合わせにすることができます。
- FILE_ATTRIBUTE_READONLY
- FILE_ATTRIBUTE_HIDDEN
- FILE_ATTRIBUTE_SYSTEM
- FILE_ATTRIBUTE_DIRECTORY
- FILE_ATTRIBUTE_ARCHIVE
- FILE_ATTRIBUTE_NORMAL
- FILE_ATTRIBUTE_TEMPORARY
- FILE_ATTRIBUTE_COMPRESSED
FileNameLength
ファイル名文字列の長さをバイト単位で指定します。
EaSize
ファイルの拡張属性 (EA) の合計長さ (バイト単位)。
ReparsePointTag
再解析ポイントのタグ値。
FileId
ファイルの 128 ビット ファイル参照番号。 この番号は、ファイル システムによって生成され、ファイルに割り当てられます。
FileName[1]
ファイル名文字列の最初の文字を指定します。 その後、メモリ内で文字列の残りの部分が続きます。
注釈
この情報は、次のいずれかの方法で照会できます。
ZwQueryDirectoryFile を呼び出し、FileIdExtdDirectoryInformationを FileInformationClass の値として渡し、呼び出し元によって割り当てられたFILE_ID_EXTD_DIR_INFORMATION構造化バッファーを FileInformation の値として渡します。
主要な関数コード IRP_MJ_DIRECTORY_CONTROLとマイナー関数コード IRP_MN_QUERY_DIRECTORY を含む IRP を作成します。
この情報を照会するために、特定のアクセス権は必要ありません。
ファイル参照番号 (ファイル ID とも呼ばれます) は、静的ファイル システム内でのみ一意であることが保証されます。 ファイル システムは自由に再利用でき、一定の状態を保つ保証もないため、時間の経過と同時に一意であるとは限りません。 たとえば、FAT ファイル システムは、ディスク上のファイルのディレクトリ エントリ レコード (DIRENT) のバイト オフセットからファイルのファイル参照番号を生成します。 デフラグによって、このバイト オフセットが変更される可能性があります。 したがって、FAT ファイル参照番号は時間の経過と同時に変化する可能性があります。
すべての日付と時刻は、システム時刻の絶対形式です。 絶対システム時間は、1601 年の開始以降の 100 ナノ秒間隔の数です。
この構造体は、LONGLONG (8 バイト) 境界に配置する必要があります。 バッファーにこれらの構造体が 2 つ以上含まれている場合、各エントリの NextEntryOffset 値 (最後を除く) は 8 バイトの境界になります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8.1 |
Header | ntifs.h |