setFileTime 函式 (fileapi.h)
設定指定的檔案或目錄建立、上次存取或上次修改的日期和時間。
語法
BOOL SetFileTime(
[in] HANDLE hFile,
[in, optional] const FILETIME *lpCreationTime,
[in, optional] const FILETIME *lpLastAccessTime,
[in, optional] const FILETIME *lpLastWriteTime
);
參數
[in] hFile
檔案或目錄的控制碼。 必須使用 CreateFile 函式搭配 FILE_WRITE_ATTRIBUTES 存取權限來建立控制碼。 如需詳細資訊,請參閱 檔案安全性和存取權限。
[in, optional] lpCreationTime
FILETIME結構的指標,其中包含檔案或目錄的新建立日期和時間。 如果應用程式不需要變更這項資訊,請將此參數設定為 NULL
或指向同時設定 dwLowDateTime和dwHighDateTime成員 0
之FILETIME結構的指標。
[in, optional] lpLastAccessTime
FILETIME結構的指標,其中包含檔案或目錄的新上次存取日期和時間。 上次存取時間包括執行) 可執行檔時,上次寫入、讀取或 (檔案或目錄的時間。 如果應用程式不需要變更這項資訊,請將此參數設定為 NULL
或指向同時設定 dwLowDateTime和dwHighDateTime成員 0
之FILETIME結構的指標。
若要防止使用指定控制碼的檔案作業修改上次存取時間,請在開啟檔案控制代碼之後立即呼叫SetFileTime,並傳遞同時設定dwLowDateTime和dwHighDateTime成員 0xFFFFFFFF
的FILETIME結構。
[in, optional] lpLastWriteTime
FILETIME結構的指標,其中包含檔案或目錄的新上次修改日期和時間。 如果應用程式不需要變更這項資訊,請將此參數設定為 NULL
或指向同時設定 dwLowDateTime和dwHighDateTime成員 0
之FILETIME結構的指標。
若要防止使用指定控制碼的檔案作業修改上次寫入時間,請在開啟檔案控制代碼之後立即呼叫SetFileTime,並傳遞同時設定 0xFFFFFFFF
dwLowDateTime和dwHighDateTime成員的FILETIME結構。
傳回值
如果函式成功,則傳回非零的值。
如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
並非所有檔案系統都可以記錄建立和上次存取時間,而且並非所有檔案系統都以相同的方式記錄它們。 例如,在 FAT 上,建立時間的解析度為 10 毫秒、寫入時間解析度為 2 秒,而存取時間確實解析為 1 天 (,存取日期) 。 因此, GetFileTime 函式可能不會使用 SetFileTime傳回相同的檔案時間資訊集。 NTFS 會延遲上次存取檔案上次存取時間的更新,在上次存取之後最多一小時。
範例
如需範例,請參閱 將檔案時間變更為目前時間。
需求
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | fileapi.h (包含 Windows.h) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |