Rutina MRxQueryQuotaInfo
RDBSS llama a la rutina MRxQueryQuotaInfo para solicitar que una minidirectora de red consulte la información de cuota en un objeto del sistema de archivos.
Sintaxis
PMRX_CALLDOWN MRxQueryQuotaInfo;
NTSTATUS MRxQueryQuotaInfo(
_Inout_ PRX_CONTEXT RxContext
)
{ ... }
Parámetros
RxContext [in, out]
Puntero a la estructura RX_CONTEXT. Este parámetro contiene el IRP que solicita la operación.
Valor devuelto
MRxQueryQuotaInfo devuelve STATUS_SUCCESS correcto o un valor NTSTATUS adecuado, como uno de los siguientes:
Código devuelto | Descripción |
---|---|
STATUS_ACCESS_DENIED | El autor de la llamada no tiene la seguridad adecuada para esta operación. |
STATUS_BUFFER_OVERFLOW | El búfer para recibir la información de cuota era demasiado pequeño. Este valor devuelto debe considerarse correcto y se deben devolver tantos datos válidos como sea posible en el miembro Info.Buffer de la estructura RX_CONTEXT a la que apunta el parámetro RxContext . |
STATUS_BUFFER_TOO_SMALL | El búfer es demasiado pequeño para recibir los datos solicitados. Si se devuelve este valor, el miembro InformationToReturn de la estructura RX_CONTEXT a la que apunta el parámetro RxContext debe establecerse en el tamaño mínimo del búfer esperado para que la llamada se realice correctamente. |
STATUS_CONNECTION_DISCONNECTED | La conexión se desconecta. Se trata de un código de error. |
STATUS_INSUFFICIENT_RESOURCES | No había recursos suficientes para completar la consulta. Se trata de un código de error. |
STATUS_INVALID_PARAMETER | Se especificó un parámetro no válido. Se trata de un código de error. |
STATUS_NOT_SUPPORTED | No se admiten cuotas. |
Comentarios
RDBSS emite una llamada a MRxQueryQuotaInfo en respuesta a la recepción de una solicitud de IRP_MJ_QUERY_QUOTA .
Antes de llamar a MRxQueryQuotaInfo, RDBSS modifica los siguientes miembros de la estructura RX_CONTEXT a la que apunta el parámetro RxContext :
El miembro Info.Buffer se establece en el búfer de usuario del paquete de solicitud de E/S. Este búfer ya está bloqueado por RDBSS si es necesario.
El miembro Info.LengthRemaining se establece en IrpSp-Parameters.QueryQuota.Length>.
El miembro QueryQuota.SidList se establece en IrpSp-Parameters.QueryQuota.SidList>.
El miembro QueryQuota.SidListLength se establece en IrpSp-Parameters.QueryQuota.SidListLength>.
El miembro QueryQuota.StartSid se establece en IrpSp-Parameters.QueryQuota.StartSid>.
El miembro QueryQuota.Length se establece en IrpSp-Parameters.QueryQuota.Length>.
El miembro QueryQuota.RestartScan se establece en distinto de cero si IrpSp-Flags> tiene el SL_RESTART_SCAN bit establecido.
El miembro QueryQuota.ReturnSingleEntry se establece en distinto de cero si IrpSp-Flags> tiene el SL_RETURN_SINGLE_ENTRY bit establecido.
El miembro QueryQuota.IndexSpecified se establece en distinto de cero si IrpSp-Flags> tiene establecido el bit SL_INDEX_SPECIFIED.
Si se ejecuta correctamente, el minidirector de red debe establecer el miembro Info.LengthRemaining de la estructura RX_CONTEXT en la longitud de la información de cuota que se va a devolver. Si la llamada a MRxQueryQuotaInfo se realizó correctamente, RDBSS establece el miembro IoStatus.Information del IRP en el miembro Info.LengthRemaining de RX_CONTEXT.
Si la llamada a MRxQueryQuotaInfo se realiza correctamente, el miembro InformationToReturn de la estructura de RX_CONTEXT debe establecerse en la longitud de la información de cuota devuelta. Si la llamada no se realiza correctamente, el miembro InformationToReturn de RX_CONTEXT debe establecerse en cero.
Requisitos
Plataforma de destino |
Escritorio |
Encabezado |
Mrx.h (incluya Mrx.h) |