FILE_ID_BOTH_DIR_INFO構造体 (winbase.h)

指定したディレクトリ内のファイルに関する情報が含まれます。 ディレクトリ ハンドルに使用されます。 GetFileInformationByHandleEx を呼び出す場合にのみ使用します。 GetFileInformationByHandleEx の呼び出しごとに返されるファイルの数は、関数に渡されるバッファーのサイズによって異なります。 同じハンドル で GetFileInformationByHandleEx をそれ以降呼び出すと、最後のファイルが返された後に列挙操作が再開されます。

構文

typedef struct _FILE_ID_BOTH_DIR_INFO {
  DWORD         NextEntryOffset;
  DWORD         FileIndex;
  LARGE_INTEGER CreationTime;
  LARGE_INTEGER LastAccessTime;
  LARGE_INTEGER LastWriteTime;
  LARGE_INTEGER ChangeTime;
  LARGE_INTEGER EndOfFile;
  LARGE_INTEGER AllocationSize;
  DWORD         FileAttributes;
  DWORD         FileNameLength;
  DWORD         EaSize;
  CCHAR         ShortNameLength;
  WCHAR         ShortName[12];
  LARGE_INTEGER FileId;
  WCHAR         FileName[1];
} FILE_ID_BOTH_DIR_INFO, *PFILE_ID_BOTH_DIR_INFO;

メンバー

NextEntryOffset

返される次の FILE_ID_BOTH_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

ファイルの拡張属性のサイズ。

ShortNameLength

ShortName の長さ。

ShortName[12]

ファイルの短い 8.3 ファイルの名前付け規則 (例: "FILENAME.TXT")。

FileId

ファイル ID。

FileName[1]

ファイル名文字列の最初の文字。 その後、メモリ内で文字列の残りの部分が続きます。

注釈

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

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

すべての日付と時刻は、システム時刻の絶対形式です。 絶対システム時間は、1601 年の開始以降の 100 ナノ秒間隔の数です。

この FILE_ID_BOTH_DIR_INFO 構造体は 、DWORDLONG (8 バイト) 境界に配置する必要があります。 バッファーにこれらの構造体が 2 つ以上含まれている場合、各エントリの NextEntryOffset 値 (最後を除く) は 8 バイトの境界になります。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリ | UWP アプリ]
Header winbase.h (Windows.h を含む)
再頒布可能パッケージ Windows Server 2003 および Windows XP でWindows SDK。

こちらもご覧ください

FILE_INFO_BY_HANDLE_CLASS

ファイル属性定数

GetFileInformationByHandleEx