檔案屬性常數
檔案屬性是檔案系統儲存在磁片上的中繼資料值,由系統使用,並可透過各種檔案 I/O API 提供給開發人員使用。 如需相關 API 和主題的清單,請參閱 另請參閱一 節。
範例
FILE_BASIC_INFO basicInfo;
BOOL result;
result = GetFileInformationByHandleEx( hFile,
FileBasicInfo,
&basicInfo,
sizeof(basicInfo));
\\...
printf(" File Attributes: ");
PrintFileAttributes(basicInfo.FileAttributes);
\\...
VOID
PrintFileAttributes(
ULONG FileAttributes
)
{
if (FileAttributes & FILE_ATTRIBUTE_ARCHIVE) {
printf("Archive ");
}
if (FileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
printf("Directory ");
}
if (FileAttributes & FILE_ATTRIBUTE_READONLY) {
printf("Read-Only ");
}
}
從 GitHub 上的 Windows 傳統範例取得的範例 。
常數/值 | 描述 |
---|---|
|
唯讀的檔案。 應用程式可以讀取檔案,但無法寫入或刪除檔案。 目錄上不接受這個屬性。 如需詳細資訊,請參閱 您無法在 Windows Server 2003、Windows XP、Windows Vista 或 Windows 7 中檢視或變更資料夾的唯讀或系統屬性。 |
|
檔案或目錄已隱藏。 它不包含在一般目錄清單中。 |
|
作業系統使用的一部分或獨佔使用的檔案或目錄。 |
|
識別目錄的控制碼。 |
|
封存檔案或目錄的檔案或目錄。 應用程式通常會使用此屬性來標記要備份或移除的檔案。 |
|
此值保留給系統使用。 |
|
未設定其他屬性的檔案。 此屬性只有在單獨使用時才有效。 |
|
用於暫存檔的檔案。 如果有足夠的快取記憶體可用,檔案系統可避免將資料寫回大量儲存體,因為應用程式通常會在關閉控制碼之後刪除暫存檔案。 在該案例中,系統完全可以避免寫入資料。 否則,會在關閉控制碼之後寫入資料。 |
|
屬於疏鬆檔案的檔案。 |
|
具有相關聯重新分析點的檔案或目錄,或是符號連結的檔案。 |
|
壓縮的檔案或目錄。 對於檔案,檔案中的所有資料都會壓縮。 針對目錄,壓縮是新建立檔案和子目錄的預設值。 |
|
檔案的資料無法立即使用。 這個屬性工作表示檔案資料實際上會移至離線儲存體。 遠端儲存體會使用此屬性,這是階層式儲存體管理軟體。 應用程式不應該任意變更此屬性。 |
|
檔案或目錄不會由內容索引服務編制索引。 |
|
加密的檔案或目錄。 對於檔案,檔案中的所有資料流程都會加密。 對於目錄,加密是新建立的檔案和子目錄的預設值。 |
|
目錄或使用者資料流程設定為完整性 (僅支援 ReFS 磁片區) 。 它不包含在一般目錄清單中。 如果檔案已重新命名,完整性設定會與檔案一起保存。 如果複製檔案,如果來源檔案或目的地目錄已設定完整性,則目的地檔案將會設定完整性。 Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP:除非Windows Server 2012,否則不支援此旗標。 |
|
此值保留給系統使用。 |
|
背景資料完整性掃描器不會讀取使用者資料流程, (也稱為清除器) 。 在目錄上設定時,它只會提供繼承。 只有 儲存空間 和 ReFS 磁片區才支援此旗標。 它不包含在一般目錄清單中。 Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP:除非Windows 8 和 Windows Server 2012,否則不支援此旗標。 |
|
具有擴充屬性的檔案或目錄。 重要: 這個常數僅供內部使用。 |
|
這個屬性工作表示即使未主動存取,檔案或目錄也應該在本機完整存在。 這個屬性可用於階層式儲存體管理軟體。 |
|
這個屬性工作表示除非主動存取,否則檔案或目錄不應該在本機完全存在。 這個屬性可用於階層式儲存體管理軟體。 |
|
此屬性只會出現在目錄列舉類別 (FILE_DIRECTORY_INFORMATION、FILE_BOTH_DIR_INFORMATION等) 中。 設定此屬性時,表示檔案或目錄在本機系統上沒有實體表示;專案為虛擬。 開啟專案的成本會比平常高,例如,至少會導致從遠端存放區擷取其中一些專案。 |
|
設定此屬性時,表示檔案或目錄未完全存在於本機。 對於表示並非所有資料都位於本機儲存體 (的檔案,例如,某些資料可能仍在遠端儲存體) 。 對於目錄,這表示某些目錄內容會從另一個位置虛擬化。 讀取檔案/列舉目錄的成本會比平常高,例如,它至少會導致從遠端存放區擷取部分檔案/目錄內容。 只有核心模式呼叫端可以設定這個位。 檔案系統迷你篩選器低於 180000 – 189999高度範圍 (FSFilter HSM 載入順序群組) 不得發出已設定此屬性之檔案的目標快取讀取或寫入。 這可能會導致快取損壞和潛在的檔案損毀。 如需詳細資訊,請參閱 處理預留位置。 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
標頭 | WinNT.h (包含 Windows.h) |