Rutina MRxLowIOSubmit[LOWIO_OP_IOCTL]
RDBSS llama a la rutina MRxLowIOSubmit[LOWIO_OP_IOCTL] para emitir una solicitud de control del sistema de E/S al minidirector de red.
Sintaxis
PMRX_CALLDOWN MRxLowIOSubmit[LOWIO_OP_IOCTL];
NTSTATUS MRxLowIOSubmit[LOWIO_OP_IOCTL](
_Inout_ PRX_CONTEXT RxContext
)
{ ... }
Parámetros
RxContext [in, out]
Puntero a la estructura RX_CONTEXT. Este parámetro contiene el IRP que solicita la operación.
Valor devuelto
MRxLowIOSubmit[LOWIO_OP_IOCTL] devuelve STATUS_SUCCESS si se ejecuta correctamente o un valor NTSTATUS adecuado, como uno de los siguientes:
Código devuelto | Descripción |
---|---|
STATUS_INSUFFICIENT_RESOURCES | No había recursos suficientes para completar la solicitud. |
STATUS_INVALID_DEVICE_REQUEST | Se especificó una solicitud de dispositivo no válida. |
STATUS_INVALID_PARAMETER | Se especificó un parámetro no válido en RxContext. |
STATUS_NOT_IMPLEMENTED | Esta rutina no se implementa. |
STATUS_NOT_SUPPORTED | El minidirector de red no admite el IOCTL especificado. |
Comentarios
RDBSS llama a MRxLowIOSubmit[LOWIO_OP_IOCTL] en respuesta a recibir una solicitud de IRP_MJ_DEVICE_CONTROL o IRP_MJ_INTERNAL_DEVICE_CONTROL .
Antes de llamar a MRxLowIOSubmit[LOWIO_OP_IOCTL], RDBSS modifica los siguientes miembros de la estructura RX_CONTEXT a la que apunta el parámetro RxContext :
El miembro LowIoContext.Operation se establece en LOWIO_OP_IOCTL.
El miembro LowIoContext.ResourceThreadId se establece en el subproceso del proceso que inició la operación en RDBSS.
El miembro LowIoContext.ParamsFor.IoCtl.IoControlCode se establece en el código de control IOCTL.
El miembro LowIoContext.ParamsFor.IoCtl.pInputBuffer se establece en el búfer de entrada.
El miembro LowIoContext.ParamsFor.IoCtl.InputBufferLength se establece en la longitud del búfer de entrada.
El miembro LowIoContext.ParamsFor.IoCtl.pOutputBuffer se establece en el búfer de salida.
El miembro LowIoContext.ParamsFor.IoCtl.OutputBufferLength se establece en la longitud del búfer de salida.
Mientras se procesa la rutina MRxLowIOSubmit[LOWIO_OP_IOCTL], se garantiza que el miembro LowIoContext.ResourceThreadId de RX_CONTEXT indique el subproceso del proceso que inició la operación en RDBSS. El miembro LowIoContext.ResourceThreadId de RX_CONTEXT se puede usar para liberar el recurso de entrada en nombre de otro subproceso. Cuando se completa una rutina asincrónica, se puede liberar el recurso de entrada que se adquirió del subproceso inicial.
Requisitos
Plataforma de destino |
Escritorio |
Encabezado |
Mrx.h (incluya Mrx.h) |
Consulte también
MRxLowIOSubmit[LOWIO_OP_EXCLUSIVELOCK]
MRxLowIOSubmit[LOWIO_OP_FSCTL]
MRxLowIOSubmit[LOWIO_OP_NOTIFY_CHANGE_DIRECTORY]
MRxLowIOSubmit[LOWIO_OP_SHAREDLOCK]
MRxLowIOSubmit[LOWIO_OP_UNLOCK]