FILE_FS_CONTROL_INFORMATION 結構 (ntifs.h)
FILE_FS_CONTROL_INFORMATION 結構可用來查詢或設定目錄中檔案的控制資訊。
語法
typedef struct _FILE_FS_CONTROL_INFORMATION {
LARGE_INTEGER FreeSpaceStartFiltering;
LARGE_INTEGER FreeSpaceThreshold;
LARGE_INTEGER FreeSpaceStopFiltering;
LARGE_INTEGER DefaultQuotaThreshold;
LARGE_INTEGER DefaultQuotaLimit;
ULONG FileSystemControlFlags;
} FILE_FS_CONTROL_INFORMATION, *PFILE_FS_CONTROL_INFORMATION;
成員
FreeSpaceStartFiltering
內容索引精靈開始文件篩選所需的可用磁碟空間量下限,以位元組為單位。
FreeSpaceThreshold
索引服務需要最少的可用磁碟空間,以位元組為單位,才能繼續篩選檔和合併字組清單。 如果可用磁碟空間量低於此閾值,則會將警告訊息寫入 Microsoft Windows 應用程式事件記錄檔。 篩選和合併會停止,直到釋放空間為止。
FreeSpaceStopFiltering
內容索引精靈需要最少的可用磁碟空間,以位元組為單位,才能繼續文件篩選。 如果可用磁碟空間量低於此閾值,文件篩選就會停止。
DefaultQuotaThreshold
磁碟區的預設每個使用者磁碟配額警告閾值。
DefaultQuotaLimit
磁碟區的預設每個使用者磁碟配額限制。
FileSystemControlFlags
旗標的位掩碼,可控制磁碟區上使用者相關配額事件的配額強制執行和記錄。 記錄會在 Windows 應用程式事件記錄檔中建立專案。 下列一或多個相容組合:
檔系統控制件旗標 | 意義 |
---|---|
FILE_VC_CONTENT_INDEX_DISABLED | 如果設定,則會停用內容索引。 |
FILE_VC_LOG_QUOTA_LIMIT | 如果設定,當用戶超過其指派的磁碟配額限制時,就會建立事件記錄檔專案。 |
FILE_VC_LOG_QUOTA_THRESHOLD | 如果設定,當用戶超過其指派的配額警告閾值時,將會建立事件記錄檔專案。 |
FILE_VC_LOG_VOLUME_LIMIT | 如果設定,則會在超過磁碟區的可用空間限制時建立事件記錄檔專案。 |
FILE_VC_LOG_VOLUME_THRESHOLD | 如果設定,則會在超過磁碟區的可用空間閾值時建立事件記錄檔專案。 |
FILE_VC_QUOTA_ENFORCE | 如果設定,則會在磁碟區上強制執行配額。 |
FILE_VC_QUOTA_TRACK | 如果設定,則會在磁碟區上追蹤配額。 |
FILE_VC_QUOTAS_INCOMPLETE | 如果設定,磁碟區的配額資訊不完整。 |
FILE_VC_QUOTAS_REBUILDING | 如果設定,文件系統正在重建磁碟區的配額資訊。 |
此外,還會定義下列旗標遮罩。 這些適用於測試旗標值。
Mask | 值 |
---|---|
FILE_VC_QUOTA_MASK | FILE_VC_QUOTA_ENFORCE |FILE_VC_QUOTA_TRACK |
FILE_VC_QUOTA_NONE | ~FILE_VC_QUOTA_ENFORCE & ~FILE_VC_QUOTA_TRACK |
FILE_VC_VALID_MASK | 上表中所有旗標的 ORed 組合。 |
備註
您可以使用下列任一種方式來查詢此資訊:
呼叫 FltQueryVolumeInformation 或 ZwQueryVolumeInformationFile、傳遞 FileFsControlInformation 做為 FileInformationClass 的值,並傳遞呼叫端配置、FILE_FS_CONTROL_INFORMATION結構化緩衝區做為 FileInformation 的值。
建立具有主要函式程序代碼的 IRP IRP_MJ_QUERY_VOLUME_INFORMATION。
需要FILE_READ_DATA存取磁碟區,才能查詢這項資訊。
這項資訊可以透過下列其中一種方式來設定:
- 呼叫 FltSetVolumeInformation 或 ZwSetVolumeInformationFile、傳遞 FileFsControlInformation 做為 FileInformationClass 的值,並傳遞呼叫端配置的呼叫端配置、FILE_FS_CONTROL_INFORMATION結構化緩衝區做為 FileInformation 的值。
- 建立具有主要函式程序代碼的 IRP IRP_MJ_SET_VOLUME_INFORMATION。
需要FILE_WRITE_DATA存取磁碟區才能設定這項資訊。
在 FileInformation 參數中傳遞至 FltQueryVolumeInformation、FltSetVolumeInformation、ZwQueryVolumeInformationFile 或 ZwSetVolumeInformationFile 的緩衝區大小必須至少為 (FILE_FS_CONTROL_INFORMATION) 。
此結構必須對齊 LONGLONG (8 位元組) 界限。
規格需求
需求 | 值 |
---|---|
標頭 | ntifs.h (包括 Ntifs.h、Fltkernel.h) |