Commandes d’événement
Les commandes de cette section sont utilisées par le microdriver pour la prise en charge des événements d’appareil.
CMD_GET_INTERRUPT_EVENT
Appelé par le pilote à plat WIA dans un thread distinct pour surveiller la status des événements de bouton qui utilisent des interruptions de l’appareil (autrement dit, pour les périphériques USB qui signalent des événements via le canal d’interruption). Si votre appareil prend uniquement en charge l’interrogation, cette commande n’a pas besoin d’être implémentée et E_NOTIMPL doit être retournée.
Deux descripteurs d’événements sont passés au microdriver. Le membre lVal de la structure VAL contient un handle d’événement qui doit être signalé par le microdriver à l’aide de la fonction SetEvent lorsqu’un événement de bouton se produit. Le membre handle de la structure VAL contient un handle d’événement qui est signalé par le pilote à plat WIA lorsque le pilote est déchargé ou arrêté.
Le membre pGuid de la structure VAL doit être défini pour pointer vers le GUID du bouton qui a été poussé. Si aucun bouton n’a été enfoncé, il doit être défini sur GUID_NULL.
CMD_STI_GETSTATUS
Appelé par le pilote à plat WIA pour obtenir les status en ligne de l’appareil et, si l’appareil a des boutons-pousseurs, pour obtenir le bouton status.
Définissez le membre lVal de la structure VAL passée sur 1 si votre appareil est en ligne et fonctionne correctement. Si lVal est défini sur une valeur autre que 1, l’appareil est considéré comme hors connexion et le test de l’appareil échoue dans Panneau de configuration.
Si l’appareil prend en charge les boutons qui n’utilisent pas d’interruptions de l’appareil et qu’un bouton a été appuyé, le membre pGuid de la structure VAL passée doit être défini sur le GUID de l’événement de bouton. Si aucun bouton n’a été enfoncé, pointez pGuid sur la valeur GUID_NULL. Cela indique qu’aucun événement n’est en attente.
Cette commande est requise si l’appareil prend en charge les événements interrogés ou si vous souhaitez que l’appareil affiche des status en ligne.