Routine MRxQueryQuotaInfo
La routine MRxQueryQuotaInfo viene chiamata da RDBSS per richiedere che una quota di query mini-redirector di rete su un oggetto file system.
Sintassi
PMRX_CALLDOWN MRxQueryQuotaInfo;
NTSTATUS MRxQueryQuotaInfo(
_Inout_ PRX_CONTEXT RxContext
)
{ ... }
Parametri
RxContext [in, out]
Puntatore alla struttura RX_CONTEXT. Questo parametro contiene l'IRP che richiede l'operazione.
Valore restituito
MRxQueryQuotaInfo restituisce STATUS_SUCCESS sull'esito positivo o su un valore NTSTATUS appropriato, ad esempio uno dei seguenti:
Codice restituito | Descrizione |
---|---|
STATUS_ACCESS_DENIED | Il chiamante non ha la sicurezza appropriata per questa operazione. |
STATUS_BUFFER_OVERFLOW | Il buffer per ricevere le informazioni sulla quota era troppo piccolo. Questo valore restituito deve essere considerato riuscito e la maggior parte dei dati validi possibile deve essere restituito nel membro Info.Buffer della struttura RX_CONTEXT a cui punta il parametro RxContext . |
STATUS_BUFFER_TOO_SMALL | Il buffer è troppo piccolo per ricevere i dati richiesti. Se questo valore viene restituito, il membro InformationToReturn della struttura RX_CONTEXT puntato al parametro RxContext deve essere impostato sulla dimensione minima del buffer previsto per la chiamata. |
STATUS_CONNECTION_DISCONNECTED | La connessione è stata disconnessa. Si tratta di un codice di errore. |
STATUS_INSUFFICIENT_RESOURCES | Per completare la query sono state eseguite risorse insufficienti. Si tratta di un codice di errore. |
STATUS_INVALID_PARAMETER | È stato specificato un parametro non valido. Si tratta di un codice di errore. |
STATUS_NOT_SUPPORTED | Le quote non sono supportate. |
Commenti
RDBSS genera una chiamata a MRxQueryQuotaInfo in risposta alla ricezione di una richiesta di IRP_MJ_QUERY_QUOTA .
Prima di chiamare MRxQueryQuotaInfo, RDBSS modifica i membri seguenti nella struttura RX_CONTEXT a cui punta il parametro RxContext :
Il membro Info.Buffer è impostato sul buffer utente dal pacchetto di richiesta di I/O. Questo buffer è già stato bloccato da RDBSS se necessario.
Il membro Info.LengthRemaining è impostato su IrpSp-Parameters.QueryQuota.Length>.
Il membro QueryQuota.SidList è impostato su IrpSp-Parameters.QueryQuota.SidList>.
Il membro QueryQuota.SidListLength è impostato su IrpSp-Parameters.QueryQuota.SidListLength>.
Il membro QueryQuota.StartSid è impostato su IrpSp-Parameters.QueryQuota.StartSid>.
Il membro QueryQuota.Length è impostato su IrpSp-Parameters.QueryQuota.Length>.
Il membro QueryQuota.RestartScan è impostato su non zero se IrpSp-Flags> ha il set di bit SL_RESTART_SCAN.
Il membro QueryQuota.ReturnSingleEntry è impostato su non zero se IrpSp-Flags> ha il set di bit SL_RETURN_SINGLE_ENTRY.
Il membro QueryQuota.IndexSpecified è impostato su non zero se IrpSp-Flags> ha il set di bit SL_INDEX_SPECIFIED.
In caso di esito positivo, il mini-reindirizzamento di rete deve impostare il membro Info.LengthRemaining della struttura RX_CONTEXT sulla lunghezza delle informazioni sulla quota da restituire. Se la chiamata a MRxQueryQuotaInfo ha avuto esito positivo, RDBSS imposta il membro IoStatus.Information dell'IRP sul membro Info.LengthRemaining di RX_CONTEXT.
Se la chiamata a MRxQueryQuotaInfo ha esito positivo, il membro InformationToReturn della struttura RX_CONTEXT deve essere impostato sulla lunghezza delle informazioni sulla quota restituita. Se la chiamata non riesce, il membro InformationToReturn di RX_CONTEXT deve essere impostato su zero.
Requisiti
Piattaforma di destinazione |
Desktop |
Intestazione |
Mrx.h (include Mrx.h) |