WIN32_FIND_DATAA 結構 (minwinbase.h)

包含 FindFirstFileFindFirstFileExFindNextFile 函式找到之檔案的相關信息。

語法

typedef struct _WIN32_FIND_DATAA {
  DWORD    dwFileAttributes;
  FILETIME ftCreationTime;
  FILETIME ftLastAccessTime;
  FILETIME ftLastWriteTime;
  DWORD    nFileSizeHigh;
  DWORD    nFileSizeLow;
  DWORD    dwReserved0;
  DWORD    dwReserved1;
  CHAR     cFileName[MAX_PATH];
  CHAR     cAlternateFileName[14];
  DWORD    dwFileType; // Obsolete. Do not use.
  DWORD    dwCreatorType; // Obsolete. Do not use
  WORD     wFinderFlags; // Obsolete. Do not use
} WIN32_FIND_DATAA, *PWIN32_FIND_DATAA, *LPWIN32_FIND_DATAA;

成員

dwFileAttributes

檔案的檔案屬性。

如需可能的值及其描述,請參閱 檔案屬性常數

如果檔案的任何數據流已經疏鬆,則會設定檔案上的 FILE_ATTRIBUTE_SPARSE_FILE 屬性。

ftCreationTime

FILETIME 結構,指定何時建立檔案或目錄。

如果基礎文件系統不支援建立時間,則此成員為零。

ftLastAccessTime

FILETIME 結構。

對於檔案,結構會指定檔案上次讀取、寫入可執行檔或可執行文件的時機。

針對目錄,結構會指定何時建立目錄。 如果基礎文件系統不支援上次存取時間,則此成員為零。

在 FAT 檔案系統上,檔案和目錄的指定日期都正確,但一天的時間一律會設定為午夜。

ftLastWriteTime

FILETIME 結構。

對於檔案,結構會指定上次寫入、截斷或覆寫檔案的時間,例如,使用 WriteFileSetEndOfFile 時。 變更檔案屬性或安全性描述項時,不會更新日期和時間。

針對目錄,結構會指定何時建立目錄。 如果基礎文件系統不支援上次寫入時間,則此成員為零。

nFileSizeHigh

檔案大小的高階 DWORD 值,以位元組為單位。

除非檔案大小大於 MAXDWORD,否則此值為零。

檔案的大小等於 (nFileSizeHigh * (MAXDWORD+1) ) + nFileSizeLow

nFileSizeLow

檔案大小的低順序 DWORD 值,以位元組為單位。

dwReserved0

如果 dwFileAttributes 成員包含 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)

dwReserved1

保留供未來使用。

cFileName[MAX_PATH]

檔案的名稱。

cAlternateFileName[14]

檔案的替代名稱。

此名稱是傳統 8.3 檔名格式。

備註

如果檔案具有長檔名,則完整名稱會出現在 cFileName 成員中,而 8.3 格式的名稱截斷版本會出現在 cAlternateFileName 成員中。 否則, cAlternateFileName 是空的。 如果使用 fInfoLevelId 參數中的 FindExInfoBasic 值呼叫 FindFirstFileEx 函式,cAlternateFileName 成員一律會包含 NULL 字串值。 對於 FindNextFile 函式的所有後續呼叫而言,這仍為 true。 作為擷取檔名 8.3 格式版本的替代方法,您可以使用 GetShortPathName 函式。 如需檔名的詳細資訊,請參閱 檔名、路徑和命名空間

並非所有文件系統都可以記錄建立和上次存取時間,而且並非所有文件系統都以相同的方式記錄它們。 例如,在 FAT 檔系統上,建立時間的解析度為 10 毫秒、寫入時間解析度為 2 秒,而存取時間的解析度為 1 天。 NTFS 檔系統在上次存取之後最多 1 小時會延遲檔案上次存取時間的更新。 如需詳細資訊,請參閱 檔案時間

注意

minwinbase.h 標頭會將WIN32_FIND_DATA定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows XP [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2003 [傳統型應用程式 |UWP 應用程式]
標頭 minwinbase.h (包含 Windows.h)

另請參閱

FILETIME

檔案屬性常數

檔名、路徑和命名空間

檔案時間

FileTimeToLocalFileTime

FileTimeToSystemTime

FindFirstFile

FindFirstFileEx

FindNextFile

GetShortPathName