FILETIME 結構 (minwinbase.h)

包含 64 位值,代表自 1601 年 1 月 1 日起的 100 奈秒間隔數目, (UTC) 。

語法

typedef struct _FILETIME {
  DWORD dwLowDateTime;
  DWORD dwHighDateTime;
} FILETIME, *PFILETIME, *LPFILETIME;

成員

dwLowDateTime

檔案時間的低序部分。

dwHighDateTime

檔案時間的高序部分。

備註

若要將 FILETIME 結構轉換成容易向使用者顯示的時間,請使用 FileTimeToSystemTime 函式。

不建議從 FILETIME 結構新增和減去值,以取得相對時間。 相反地,您應該將檔案時間的低階和高序部分複製到ULARGE_INTEGER結構、在 QuadPart 成員上執行 64 位算術,並將 LowPart 和 HighPart 成員複製到 FILETIME 結構。

請勿將 FILETIME 結構的指標轉換成 ULARGE_INTEGER*__int64* 值,因為它可能會導致 64 位 Windows 上的對齊錯誤。

並非所有文件系統都可以記錄建立和上次存取時間,而且並非所有文件系統都以相同的方式記錄它們。 例如,在 NT FAT 上,建立時間的解析度為 10 毫秒、寫入時間解析度為 2 秒,而存取時間確實解析為 1 天 (,存取日期) 。 在NTFS上,存取時間的解析度為1小時。 因此, GetFileTime 函式可能不會使用 SetFileTime 函式傳回相同的檔案時間資訊集。 此外,FAT 會在本機時間記錄磁碟上的時間。 不過,NTFS 會在UTC的磁碟上記錄時間。 如需詳細資訊,請參閱 檔案時間

使用 FILETIME 結構的函式可以允許零或正值以外的值,通常由 dwLowDateTimedwHighDateTime 成員指定。 例如, SetFileTime 函式會使用 0xFFFFFFFF 來指定應保留檔案先前的存取時間。 如需詳細資訊,請參閱您要呼叫之函式的主題。

範例

如需範例,請參閱 將檔案時間變更為目前時間擷取 Last-Write 時間

規格需求

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

另請參閱

CompareFileTime

檔案時間

FileTimeToSystemTime

GetFileTime

ULARGE_INTEGER