Compartir a través de


PMRX_CALLDOWN_CTX función de devolución de llamada (mrx.h)

RDBSS llama a la rutina MRxStart para iniciar el minidirector de red.

Sintaxis

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

Puntero a la estructura RX_CONTEXT. Este parámetro contiene el IRP que solicitó que se inicie el minidirector de red.

[in, out] RxDeviceObject

Puntero a la estructura RDBSS_DEVICE_OBJECT para este minidirector de red.

Valor devuelto

MRxStart devuelve STATUS_SUCCESS si se ejecuta correctamente o un valor NTSTATUS adecuado, como uno de los siguientes:

Código devuelto Descripción
STATUS_REDIRECTOR_STARTED El minidirector de red ya se inició.
STATUS_UNSUCCESSFUL El minidirector de red no pudo iniciarse correctamente.

Comentarios

MRxStart completa la inicialización del minidirector de red desde la perspectiva de RDBSS. Tenga en cuenta que esto es diferente de la inicialización realizada en la rutina DriverEntry . Cualquier inicialización que dependa de RDBSS debe realizarse como parte de esta rutina, mientras que la inicialización independiente de RDBSS debe realizarse en la rutina DriverEntry .

Antes de llamar a MRxStart, RDBSS modifica los siguientes miembros de la estructura RX_CONTEXT a la que apunta el parámetro RxContext :

El miembro MajorFunction se establece en la función principal del IRP.

El miembro LowIoContext.ParamsFor.FsCtl.FsControlCode se establece en el código FSCTL del IRP si se trata de una solicitud FSTCL utilizada para iniciar el minidirector de red.

RDBSS llama a MRxStart desde la rutina RxStartMinirdr . Antes de llamar a MRxStart, RDBSS registrará RxDeviceObject del minidirector de red como sistema de archivos. RDBSS también registrará el minidirector de red como proveedor UNC si el minidirector de red indica compatibilidad con nombres UNC.

Si MRxStart devuelve STATUS_SUCCESS, la rutina se realizó correctamente. Cualquier otro valor devuelto indica que se produjo un error en la secuencia de inicio.

Si MRxStart devuelve STATUS_SUCCESS, RDBSS establece el estado de RDBSS en RDBSS_STARTED. Este estado se almacena en el miembro StartStopContext.State de la estructura de RDBSS_DEVICE_OBJECT a la que apunta RxDeviceObject.

Normalmente, un minidirector de red mantendría una variable interna que indica si se inicia el minidirector de red. Por ejemplo, un minidirector de red podría realizar un seguimiento de cuándo se detiene, se inicia y cuándo está en curso una operación de inicio o una operación de detención.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado mrx.h (incluya Mrx.h)

Consulte también

MRxDevFcbXXXControlFile

MRxStop

RxStartMinirdr