IRP_MJ_INTERNAL_DEVICE_CONTROL

En general, cualquier reemplazo de un controlador existente que admita solicitudes internas de control de dispositivos debe controlar esta solicitud en una rutina DispatchInternalDeviceControl . Este controlador debe admitir al menos el mismo conjunto de códigos de control de E/S internos que reemplaza el controlador. De lo contrario, es posible que los controladores de nivel superior existentes no funcionen con el nuevo controlador.

Los controladores que reemplazan determinados controladores del sistema de nivel inferior son necesarios para controlar esta solicitud. Por ejemplo, un reemplazo para el controlador de puerto paralelo del sistema debe seguir admitiendo controladores de clase paralelos existentes. Tenga en cuenta que algunos controladores del sistema que controlan esta solicitud no se pueden reemplazar, en particular, los controladores de puerto de vídeo y SCSI proporcionados por el sistema.

Cuándo se envió

En cualquier momento después de la finalización correcta de una solicitud de creación.

Parámetros de entrada

El código de control de E/S se encuentra en Parameters.DeviceIoControl.IoControlCode en la ubicación de la pila de E/S del IRP.

Otros parámetros de entrada dependen del valor del código de control de E/S. Para obtener más información, vea Descripciones del búfer para códigos de control de E/S.

Parámetros de salida

Los parámetros de salida dependen del valor del código de control de E/S. Para obtener más información, vea Descripciones del búfer para códigos de control de E/S.

Operación

Los controladores reciben IRP_MJ_INTERNAL_DEVICE_CONTROL solicitudes cuando otro controlador llama a IoBuildDeviceIoControlRequest o IoAllocateIrp para crear una solicitud.

Este código de control de E/S se ha definido para la comunicación entre controladores en modo kernel emparejados y superpuestas, como uno o varios controladores de clase en capas sobre un controlador de puerto. El controlador de nivel superior configura irP con códigos de control de E/S específicos del controlador o del dispositivo, solicitando soporte técnico desde el controlador inferior siguiente.

La operación solicitada es específica del controlador o del dispositivo.

Para obtener información general sobre los códigos de control de E/S para solicitudes de IRP_MJ_DEVICE_CONTROL o IRP_MJ_INTERNAL_DEVICE_CONTROL , consulte Uso de códigos de control de E/S. Consulte también Solicitudes de E/S de Type-Specific de dispositivo.

Requisitos

Encabezado

Wdm.h (incluya Wdm.h, Ntddk.h o Ntifs.h)

Consulte también

DispatchInternalDeviceControl

IoAllocateIrp

IoBuildDeviceIoControlRequest