Proporcionar notificación de eventos
El servicio WIA notifica a un minidriver WIA de un evento de dispositivo compatible llamando al método IWiaMiniDrv::d rvNotifyPnpEvent . En este método, el minidriver implementa la funcionalidad específica del dispositivo necesaria para responder al evento. El servicio WIA llama al método IWiaMiniDrv::d rvNotifyPnpEvent solo para un evento que el minidriver ha indicado que el dispositivo puede admitir en el método IWiaMiniDrv::d rvGetCapabilities .
El minidriver inicia un evento a través del mecanismo de eventos STI o mediante wiasQueueEvent para agregar una notificación de eventos de este dispositivo a la cola de eventos.
Comportamiento asincrónico: administración de energía y cancelación de E/S
En la mayoría de los casos, el servicio WIA garantiza que solo se realice una llamada al controlador a la vez. Sin embargo, algunos métodos son intrínsecamente asincrónicos y reentrantes por naturaleza. Un buen ejemplo de esto es el método IWiaMiniDrv::d rvNotifyPnpEvent .
El servicio WIA usa este método para notificar al controlador de eventos que pueden requerir una acción inmediata. Por ejemplo, cuando el servicio WIA recibe un evento de Plug and Play que indica que el dispositivo se ha quitado, informa al controlador inmediatamente. Otros ejemplos incluyen eventos de administración de energía y solicitudes de cancelación de E/S de aplicaciones.
Para obtener una implementación de ejemplo del método IWiaMiniDrv::d rvNotifyPnpEvent , que ilustra cómo debe responder a varios tipos de eventos, vea Agregar compatibilidad con eventos de interrupción.