MRxQueryQuotaInfo 例程
RDBSS 會呼叫 MRxQueryQuotaInfo 例程,要求文件系統物件上的網路迷你重新導向器查詢配額資訊。
語法
PMRX_CALLDOWN MRxQueryQuotaInfo;
NTSTATUS MRxQueryQuotaInfo(
_Inout_ PRX_CONTEXT RxContext
)
{ ... }
參數
RxContext [in, out]
RX_CONTEXT 結構的指標。 此參數包含要求作業的 IRP。
傳回值
MRxQueryQuotaInfo 會在成功或適當的 NTSTATUS 值上傳回STATUS_SUCCESS,例如下列其中一項:
傳回碼 | Description |
---|---|
STATUS_ACCESS_DENIED | 呼叫端缺少此作業的適當安全性。 |
STATUS_BUFFER_OVERFLOW | 接收配額信息的緩衝區太小。 這個傳回值應該視為成功,而且應該盡可能在 RxContext 參數所指向之RX_CONTEXT結構的 Info.Buffer 成員中傳回有效的數據。 |
STATUS_BUFFER_TOO_SMALL | 緩衝區太小,無法接收要求的數據。 如果傳回這個值,則 RxContext 參數所指向之RX_CONTEXT結構的 InformationToReturn 成員應該設定為預期的緩衝區大小下限,讓呼叫成功。 |
STATUS_CONNECTION_DISCONNECTED | 線上已中斷連線。 這是錯誤碼。 |
STATUS_INSUFFICIENT_RESOURCES | 資源不足,無法完成查詢。 這是錯誤碼。 |
STATUS_INVALID_PARAMETER | 指定了無效的參數。 這是錯誤碼。 |
STATUS_NOT_SUPPORTED | 不支援配額。 |
備註
RDBSS 發出 MRxQueryQuotaInfo 的呼叫,以回應接收 IRP_MJ_QUERY_QUOTA 要求。
呼叫 MRxQueryQuotaInfo 之前,RDBSS 會修改 RxContext 參數所指向之RX_CONTEXT結構中的下列成員:
Info.Buffer 成員會設定為來自 I/O 要求封包的用戶緩衝區。 如有需要,RDBSS 已鎖定此緩衝區。
Info.LengthRemaining 成員設定為 IrpSp-Parameters.QueryQuota.Length>。
QueryQuota.SidList 成員設定為 IrpSp-Parameters.QueryQuota.SidList>。
QueryQuota.SidListLength 成員設定為 IrpSp-Parameters.QueryQuota.SidListLength>。
QueryQuota.StartSid 成員設定為 IrpSp-Parameters.QueryQuota.StartSid>。
QueryQuota.Length 成員設定為 IrpSp-Parameters.QueryQuota.Length>。
如果 IrpSp-Flags> 已設定SL_RESTART_SCAN位,則 QueryQuota.RestartScan 成員會設定為非零。
如果 IrpSp-Flags> 已設定SL_RETURN_SINGLE_ENTRY位,QueryQuota.ReturnSingleEntry 成員會設定為非零。
如果 IrpSp-Flags> 已設定SL_INDEX_SPECIFIED位,QueryQuota.IndexSpecified 成員就會設定為非零。
成功時,網路迷你重新導向器應該將RX_CONTEXT結構的 Info.LengthRemaining 成員設定為要傳回的配額資訊長度。 如果呼叫 MRxQueryQuotaInfo 成功,RDBSS 會將 IRP 的 IoStatus.Information 成員設定為 RX_CONTEXT 的 Info.LengthRemaining 成員。
如果呼叫 MRxQueryQuotaInfo 成功,RX_CONTEXT 結構的 InformationToReturn 成員應該設定為傳回的配額資訊長度。 如果呼叫失敗,則RX_CONTEXT的 InformationToReturn 成員應設定為零。
規格需求
目標平台 |
桌面 |
標頭 |
Mrx.h (包含 Mrx.h) |