PMRX_CALLDOWN_CTX função de retorno de chamada (mrx.h)
A rotina de MRxStart é chamada por RDBSS para iniciar o minidiretório de rede.
Sintaxe
PMRX_CALLDOWN_CTX PmrxCalldownCtx;
NTSTATUS PmrxCalldownCtx(
[in, out] IN OUT PRX_CONTEXT RxContext,
[in, out] IN OUT PRDBSS_DEVICE_OBJECT RxDeviceObject
)
{...}
Parâmetros
[in, out] RxContext
Um ponteiro para a estrutura RX_CONTEXT. Esse parâmetro contém o IRP que solicitou o minidiretório de rede para iniciar.
[in, out] RxDeviceObject
Um ponteiro para a estrutura de RDBSS_DEVICE_OBJECT para esse minidiretório de rede.
Valor de retorno
MRxStart retorna STATUS_SUCCESS com êxito ou um valor NTSTATUS apropriado, como um dos seguintes:
Código de retorno | Descrição |
---|---|
STATUS_REDIRECTOR_STARTED | O minidiretório de rede já foi iniciado. |
STATUS_UNSUCCESSFUL | O minidiretório de rede não pôde ser iniciado com êxito. |
Observações
MRxStart conclui a inicialização do minidiretório de rede da perspectiva RDBSS. Observe que isso é diferente da inicialização feita na rotina DriverEntry. Qualquer inicialização que dependa do RDBSS deve ser feita como parte dessa rotina, enquanto a inicialização independente do RDBSS deve ser feita na rotina DriverEntry.
Antes de chamar MRxStart, o RDBSS modifica os seguintes membros na estrutura RX_CONTEXT apontada pelo parâmetro RxContext:
O membro MajorFunction é definido como a função principal do IRP.
O membro LowIoContext.ParamsFor.FsCtl.FsControlCode é definido como o código FSCTL do IRP se essa for uma solicitação FSTCL usada para iniciar o minidiretório de rede.
MRxStart é chamado pelo RDBSS da rotina deRxStartMinirdr. Antes de chamar MRxStart, o RDBSS registrará RxDeviceObject do minidiretório de rede como um sistema de arquivos. O RDBSS também registrará o minidiretório de rede como um provedor UNC se o minidiretório de rede indicar suporte para nomes UNC.
Se MRxStart retornar STATUS_SUCCESS, a rotina foi bem-sucedida. Qualquer outro valor retornado indica que ocorreu um erro na sequência de inicialização.
Se MRxStart retornar STATUS_SUCCESS, o RDBSS definirá o estado do RDBSS como RDBSS_STARTED. Esse estado é armazenado no membro StartStopContext.State da estrutura RDBSS_DEVICE_OBJECT apontada pelo RxDeviceObject.
Um minidiretório de rede normalmente manteria uma variável interna indicando se o minidiretório de rede foi iniciado. Por exemplo, um minidiretório de rede pode acompanhar quando ele é interrompido, iniciado e quando uma operação de início ou operação de parada está em andamento.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | mrx.h (incluir Mrx.h) |