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結構的指標,可接收上次寫入、截斷或覆 (寫檔案或目錄的日期和時間,例如WriteFileSetEndOfFile) 。 當檔案屬性或安全性描述項變更時,不會更新此日期和時間。 如果應用程式不需要這項資訊,此參數可以是 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

另請參閱

FILETIME

檔案時間

GetFileSize

GetFileType

SetFileTime

時間函式