共用方式為


FILE_FS_ATTRIBUTE_INFORMATION結構 (ntifs.h)

FILE_FS_ATTRIBUTE_INFORMATION 結構可用來查詢檔系統的屬性資訊。

語法

typedef struct _FILE_FS_ATTRIBUTE_INFORMATION {
  ULONG FileSystemAttributes;
  LONG  MaximumComponentNameLength;
  ULONG FileSystemNameLength;
  WCHAR FileSystemName[1];
} FILE_FS_ATTRIBUTE_INFORMATION, *PFILE_FS_ATTRIBUTE_INFORMATION;

成員

FileSystemAttributes

旗標的位掩碼會指定指定文件系統的屬性,做為下列旗標的兼容組合。

價值 意義
FILE_CASE_SENSITIVE_SEARCH (0x00000001) 檔案系統支援區分大小寫的檔名。
FILE_CASE_PRESERVED_NAMES (0x00000002) 檔系統會在將名稱放在磁碟上時保留檔名的案例。
FILE_UNICODE_ON_DISK (0x00000004) 檔系統支援檔名中 Unicode
FILE_PERSISTENT_ACLS (0x00000008) 檔案系統會保留並強制執行訪問控制清單(ACL)。
FILE_FILE_COMPRESSION (0x00000010) 檔系統支援以檔案為基礎的壓縮。 此旗標與 FILE_VOLUME_IS_COMPRESSED 旗標不相容。 此旗標不會影響透過網路傳輸數據的方式。
FILE_VOLUME_QUOTAS(0x00000020) 檔案系統支援每個使用者配額。
FILE_SUPPORTS_SPARSE_FILES (0x00000040) 檔系統支援疏鬆檔案。
FILE_SUPPORTS_REPARSE_POINTS (0x00000080) 檔案系統支援重新剖析點。
FILE_SUPPORTS_REMOTE_STORAGE (0x00000100) 檔案系統支援遠端記憶體。
FILE_RETURNS_CLEANUP_RESULT_INFO (0x00000200) 在成功的清除作業上,文件系統會傳回資訊,描述清除期間所採取的其他動作,例如刪除檔案。 檔系統篩選器可以在其清除後回呼中檢查這項資訊。
FILE_SUPPORTS_POSIX_UNLINK_RENAME (0x00000400) 檔案系統支援 POSIX 樣式的刪除和重新命名作業。
FILE_VOLUME_IS_COMPRESSED (0x00008000) 指定的磁碟區是壓縮的磁碟區。 此旗標與 FILE_FILE_COMPRESSION 旗標不相容。 這不會影響透過網路傳輸數據的方式。
FILE_SUPPORTS_OBJECT_IDS (0x00010000) 檔系統支援物件識別碼。
FILE_SUPPORTS_ENCRYPTION (0x00020000) 檔案系統支援加密。
FILE_NAMED_STREAMS (0x00040000) 檔系統支援檔案的具名 數據流
FILE_READ_ONLY_VOLUME (0x00080000) 指定的磁碟區是唯讀的。
FILE_SEQUENTIAL_WRITE_ONCE (0x00100000) 指定的磁碟區只能寫入一次。 寫入必須依序執行。
FILE_SUPPORTS_TRANSACTIONS (0x00200000) 檔系統支援 事務處理
FILE_SUPPORTS_HARD_LINKS (0x00400000) 檔系統支援直接連結至其他裝置和分割區。
FILE_SUPPORTS_EXTENDED_ATTRIBUTES(0x00800000) 檔系統支援擴充屬性 (EAS)。
FILE_SUPPORTS_OPEN_BY_FILE_ID (0x01000000) 檔系統支援依檔案標識碼開啟。
FILE_SUPPORTS_USN_JOURNAL (0x02000000) 檔案系統支援更新序號 (USN) 紀錄。
FILE_SUPPORTS_INTEGRITY_STREAMS (0x04000000) 檔系統支援完整性數據流。
FILE_SUPPORTS_BLOCK_REFCOUNTING (0x08000000) 檔系統支援 區塊複製,也就是在相同磁碟區上的檔案之間共用邏輯叢集。 檔系統會重新配置寫入至共用叢集。
FILE_SUPPORTS_SPARSE_VDL (0x10000000) 檔案系統會追蹤檔案的每個叢集是否包含有效的數據(無論是從明確的檔案寫入或自動零),還是無效的數據(尚未寫入或零)。 使用疏鬆有效數據長度的文件系統不會儲存有效的數據長度,也不需要在檔案中連續有效數據。
FILE_DAX_VOLUME (0x20000000) 指定的磁碟區是直接存取 (DAX) 磁碟區。
FILE_SUPPORTS_GHOSTING (0x40000000) 檔案系統支援准刪除。

MaximumComponentNameLength

指定檔案系統支援的檔名元件長度上限,以字元為單位。 檔名元件是路徑分隔符之間的檔名部分(例如反斜杠)。

FileSystemNameLength

檔案系統名稱的長度,以位元組為單位。 此欄位的值必須大於零。

FileSystemName[1]

包含檔案系統名稱的可變長度 Unicode 欄位。 此欄位不是以 Null 結尾,而且必須以 FileSystemNameLength 個字節的序列來處理。

言論

這項資訊可透過下列其中一種方式進行查詢:

查詢此資訊不需要任何特定的訪問許可權。 因此,只要磁碟區是透過磁碟區本身的開啟句柄存取磁碟區,或是磁碟區上的檔案或目錄,即可取得這項資訊。

傳入 FileInformation 參數的緩衝區大小,FltQueryVolumeInformationZwQueryVolumeInformationFile 至少必須是 sizeof(FILE_FS_ATTRIBUTE_INFORMATION)。 由於無法假設文件系統名稱長度上限(實際上,限制為 2^31 個字元點),因此,一旦已知 fileSystemNameLength 需要對其中一個例程的第二次呼叫。

此結構必須對齊 LONG (4 位元組) 界限。

要求

要求 價值
標頭 ntifs.h (include Ntifs.h, Fltkernel.h)

另請參閱

ACL

FltQueryVolumeInformation

IRP_MJ_QUERY_VOLUME_INFORMATION

ZwQueryVolumeInformationFile