Specifica della notifica degli eventi
Il servizio WIA notifica a un minidriver WIA di un evento di dispositivo supportato chiamando il metodo IWiaMiniDrv::d rvNotifyPnpEvent . In questo metodo, il minidriver implementa la funzionalità specifica del dispositivo necessaria per rispondere all'evento. Il servizio WIA chiama il metodo IWiaMiniDrv::d rvNotifyPnpEvent solo per un evento che il minidriver ha indicato che il dispositivo può supportare nel metodo IWiaMiniDrv::d rvGetCapabilities .
Il minidriver avvia un evento tramite il meccanismo di evento STI o tramite wiasQueueEvent per aggiungere una notifica degli eventi da questo dispositivo alla coda di eventi.
Comportamento asincrono: risparmio energia e annullamento di I/O
Nella maggior parte dei casi, il servizio WIA garantisce che venga effettuata una sola chiamata al driver alla volta. Tuttavia, alcuni metodi sono intrinsecamente asincroni e reentranti per natura. Un buon esempio è il metodo IWiaMiniDrv::d rvNotifyPnpEvent .
Il servizio WIA usa questo metodo per notificare al driver gli eventi che potrebbero richiedere un'azione immediata. Ad esempio, quando il servizio WIA riceve un evento Plug and Play che indica che il dispositivo è stato rimosso, informa immediatamente il driver. Altri esempi includono gli eventi di risparmio energia e le richieste di annullamento di I/O dalle applicazioni.
Per un'implementazione di esempio del metodo IWiaMiniDrv::d rvNotifyPnpEvent , illustrando come deve rispondere a vari tipi di eventi, vedere Aggiunta del supporto per gli eventi interrupt.