FILE_ID_EXTD_DIR_INFO結構 (winbase.h)

包含檔案的標識碼資訊。 當 FileIdExtdDirectoryInfo (0x13) 或 FileIdExtdDirectoryRestartInfo (0x14) 傳入 FileInformationClass 參數時,會從 GetFileInformationByHandleEx 函式傳回這個結構。

語法

typedef struct _FILE_ID_EXTD_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;
  ULONG         ReparsePointTag;
  FILE_ID_128   FileId;
  WCHAR         FileName[1];
} FILE_ID_EXTD_DIR_INFO, *PFILE_ID_EXTD_DIR_INFO;

成員

NextEntryOffset

傳回之下一 個FILE_ID_EXTD_DIR_INFO 結構的位移。 如果這個專案後面沒有其他專案,則包含零 (0) 。

FileIndex

父目錄中檔案的位元組位移。 此成員未定義給文件系統,例如NTFS,其中檔案在父目錄中的位置未固定,而且可以隨時變更以維護排序順序。

CreationTime

建立檔案的時間。

LastAccessTime

上次存取檔案的時間。

LastWriteTime

上次寫入檔案的時間。

ChangeTime

上次變更檔案的時間。

EndOfFile

從檔案開頭到檔案結尾的絕對新檔尾位置做為位移。 因為此值是以零起始,所以實際上會參考檔案中的第一個可用位元組。 換句話說, EndOfFile 是緊接在檔案中最後一個有效位元組之後的位元組位移。

AllocationSize

為檔案配置的位元元組數目。 此值通常是基礎實體裝置的扇區或叢集大小的倍數。

FileAttributes

檔案屬性。 此成員可以是下列屬性的任何有效組合:

意義
FILE_ATTRIBUTE_ARCHIVE
32 (0x20)
封存盤案或目錄的檔案或目錄。 應用程式通常會使用這個屬性來標記要備份或移除的檔案。 
FILE_ATTRIBUTE_COMPRESSED
2048 (0x800)
壓縮的檔案或目錄。 對於檔案,檔案中的所有數據都會壓縮。 針對目錄,壓縮是新建立檔案和子目錄的預設值。
FILE_ATTRIBUTE_DEVICE
64 (0x40)
此值保留給系統使用。
FILE_ATTRIBUTE_DIRECTORY
16 (0x10)
識別目錄的句柄。
FILE_ATTRIBUTE_ENCRYPTED
16384 (0x4000)
加密的檔案或目錄。 對於檔案,檔案中的所有數據流都會加密。 對於目錄,加密是新建立的檔案和子目錄的預設值。
FILE_ATTRIBUTE_HIDDEN
2 (0x2)
檔案或目錄已隱藏。 它不包含在一般目錄清單中。
FILE_ATTRIBUTE_NORMAL
128 (0x80)
未設定其他屬性的檔案。 此屬性只有在單獨使用時才有效。
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
8192 (0x2000)
檔案或目錄不會由內容索引服務編製索引。
FILE_ATTRIBUTE_OFFLINE
4096 (0x1000)
檔案的數據無法立即使用。 這個屬性表示檔案數據實際上會移至離線記憶體。 遠端記憶體會使用此屬性,這是階層式記憶體管理軟體。 應用程式不應該任意變更此屬性。
FILE_ATTRIBUTE_READONLY
1 (0x1)
唯讀的檔案。 應用程式可以讀取檔案,但無法寫入或刪除檔案。 目錄上不接受這個屬性。 如需詳細資訊,請參閱 您無法在 Windows Server 2003、Windows XP、Windows Vista 或 Windows 7 中檢視或變更資料夾的唯讀或系統屬性
FILE_ATTRIBUTE_REPARSE_POINT
1024 (0x400)
具有相關聯重新分析點的檔案或目錄,或是符號連結的檔案。
FILE_ATTRIBUTE_SPARSE_FILE
512 (0x200)
屬於疏鬆檔案的檔案。
FILE_ATTRIBUTE_SYSTEM
4 (0x4)
操作系統使用的一部分或獨佔使用的檔案或目錄。
FILE_ATTRIBUTE_TEMPORARY
256 (0x100)
用於暫存盤的檔案。 如果有足夠的快取記憶體可用,檔案系統可避免將數據寫回大量記憶體,因為應用程式通常會在關閉句柄之後刪除臨時檔。 在該案例中,系統完全可以避免寫入數據。 否則,會在關閉句柄之後寫入數據。
FILE_ATTRIBUTE_VIRTUAL
65536 (0x10000)
此值保留給系統使用。

FileNameLength

檔名的長度。

EaSize

檔案的擴充屬性大小。

ReparsePointTag

如果 FileAttributes 成員包含 FILE_ATTRIBUTE_REPARSE_POINT 屬性,此成員會指定重新分析點標記。

否則,這個值是未定義的,不應使用。

如需詳細資訊,請參閱 重新分析點標記

IO_REPARSE_TAG_CSV (0x80000009)

IO_REPARSE_TAG_DEDUP (0x80000013)

IO_REPARSE_TAG_DFS (0x8000000A)

IO_REPARSE_TAG_DFSR (0x80000012)

IO_REPARSE_TAG_HSM (0xC0000004)

IO_REPARSE_TAG_HSM2 (0x80000006)

IO_REPARSE_TAG_MOUNT_POINT (0xA0000003)

IO_REPARSE_TAG_NFS (0x80000014)

IO_REPARSE_TAG_SIS (0x80000007)

IO_REPARSE_TAG_WIM (0x80000008)

FileId

檔案標識碼。

FileName[1]

檔名字串的第一個字元。 這會接著在記憶體中加上字串的其餘部分。

規格需求

需求
最低支援的用戶端 都不支援
最低支援的伺服器 Windows Server 2012 [僅限傳統型應用程式]
標頭 winbase.h (包含 Windows.h)

另請參閱

FILE_ID_128

FILE_INFO_BY_HANDLE_CLASS

檔案管理結構

GetFileInformationByHandleEx