Rotina MRxQueryQuotaInfo
A rotina MRxQueryQuotaInfo é chamada pelo RDBSS para solicitar que uma informação de cota de consulta de minidiretório de rede em um objeto do sistema de arquivos.
Sintaxe
PMRX_CALLDOWN MRxQueryQuotaInfo;
NTSTATUS MRxQueryQuotaInfo(
_Inout_ PRX_CONTEXT RxContext
)
{ ... }
Parâmetros
RxContext [in, out]
Um ponteiro para a estrutura RX_CONTEXT. Esse parâmetro contém o IRP que está solicitando a operação.
Retornar valor
MRxQueryQuotaInfo retorna STATUS_SUCCESS com êxito ou um valor NTSTATUS apropriado, como um dos seguintes:
Código de retorno | Descrição |
---|---|
STATUS_ACCESS_DENIED | O chamador não tinha a segurança adequada para esta operação. |
STATUS_BUFFER_OVERFLOW | O buffer para receber as informações de cota era muito pequeno. Esse valor retornado deve ser considerado êxito e o máximo de dados válidos possível deve ser retornado no membro Info.Buffer da estrutura RX_CONTEXT apontada pelo parâmetro RxContext . |
STATUS_BUFFER_TOO_SMALL | O buffer é muito pequeno para receber os dados solicitados. Se esse valor for retornado, o membro InformationToReturn da estrutura RX_CONTEXT apontada pelo parâmetro RxContext deverá ser definido como o tamanho mínimo do buffer esperado para que a chamada seja bem-sucedida. |
STATUS_CONNECTION_DISCONNECTED | A conexão foi desconectada. Este é um código de erro. |
STATUS_INSUFFICIENT_RESOURCES | Não havia recursos suficientes para concluir a consulta. Este é um código de erro. |
STATUS_INVALID_PARAMETER | Um parâmetro inválido foi especificado. Este é um código de erro. |
STATUS_NOT_SUPPORTED | Não há suporte para cotas. |
Comentários
O RDBSS emite uma chamada para MRxQueryQuotaInfo em resposta ao recebimento de uma solicitação de IRP_MJ_QUERY_QUOTA .
Antes de chamar MRxQueryQuotaInfo, o RDBSS modifica os seguintes membros na estrutura RX_CONTEXT apontada pelo parâmetro RxContext :
O membro Info.Buffer é definido como buffer de usuário do pacote de solicitação de E/S. Esse buffer já foi bloqueado pelo RDBSS, se necessário.
O membro Info.LengthRemaining é definido como IrpSp-Parameters.QueryQuota.Length>.
O membro QueryQuota.SidList está definido como IrpSp-Parameters.QueryQuota.SidList>.
O membro QueryQuota.SidListLength está definido como IrpSp-Parameters.QueryQuota.SidListLength>.
O membro QueryQuota.StartSid está definido como IrpSp-Parameters.QueryQuota.StartSid>.
O membro QueryQuota.Length é definido como IrpSp-Parameters.QueryQuota.Length>.
O membro QueryQuota.RestartScan será definido como diferente de zero se IrpSp-Flags> tiver o SL_RESTART_SCAN bit definido.
O membro QueryQuota.ReturnSingleEntry será definido como diferente de zero se IrpSp-Flags> tiver o SL_RETURN_SINGLE_ENTRY bit definido.
O membro QueryQuota.IndexSpecified será definido como diferente de zero se IrpSp-Flags> tiver o SL_INDEX_SPECIFIED bit definido.
Com êxito, o minidiretório de rede deve definir o membro Info.LengthRemaining da estrutura RX_CONTEXT para o comprimento das informações de cota a serem retornadas. Se a chamada para MRxQueryQuotaInfo tiver sido bem-sucedida, o RDBSS definirá o membro IoStatus.Information do IRP como o membro Info.LengthRemaining do RX_CONTEXT.
Se a chamada para MRxQueryQuotaInfo for bem-sucedida, o membro InformationToReturn da estrutura RX_CONTEXT deverá ser definido como o comprimento das informações de cota retornadas. Se a chamada não for bem-sucedida, o membro InformationToReturn do RX_CONTEXT deverá ser definido como zero.
Requisitos
Plataforma de destino |
Área de Trabalho |
parâmetro |
Mrx.h (inclua Mrx.h) |