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 | 如果已设置,则文件系统正在重新生成卷的配额信息。 |
此外,还定义了以下标志掩码。 这些值可用于测试标志值。
面具 | 价值 |
---|---|
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 ,将 FileFsControlInformation 作为 fileInformation ClassZwQueryVolumeInformationFile 的值传递,并将调用方分配的FILE_FS_CONTROL_INFORMATION结构化缓冲区作为 FileInformation 的值传递。使用主要函数代码IRP_MJ_QUERY_VOLUME_INFORMATION创建 IRP。
查询此信息需要FILE_READ_DATA访问卷。
可以通过以下任一方式设置此信息:
或FltSetVolumeInformation ,将 FileFsControlInformation 作为 fileInformation ClassZwSetVolumeInformationFile 的值传递,并将调用方分配的、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) |