FILE_FS_CONTROL_INFORMATION structure (ntifs.h)
The FILE_FS_CONTROL_INFORMATION structure is used to query or set control information for the files in a directory.
Syntax
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;
Members
FreeSpaceStartFiltering
Minimum amount of free disk space, in bytes, that is required for the Content-Indexing daemon to begin document filtering.
FreeSpaceThreshold
Minimum amount of free disk space, in bytes, required for the Indexing Service to continue to filter documents and merge word lists. If the amount of free disk space falls below this threshold, a warning message is written to the Microsoft Windows application event log. Filtering and merging are halted until space is freed.
FreeSpaceStopFiltering
Minimum amount of free disk space, in bytes, that is required for the Content-Indexing daemon to continue document filtering. If the amount of free disk space falls below this threshold, document filtering is halted.
DefaultQuotaThreshold
Default per-user disk quota warning threshold for the volume.
DefaultQuotaLimit
Default per-user disk quota limit for the volume.
FileSystemControlFlags
Bitmask of flags that control quota enforcement and logging of user-related quota events on the volume. Logging makes an entry in the Windows application event log. Compatible combination of one or more of the following:
File System Control Flag | Meaning |
---|---|
FILE_VC_CONTENT_INDEX_DISABLED | If set, content indexing is disabled. |
FILE_VC_LOG_QUOTA_LIMIT | If set, an event log entry will be created when the user exceeds his or her assigned disk quota limit. |
FILE_VC_LOG_QUOTA_THRESHOLD | If set, an event log entry will be created when the user exceeds his or her assigned quota warning threshold. |
FILE_VC_LOG_VOLUME_LIMIT | If set, an event log entry will be created when the volume's free space limit is exceeded. |
FILE_VC_LOG_VOLUME_THRESHOLD | If set, an event log entry will be created when the volume's free space threshold is exceeded. |
FILE_VC_QUOTA_ENFORCE | If set, quotas are enforced on the volume. |
FILE_VC_QUOTA_TRACK | If set, quotas are tracked on the volume. |
FILE_VC_QUOTAS_INCOMPLETE | If set, the quota information for the volume is incomplete. |
FILE_VC_QUOTAS_REBUILDING | If set, the file system is rebuilding the quota information for the volume. |
In addition, the following flag masks are defined. These are useful for testing flag values.
Mask | Value |
---|---|
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 combination of all flags in the above table. |
Remarks
This information can be queried in either of the following ways:
Call FltQueryVolumeInformation or ZwQueryVolumeInformationFile, passing FileFsControlInformation as the value of FileInformationClass and passing a caller-allocated, FILE_FS_CONTROL_INFORMATION-structured buffer as the value of FileInformation.
Create an IRP with major function code IRP_MJ_QUERY_VOLUME_INFORMATION.
FILE_READ_DATA access to the volume is required to query this information.
This information can be set in either of the following ways:
- Call FltSetVolumeInformation or ZwSetVolumeInformationFile, passing FileFsControlInformation as the value of FileInformationClass and passing a caller-allocated, FILE_FS_CONTROL_INFORMATION-structured buffer as the value of FileInformation.
- Create an IRP with major function code IRP_MJ_SET_VOLUME_INFORMATION.
FILE_WRITE_DATA access to the volume is required to set this information.
The size of the buffer passed in the FileInformation parameter to FltQueryVolumeInformation, FltSetVolumeInformation, ZwQueryVolumeInformationFile, or ZwSetVolumeInformationFile must be at least sizeof (FILE_FS_CONTROL_INFORMATION).
This structure must be aligned on a LONGLONG (8-byte) boundary.
Requirements
Requirement | Value |
---|---|
Header | ntifs.h (include Ntifs.h, Fltkernel.h) |