MRxQueryQuotaInfo routine

The MRxQueryQuotaInfo routine is called by RDBSS to request that a network mini-redirector query quota information on a file system object.

Syntax

PMRX_CALLDOWN MRxQueryQuotaInfo;

NTSTATUS MRxQueryQuotaInfo(
  _Inout_ PRX_CONTEXT RxContext
)
{ ... }

Parameters

RxContext [in, out]
A pointer to the RX_CONTEXT structure. This parameter contains the IRP that is requesting the operation.

Return value

MRxQueryQuotaInfo returns STATUS_SUCCESS on success or an appropriate NTSTATUS value, such as one of the following:

Return code Description
STATUS_ACCESS_DENIED

The caller lacked the proper security for this operation.

STATUS_BUFFER_OVERFLOW

The buffer to receive the quota information was too small.

This return value should be considered success and as much valid data as possible should be returned in the Info.Buffer member of the RX_CONTEXT structure pointed to by the RxContext parameter.

STATUS_BUFFER_TOO_SMALL

The buffer is too small to receive the requested data.

If this value is returned, the InformationToReturn member of the RX_CONTEXT structure pointed to by the RxContext parameter should be set to the minimum size of the expected buffer for the call to succeed.

STATUS_CONNECTION_DISCONNECTED

The connection was disconnected. This is an error code.

STATUS_INSUFFICIENT_RESOURCES

There were insufficient resources to complete the query. This is an error code.

STATUS_INVALID_PARAMETER

An invalid parameter was specified. This is an error code.

STATUS_NOT_SUPPORTED

Quotas are not supported.

Remarks

RDBSS issues a call to MRxQueryQuotaInfo in response to receiving an IRP_MJ_QUERY_QUOTA request.

Before calling MRxQueryQuotaInfo, RDBSS modifies the following members in the RX_CONTEXT structure pointed to by the RxContext parameter:

The Info.Buffer member is set to user buffer from I/O request packet. This buffer has already been locked by RDBSS if needed.

The Info.LengthRemaining member is set to IrpSp->Parameters.QueryQuota.Length.

The QueryQuota.SidList member is set to IrpSp->Parameters.QueryQuota.SidList.

The QueryQuota.SidListLength member is set to IrpSp->Parameters.QueryQuota.SidListLength.

The QueryQuota.StartSid member is set to IrpSp->Parameters.QueryQuota.StartSid.

The QueryQuota.Length member is set to IrpSp->Parameters.QueryQuota.Length.

The QueryQuota.RestartScan member is set to nonzero if IrpSp->Flags has the SL_RESTART_SCAN bit set.

The QueryQuota.ReturnSingleEntry member is set to nonzero if IrpSp->Flags has the SL_RETURN_SINGLE_ENTRY bit set.

The QueryQuota.IndexSpecified member is set to nonzero if IrpSp->Flags has the SL_INDEX_SPECIFIED bit set.

On success, the network mini-redirector should set the Info.LengthRemaining member of the RX_CONTEXT structure to the length of the quota information to return. If the call to MRxQueryQuotaInfo was successful, RDBSS sets the IoStatus.Information member of the IRP to the Info.LengthRemaining member of RX_CONTEXT.

If the call to MRxQueryQuotaInfo is successful, the InformationToReturn member of the RX_CONTEXT structure should be set to the length of quota information returned. If the call is unsuccessful, the InformationToReturn member of RX_CONTEXT should be set to zero.

Requirements

Target platform

Desktop

Header

Mrx.h (include Mrx.h)

See also

MRxIsValidDirectory

MRxQueryDirectory

MRxQueryEaInfo

MRxQueryFileInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo