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)

Vedi anche

MRxIsValidDirectory

MRxQueryDirectory

MRxQueryEaInfo

MRxQueryFileInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo