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<157> for write access.
A FILE_FS_CONTROL_INFORMATION data element, defined as follows, is returned by the server or provided by the client.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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.<158>
-
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. |