PMRX_CALLDOWN_CTX função de retorno de chamada (mrx.h)
A rotina MRxStart é chamada pelo 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.
Retornar valor
MRxStart retorna STATUS_SUCCESS em caso de ê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. |
Comentários
O MRxStart conclui a inicialização do minidiretório de rede da perspectiva do 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 será definido como o código FSCTL do IRP se esta for uma solicitação FSTCL usada para iniciar o minidiretório de rede.
MRxStart é chamado pelo RDBSS da rotina RxStartMinirdr . 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 por 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 parada está em andamento.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | mrx.h (inclua Mrx.h) |