Compartir a través de


Rutinas de envío necesarias

La mayoría de los controladores deben controlar las siguientes rutinas de distribución :

  • DispatchPnP

    IRP_MJ_PNP indica una solicitud que implica el reconocimiento de dispositivos PnP, la configuración de hardware o la asignación de recursos. Estas solicitudes se envían normalmente a un controlador de dispositivo desde el administrador de PnP o desde un controlador de nivel superior estrechamente acoplado.

  • DispatchPower

    IRP_MJ_POWER indica una solicitud relativa al estado de alimentación del dispositivo o del sistema. Este tipo de solicitudes se envían al controlador del dispositivo mediante el administrador de energía o un controlador de nivel superior estrechamente acoplado.

  • DispatchCreate

    IRP_MJ_CREATE indica que un subsistema protegido en modo de usuario, posiblemente en nombre de una aplicación o controlador específico del subsistema, ha solicitado un identificador para el objeto de archivo asociado al objeto de dispositivo de destino o que un controlador de nivel superior se conecta o conecta su objeto de dispositivo al objeto de dispositivo de destino.

  • DispatchClose

    IRP_MJ_CLOSE indica que se ha cerrado y liberado el último identificador del objeto de archivo asociado al objeto de dispositivo de destino. Todas las solicitudes de E/S se han completado o cancelado, por lo que no hay referencias pendientes al puntero del objeto de archivo.

  • DispatchRead

    IRP_MJ_READ indica una solicitud de E/S para transferir datos del dispositivo físico subyacente al sistema.

  • DispatchWrite

    IRP_MJ_WRITE indica una solicitud de E/S para transferir datos del sistema al dispositivo físico subyacente.

  • DispatchDeviceControl

    IRP_MJ_DEVICE_CONTROL indica una solicitud que contiene un código de control de E/S específico del tipo de dispositivo definido por el sistema que especifica una operación específica del tipo de dispositivo. Los controladores de nivel superior pasan estos IRP a sus controladores de dispositivo subyacentes, que normalmente procesan la solicitud accediendo al dispositivo.

  • DispatchInternalDeviceControl

    IRP_MJ_INTERNAL_DEVICE_CONTROL indica una solicitud enviada al controlador de dispositivo, en la mayoría de los casos desde un controlador de nivel superior estrechamente acoplado, normalmente con un código de control de E/S específico del controlador, específico del controlador o específico del dispositivo que solicita una operación específica del tipo de dispositivo o específica del dispositivo.

    Solo se requieren ciertos tipos de controladores para controlar las solicitudes de control de E/S de dispositivos internos definidos por el sistema, incluidos determinados controladores SCSI, controladores de teclado o dispositivos de mouse, y controladores paralelos que interoperan con controladores proporcionados por el sistema.

  • DispatchSystemControl

    IRP_MJ_SYSTEM_CONTROL se usa para especificar solicitudes WMI a los controladores. Para obtener más información sobre WMI, vea Instrumental de administración de Windows.

Las rutinas de envío que un controlador debe proporcionar varían según el tipo y la funcionalidad del dispositivo físico subyacente. Para obtener información específica del tipo de dispositivo sobre los códigos de función principales de IRP que los controladores deben controlar, consulte la documentación específica del tipo de dispositivo en el Kit de controladores de Windows (WDK).