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 组合。

言论

可通过以下任一方式查询此信息:

  • 调用 FltQueryVolumeInformationZwQueryVolumeInformationFile,将 FileFsControlInformation 作为 fileInformation Class 的值传递,并将调用方分配的FILE_FS_CONTROL_INFORMATION结构化缓冲区作为 FileInformation的值传递。

  • 使用主要函数代码IRP_MJ_QUERY_VOLUME_INFORMATION创建 IRP。

查询此信息需要FILE_READ_DATA访问卷。

可以通过以下任一方式设置此信息:

  • FltSetVolumeInformationZwSetVolumeInformationFile,将 FileFsControlInformation 作为 fileInformation Class 的值传递,并将调用方分配的、FILE_FS_CONTROL_INFORMATION结构化缓冲区作为 fileInformation的值传递。
  • 使用主要函数代码创建 IRP IRP_MJ_SET_VOLUME_INFORMATION。

FILE_WRITE_DATA访问卷需要设置此信息。

FileInformation 参数中传递给 FltQueryVolumeInformation的缓冲区的大小,FltSetVolumeInformationZwQueryVolumeInformationFile,或 ZwSetVolumeInformationFile 必须至少 大小(FILE_FS_CONTROL_INFORMATION)。

此结构必须在 LONGLONG(8 字节)边界上对齐。

要求

要求 价值
标头 ntifs.h(包括 Ntifs.h、Fltkernel.h)

另请参阅

FltQueryVolumeInformation

FltSetVolumeInformation

IRP_MJ_QUERY_VOLUME_INFORMATION

IRP_MJ_SET_VOLUME_INFORMATION

ZwQueryVolumeInformationFile

ZwSetVolumeInformationFile