FILE_FULL_DIR_INFO 構造体 (winbase.h)
ファイルのディレクトリ情報が含まれます。 FileFullDirectoryInfo または FileFullDirectoryRestartInfo が FileInformationClass パラメーターで渡されると、この構造体は GetFileInformationByHandleEx 関数から返されます。
構文
typedef struct _FILE_FULL_DIR_INFO {
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;
WCHAR FileName[1];
} FILE_FULL_DIR_INFO, *PFILE_FULL_DIR_INFO;
メンバー
NextEntryOffset
返される次の FILE_FULL_DIR_INFO 構造体のオフセット。 このエントリの後に他のエントリがない場合は、ゼロ (0) が含まれます。
FileIndex
親ディレクトリ内のファイルのバイト オフセット。 このメンバーは、NTFS などのファイル システムでは未定義であり、親ディレクトリ内のファイルの位置は固定されず、並べ替え順序を維持するためにいつでも変更できます。
CreationTime
ファイルが作成された時刻。
LastAccessTime
ファイルが最後にアクセスされた時刻。
LastWriteTime
ファイルが最後に書き込まれた時刻。
ChangeTime
ファイルが最後に変更された時刻。
EndOfFile
ファイルの先頭からファイルの既定のデータ ストリームの末尾までのバイト オフセットとしての新しいファイルの最後の絶対位置。 この値は 0 から始まるため、実際にはファイル内の最初のフリー バイトを参照します。 つまり、 EndOfFile は、ファイル内の最後の有効なバイトの直後にあるバイトへのオフセットです。
AllocationSize
ファイルに割り当てられるバイト数。 この値は、通常、基になる物理デバイスのセクターまたはクラスター サイズの倍数です。
FileAttributes
ファイル属性。 このメンバーには、次の属性の任意の有効な組み合わせを指定できます。
FILE_ATTRIBUTE_ARCHIVE (0x00000020)
FILE_ATTRIBUTE_COMPRESSED (0x00000800)
FILE_ATTRIBUTE_DIRECTORY (0x00000010)
FILE_ATTRIBUTE_HIDDEN (0x00000002)
FILE_ATTRIBUTE_NORMAL (0x00000080)
FILE_ATTRIBUTE_READONLY (0x00000001)
FILE_ATTRIBUTE_SYSTEM (0x00000004)
FILE_ATTRIBUTE_TEMPORARY (0x00000100)
FileNameLength
ファイル名の長さ。
EaSize
ファイルの拡張属性のサイズ。
FileName[1]
ファイル名文字列の最初の文字。 その後、メモリ内で文字列の残りの部分が続きます。
解説
FILE_FULL_DIR_INFO構造体は、FILE_ID_BOTH_DIR_INFO構造体内の情報のサブセットです。 追加情報が必要ない場合は、ディレクトリ エントリから取得されるため、操作は高速になります。 FILE_ID_BOTH_DIR_INFO には、ディレクトリ エントリとマスター ファイル テーブル (MFT) の両方からの情報が含まれています。
この情報を照会するために特定のアクセス権は必要ありません。
すべての日付と時刻は、システム時刻の絶対形式です。 システムの絶対時間は、1601 年の開始以降の 100 ナノ秒間隔の数です。
この FILE_FULL_DIR_INFO 構造体は 、LONGLONG (8 バイト) 境界に配置する必要があります。 バッファーにこれらの構造体が 2 つ以上含まれている場合、各エントリの NextEntryOffset 値 (最後の を除く) は 8 バイトの境界になります。
この構造を使用するアプリケーションをコンパイルするには、 _WIN32_WINNT マクロを 0x0600 以降として定義します。 詳細については、「 Windows ヘッダーの使用」を参照してください。
要件
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
Header | winbase.h (Windows.h を含む) |