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 結構的函式可以允許零或正值以外的值,通常由 dwLowDateTime 和 dwHighDateTime 成員指定。 例如, SetFileTime 函式會使用 0xFFFFFFFF 來指定應保留檔案先前的存取時間。 如需詳細資訊,請參閱您要呼叫之函式的主題。
範例
如需範例,請參閱 將檔案時間變更為目前時間 或 擷取 Last-Write 時間。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows 2000 Server [傳統型應用程式 |UWP 應用程式] |
標頭 | minwinbase.h (包含 Windows.h) |