Compartilhar via


Rotina MRxQueryDirectory

A rotina MRxQueryDirectory é chamada pelo RDBSS para solicitar que uma consulta de minidiretório de rede em um diretório de arquivos.

Sintaxe

PMRX_CALLDOWN MRxQueryDirectory;

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

MRxQueryDirectory 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_INSUFFICIENT_RESOURCES

Não havia recursos suficientes para concluir a consulta.

STATUS_INVALID_NETWORK_RESPONSE

Um buffer de informações de arquivo inválido foi recebido do servidor remoto ou um comprimento de nome de arquivo retornado excedeu o comprimento máximo permitido.

STATUS_INVALID_PARAMETER

Um FileInformationClass inválido foi especificado no membro Info.FileInformationClass na estrutura RX_CONTEXT apontada pelo parâmetro RxContext .

STATUS_LINK_FAILED

Falha na tentativa de reconectar-se a um servidor remoto para concluir a consulta.

STATUS_NO_SUCH_FILE

A consulta não conseguiu localizar nenhuma entrada.

STATUS_SHARING_VIOLATION

Ocorreu uma violação de compartilhamento.

Comentários

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

O membro Info.FileInformationClass é definido como IrpSp-Parameters.QueryDirectory.FileInformationClass>.

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.QueryDirectory.Length>.

O membro QueryDirectory.FileIndex está definido como IrpSp-Parameters.QueryDirectory.FileIndex>.

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

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

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

O membro QueryDirectory.InitialQuery será definido como diferente de zero se UnicodeQueryTemplate.Buffer membro do FOBX associado for NULL e o membro Flags do FOBX não tiver o FOBX_FLAG_MATCH_ALL bit ativado.

Para uma consulta de cartão selvagem ("*.*", por exemplo), o RDBSS definirá o membro UnicodeQueryTemplate.Buffer do FOBX associado para a consulta de cartão selvagem passada.

Se o membro PostRequest da estrutura RX_CONTEXT for TRUE no retorno de MRxQueryDirectory, o RDBSS chamará RxFsdPostRequest passando a estrutura RX_CONTEXT para uma fila de trabalho para processamento pelo FSP (processo do sistema de arquivos).

Requisitos

Plataforma de destino

Área de Trabalho

parâmetro

Mrx.h (inclua Mrx.h)

Confira também

MRxIsValidDirectory

MRxQueryEaInfo

MRxQueryFileInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo

RxFsdPostRequest