2.5.2 FileFsControlInformation

This information class is used to query or set quota and content indexing control information for a file system volume.

Setting quota information requires the caller to have permission to open a volume handle or a handle to the quota index file<145> for write access.

A FILE_FS_CONTROL_INFORMATION data element, defined as follows, is returned by the server or provided by the client.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

FreeSpaceStartFiltering

...

FreeSpaceThreshold

...

FreeSpaceStopFiltering

...

DefaultQuotaThreshold

...

DefaultQuotaLimit

...

FileSystemControlFlags

Padding

FreeSpaceStartFiltering (8 bytes): A 64-bit signed integer that contains the minimum amount of free disk space, in bytes, that is required for the operating system's content indexing service to begin document filtering. This value SHOULD be set to 0 and MUST be ignored.

FreeSpaceThreshold (8 bytes): A 64-bit signed integer that contains the minimum amount of free disk space, in bytes, that is required for the indexing service to continue to filter documents and merge word lists. This value SHOULD be set to 0 and MUST be ignored.

FreeSpaceStopFiltering (8 bytes): A 64-bit signed integer that contains the minimum amount of free disk space, in bytes, that is required for the content indexing service to continue filtering. This value SHOULD be set to 0, and MUST be ignored.

DefaultQuotaThreshold (8 bytes): A 64-bit unsigned integer that contains the default per-user disk quota warning threshold, in bytes, for the volume. A value of 0xFFFFFFFFFFFFFFFF specifies that no default quota warning threshold per user is set.

DefaultQuotaLimit (8 bytes): A 64-bit unsigned integer that contains the default per-user disk quota limit, in bytes, for the volume. A value of 0xFFFFFFFFFFFFFFFF specifies that no default quota limit per user is set.

FileSystemControlFlags (4 bytes): A 32-bit unsigned integer that contains a bitmask of flags that control quota enforcement and logging of user-related quota events on the volume. The following bit flags are valid in any combination. Bits not defined in the following table SHOULD be set to 0, and MUST be ignored.<146>

Value

Meaning

FILE_VC_CONTENT_INDEX_DISABLED

0x00000008

Content indexing is disabled.

FILE_VC_LOG_QUOTA_LIMIT

0x00000020

An event log entry will be created when the user exceeds the assigned disk quota limit.

FILE_VC_LOG_QUOTA_THRESHOLD

0x00000010

An event log entry will be created when the user exceeds his or her assigned quota warning threshold.

FILE_VC_LOG_VOLUME_LIMIT

0x00000080

An event log entry will be created when the volume's free space limit is exceeded.

FILE_VC_LOG_VOLUME_THRESHOLD

0x00000040

An event log entry will be created when the volume's free space threshold is exceeded.

FILE_VC_QUOTA_ENFORCE

0x00000002

Quotas are tracked and enforced on the volume.

Note: FILE_VC_QUOTA_TRACK takes precedence over this flag. In other words, if both FILE_VC_QUOTA_TRACK and FILE_VC_QUOTA_ENFORCE are set, the FILE_VC_QUOTA_ENFORCE flag is ignored. This flag will be ignored if a client attempts to set it.

FILE_VC_QUOTA_TRACK

0x00000001

Quotas are tracked on the volume, but they are not enforced. Tracked quotas enable reporting on the file system space used by system users. If both this flag and FILE_VC_QUOTA_ENFORCE are specified, FILE_VC_QUOTA_ENFORCE is ignored.

Note: This flag takes precedence over FILE_VC_QUOTA_ENFORCE. In other words, if both FILE_VC_QUOTA_TRACK and FILE_VC_QUOTA_ENFORCE are set, the FILE_VC_QUOTA_ENFORCE flag is ignored. This flag will be ignored if a client attempts to set it.

FILE_VC_QUOTAS_INCOMPLETE

0x00000100

The quota information for the volume is incomplete because it is corrupt, or the system is in the process of rebuilding the quota information.

Note: This does not necessarily imply that FILE_VC_QUOTAS_REBUILDING is set. This flag will be ignored if a client attempts to set it.

FILE_VC_QUOTAS_REBUILDING

0x00000200

The file system is rebuilding the quota information for the volume.

Note: This does not necessarily imply that FILE_VC_QUOTAS_INCOMPLETE is set. This flag will be ignored if a client attempts to set it.

Padding (4 bytes): This field SHOULD be set to 0x00000000 and MUST be ignored.

This operation returns a status code as specified in section 2.2. Upon success, the status code returned by the function that processes this file system information class is STATUS_SUCCESS. The most common error codes are listed in the following table.

Error code

Meaning

STATUS_INFO_LENGTH_MISMATCH

0xC0000004

The specified information record length does not match the length that is required for the specified information class.

STATUS_VOLUME_NOT_UPGRADED

0xC000029C

The file system on the volume does not support quotas.