2.2.7.5.1 Client Request
The NT_TRANSACT_QUERY_QUOTA request is a special case of the SMB_COM_NT_TRANSACT command request. Only the NT_TRANSACT_QUERY_QUOTA specifics are described here.
At least one of NT_Trans_Parameters.SidListLength or NT_Trans_Parameters.StartSidLength MUST be zero. If both are zero, then the quota information for all SIDs, as specified in [MS-DTYP] section 2.4.2, on the underlying object store of a share MUST be enumerated by the server.
SMB_Parameters
-
WordCount (1 byte): The value of this field MUST be 0x13.
-
Words (38 bytes): As specified in [MS-CIFS] section 2.2.4.62.1 and with the following exceptions:
-
SetupCount (1 bytes): This field MUST be 0x00.
-
NT_Trans_Parameters:
-
NT_Trans_Parameters { USHORT FID; BOOLEAN ReturnSingleEntry; BOOLEAN RestartScan; ULONG SidListLength; ULONG StartSidLength; ULONG StartSidOffset; }
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FID |
ReturnSingleEntry |
RestartScan |
|||||||||||||||||||||||||||||
SidListLength |
|||||||||||||||||||||||||||||||
StartSidLength |
|||||||||||||||||||||||||||||||
StartSidOffset |
FID (2 bytes): An Fid to a file or directory. The quota information of the object store underlying the file or directory MUST be queried.
ReturnSingleEntry (1 byte): If TRUE (any non-zero value), then this field indicates that the server behavior is to be restricted to only return a single SID's quota information instead of filling the entire buffer.
RestartScan (1 byte): If TRUE (any non-zero value), then this field indicates that the scan of quota information is to be restarted.
SidListLength (4 bytes): If non-zero, then this field indicates that the client is requesting quota information of a particular set of SIDs and MUST represent the length of the NT_Trans_Data.SidList field.
StartSidLength (4 bytes): If non-zero, then this field indicates that the SidList field contains a start SID (that is, a single SID entry indicating to the server where to start user quota information enumeration) and MUST represent the length, in bytes, of that SidList entry.
StartSidOffset (4 bytes): If StartSidLength is non-zero, then this field MUST represent the offset from the start of the NT_Trans_Data to the specific SidList entry at which to begin user quota information enumeration. Otherwise, this field SHOULD be set to zero and MUST be ignored by the server.
NT_Trans_Data:
-
NT_Trans_Data { FILE_GET_QUOTA_INFORMATION SidList[] (optional); }
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SidList (variable) |
|||||||||||||||||||||||||||||||
... |
SidList (variable): A list of one or more SIDs that are formatted as a FILE_GET_QUOTA_INFORMATION structure, as specified in [MS-FSCC] section 2.4.40.1. If SidListLength is non-zero, then this field MUST contain a list of one or more SIDs for which quota information is being requested. If StartSidLength is non-zero, then this field MUST contain a start SID. If both SidListLength and StartSidLength are zero, then this field MUST NOT be included in the request.