Rotina MRxQueryEaInfo

A rotina MRxQueryEaInfo é chamada pelo RDBSS para solicitar que um minidiretório de rede consulte informações de atributo estendido em um objeto do sistema de arquivos.

Sintaxe

PMRX_CALLDOWN MRxQueryEaInfo;

NTSTATUS MRxQueryEaInfo(
  _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

MRxQueryEaInfo 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 atributo estendido 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.

STATUS_EA_CORRUPT_ERROR

Informações de atributo estendido inválidas foram recebidas do servidor remoto.

STATUS_INSUFFICIENT_RESOURCES

Não havia recursos suficientes para concluir a consulta.

STATUS_INVALID_PARAMETER

Um parâmetro inválido foi especificado.

STATUS_NONEXISTENT_EA_ENTRY

Não há atributos estendidos no objeto de arquivo e o usuário forneceu um índice de atributo estendido.

STATUS_NOT_SUPPORTED

Não há suporte para atributos estendidos.

STATUS_ONLY_IF_CONNECTED

A estrutura SRV_OPEN não está conectada.

STATUS_REQUEST_ABORTED

A solicitação de rede foi anulada.

Comentários

O RDBSS emite uma chamada para MRxQueryEaInfo em resposta ao recebimento de uma solicitação de IRP_MJ_QUERY_EA .

Antes de chamar MRxQueryEaInfo, o RDBSS modifica os seguintes membros na estrutura RX_CONTEXT apontada pelo parâmetro RxContext :

O membro Info.Buffer é definido como o 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.QueryEa.Length>.

O membro QueryEa.UserEaList está definido como IrpSp-Parameters.QueryEa.EaList>.

O membro QueryEa.UserEaListLength está definido como IrpSp-Parameters.QueryEa.EaListLength>.

O membro QueryEa.UserEaIndex está definido como IrpSp-Parameters.QueryEa.EaIndex>.

O membro QueryEa.RestartScan será definido como diferente de zero se IrpSp-Flags> tiver o bit SL_RESTART_SCAN ativado.

O membro QueryEa.ReturnSingleEntry será definido como diferente de zero se IrpSp-Flags> tiver o bit SL_RETURN_SINGLE_ENTRY ativado.

O membro QueryEa.IndexSpecified será definido como diferente de zero se IrpSp-Flags> tiver o SL_INDEX_SPECIFIED bit ativado.

Com êxito, MRxQueryEaInfo deve definir o membro Info.LengthRemaining da estrutura RX_CONTEXT para o comprimento das informações de atributo estendidas retornadas e também atualizar o membro Fobx-OffsetOfNextEaToReturn>. Se a chamada para MRxQueryEaInfo tiver sido bem-sucedida, o RDBSS definirá o membro IoStatus.Information do IRP como IrpSp-Parameters.QueryEa.Length> menos o membro Info.LengthRemaining de RX_CONTEXT.

Requisitos

Plataforma de destino

Área de Trabalho

parâmetro

Mrx.h (inclua Mrx.h)

Confira também

MRxIsValidDirectory

MRxQueryDirectory

MRxQueryFileInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo