FILE_BASIC_INFORMATION結構 (wdm.h)
FILE_BASIC_INFORMATION 結構包含檔案的時間戳和基本屬性。 它會作為查詢或設定檔案資訊的例程自變數。
typedef struct _FILE_BASIC_INFORMATION {
LARGE_INTEGER CreationTime;
LARGE_INTEGER LastAccessTime;
LARGE_INTEGER LastWriteTime;
LARGE_INTEGER ChangeTime;
ULONG FileAttributes;
} FILE_BASIC_INFORMATION, *PFILE_BASIC_INFORMATION;
CreationTime
指定檔案建立的時間。
LastAccessTime
指定上次存取檔案的時間。
LastWriteTime
指定上次寫入檔案的時間。
ChangeTime
指定上次變更檔案的時間。
FileAttributes
指定一或多個 FILE_ATTRIBUTE_XXX 旗標。 如需這些旗標的描述,請參閱 Microsoft Windows SDK 中的 檔案屬性常數。
無法設定或傳回FILE_ATTRIBUTE_NORMAL旗標與其他任何屬性。 所有其他 FileAttributes 值都會覆寫此屬性。
CreationTime、LastAccessTime、LastWriteTime和 ChangeTime 的時間值會以絕對系統時間格式表示。 絕對系統時間是公曆 1601 年初以來的 100 奈秒間隔數目。
如果您為 FILE_BASIC_INFORMATION 結構的任何 XxxTime 成員指定零的值 ,則 ZwSetInformationFile 函式會保留該時間的檔案目前設定。
文件系統會更新 LastAccessTime、LastWriteTime的值,並在檔案上執行 I/O 作業之後,視需要 ChangeTime 成員。 驅動程式或應用程式可以藉由將適當的成員設定為 -1,要求檔案系統不會更新在呼叫端的檔案句柄上執行的 I/O 作業的其中一或多個成員。 呼叫端可以將這三個成員的其中一個、全部或任何其他組合設定為 -1。 只有設定為 -1 的成員不會受到檔句柄上的 I/O 作業影響;其他成員將會視需要更新。 在NTFS和ReFS系統上,將適當的成員設定為 -2,即可還原檔句柄上的時間戳更新。
若要設定這個結構的成員,呼叫端必須具有檔案FILE_WRITE_ATTRIBUTES存取權。
要求 | 價值 |
---|---|
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |