Partager via


Fourniture d’une notification d’événement

Le service WIA avertit un mini-pilote WIA d’un événement d’appareil pris en charge en appelant la méthode IWiaMiniDrv::d rvNotifyPnpEvent . Dans cette méthode, le minidriver implémente les fonctionnalités propres à l’appareil nécessaires pour répondre à l’événement. Le service WIA appelle la méthode IWiaMiniDrv::d rvNotifyPnpEvent uniquement pour un événement que le minidriver a indiqué que l’appareil peut prendre en charge dans la méthode IWiaMiniDrv::d rvGetCapabilities .

Le minidriver lance un événement via le mécanisme d’événement STI, ou à l’aide de wiasQueueEvent pour ajouter une notification d’événement de cet appareil à la file d’attente d’événements.

Comportement asynchrone : Gestion de l’alimentation et annulation des E/S

Dans la plupart des cas, le service WIA garantit qu’un seul appel est effectué vers le conducteur à la fois. Toutefois, certaines méthodes sont intrinsèquement asynchrones et réentrentrées dans la nature. La méthode IWiaMiniDrv::d rvNotifyPnpEvent en est un bon exemple.

Le service WIA utilise cette méthode pour avertir le pilote des événements qui peuvent nécessiter une action immédiate. Par exemple, lorsque le service WIA reçoit un événement Plug-and-Play indiquant que l’appareil a été supprimé, il en informe immédiatement le pilote. D’autres exemples incluent les événements de gestion de l’alimentation et les demandes d’annulation d’E/S provenant d’applications.

Pour obtenir un exemple d’implémentation de la méthode IWiaMiniDrv::d rvNotifyPnpEvent , illustrant la façon dont elle doit répondre à différents types d’événements, consultez Ajout de la prise en charge des événements d’interruption.