GetFileTime 函式 (fileapi.h)
擷取檔案或目錄建立、上次存取和上次修改的日期和時間。
語法
BOOL GetFileTime(
[in] HANDLE hFile,
[out, optional] LPFILETIME lpCreationTime,
[out, optional] LPFILETIME lpLastAccessTime,
[out, optional] LPFILETIME lpLastWriteTime
);
參數
[in] hFile
要擷取日期和時間之檔案或目錄的控制碼。 必須使用 CreateFile 函式與 GENERIC_READ 存取權限來建立控制碼。 如需詳細資訊,請參閱 檔案安全性和存取權限。
[out, optional] lpCreationTime
FILETIME結構的指標,可接收建立檔案或目錄的日期和時間。 如果應用程式不需要這項資訊,此參數可以是 Null 。
[out, optional] lpLastAccessTime
FILETIME結構的指標,可接收上次存取檔案或目錄的日期和時間。 上次存取時間包括上次寫入、讀取或執行可執行檔時寫入、讀取或目錄的時間。 如果應用程式不需要這項資訊,此參數可以是 Null 。
[out, optional] lpLastWriteTime
FILETIME結構的指標,可接收上次寫入、截斷或覆 (寫檔案或目錄的日期和時間,例如WriteFile或SetEndOfFile) 。 當檔案屬性或安全性描述項變更時,不會更新此日期和時間。 如果應用程式不需要這項資訊,此參數可以是 Null 。
傳回值
如果函式成功,則傳回非零的值。
如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
並非所有檔案系統都可以記錄建立和上次存取時間,而且並非所有檔案系統都以相同方式記錄它們。 例如,在 FAT 上,建立時間的解析度為 10 毫秒,寫入時間的解析度為 2 秒,而存取時間確實解析為 1 天 (,存取日期) 。 因此, GetFileTime 函式可能不會使用 SetFileTime 函式傳回相同的檔案時間資訊集。
NTFS 延遲上次存取後最多一小時更新檔案的上次存取時間。 NTFS 也允許停用上次存取時間的更新。 預設不會在 NTFS 磁片區上更新上次存取時間。
Windows Server 2003 和 Windows XP: 預設會在 NTFS 磁片區上更新上次存取時間。
如需詳細資訊,請參閱 檔案時間。
如果您重新命名或刪除檔案,則稍後再還原它,Windows 會在快取中搜尋要還原的檔案資訊。 快取的資訊包含其簡短/長名稱組和建立時間。
範例
如需範例,請參閱 擷取 Last-Write 時間。
需求
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | fileapi.h (包含 Windows.h) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |