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) |