Fonctionnalités du minidriver WIA
Tous les minidrivers WIA doivent définir la capacité de l’appareil à gérer les événements et les commandes de notification. Cette section décrit ces fonctionnalités de minidriver.
Le minidriver WIA est chargé de créer une table qui répertorie tous les événements et commandes qu’il prend en charge. Le diagramme suivant illustre le tableau des fonctionnalités généré par le minidriver WIA.
La table de fonctionnalités est définie comme un tableau de structures WIA_DEV_CAP_DRV . Le minidriver doit construire ce tableau et le retourner au service WIA lorsque le service WIA appelle la méthode IWiaMiniDrv ::d rvGetCapabilities .
Définition des événements et des commandes pris en charge
Les minidrivers WIA doivent décrire les événements et les commandes pris en charge par l’appareil pour le service WIA.
Événements
Un événement est une action au niveau de l’appareil qui doit être signalée au pilote. Par exemple, un scanneur peut avoir un bouton du panneau avant intitulé « Analyser ». Lorsque les utilisateurs appuient sur ce bouton, ils s’attendent à ce que le scanneur commence à analyser, ou à tout le moins, qu’une application commence à lancer l’analyse.
WIA prend en charge deux types d’événements :
Événement d’action : Un événement d’action démarre l’application inscrite pour gérer un tel événement. Par exemple, l’Assistant Microsoft Scanner and Camera est un gestionnaire inscrit pour l’événement Scan (d’autres applications peuvent également s’inscrire à cet événement). Lorsqu’un pilote envoie l’événement Scan, le service WIA démarre l’Assistant Scanneur et caméra pour gérer cet événement. Ce type d’événement est fréquemment appelé événement persistant.
Événement de notification : Un événement de notification est envoyé uniquement aux applications qui sont déjà en cours d’exécution et qui ont indiqué au service WIA qu’elles doivent recevoir cet événement. Si l’application n’est pas en cours d’exécution, elle n’est pas démarrée pour gérer cet événement.
Un événement peut être à la fois un événement d’action et un événement de notification.
Commandes
Une commande d’appareil WIA est une demande que le service WIA envoie (pour le compte de l’application de création d’images) au minidriver WIA et qui indique au minidriver d’effectuer une action. Par exemple, un minidriver d’appareil photo WIA peut gérer la commande Prendre en photo . Cette commande indique au minidriver d’ordonner à l’appareil photo numérique de prendre une nouvelle photo.
Notes
L’Assistant Scanneur et caméra répond immédiatement à l’utilisateur, même s’il a encore propre à faire en arrière-plan. Par exemple, la fenêtre Assistant Scanneur et appareil photo se ferme immédiatement lorsque l’utilisateur demande à annuler une action ; Toutefois, l’Assistant Scanneur et caméra a un thread d’acquisition distinct qui continue à s’exécuter une fois la fenêtre fermée. Ce thread distinct permet une réponse immédiate à la demande de l’utilisateur, mais permet l’exécution des tâches et tâches nécessaires qui ne peuvent pas être interrompues sans affecter l’expérience utilisateur.