Partager via


Prise en charge des commandes du pilote WIA

Une commande d’appareil WIA est une demande envoyée par le service WIA (pour le compte de l’application de création d’images) au minidriver WIA, lui demandant d’effectuer une action particulière.

Voici la liste des commandes d’appareil WIA qui peuvent être émises sur un minidriver :

Commande Signification
WIA_CMD_CHANGE_DOCUMENT Passez au document suivant (émis uniquement pour les scanneurs multidocuments).
WIA_CMD_DELETE_ALL_ITEMS Supprimez l’arborescence d’éléments du pilote.
WIA_CMD_DIAGNOSTIC Réservé par Microsoft.
WIA_CMD_SYNCHRONIZE Régénérez l’arborescence d’éléments du pilote. Tous les minidrivers doivent prendre en charge cette commande.
WIA_CMD_TAKE_PICTURE Prendre une photo (émise pour les appareils photo uniquement).
WIA_CMD_UNLOAD_DOCUMENT Déchargez le document actif (émis uniquement pour les scanneurs multidocuments).

Les commandes WIA_CMD_XXX sont décrites dans la documentation Microsoft Windows SDK. Vous pouvez inclure votre propre liste personnalisée de commandes.

Ajout de la prise en charge des commandes d’appareil

Pour configurer correctement votre minidriver WIA pour signaler les commandes d’appareil, signalez un tableau de commandes prises en charge dans la méthode IWiaMiniDrv ::d rvGetCapabilities . Pour obtenir un exemple d’implémentation de la méthode IWiaMiniDrv ::d rvGetCapabilities , consultez Ajout de la prise en charge des événements d’interruption.

Implémenter la méthode IWiaMiniDrv ::d rvDeviceCommand

Le service WIA appelle la méthode IWiaMiniDrv ::d rvDeviceCommand en réponse à l’appel de l’application à la méthode IWiaItem ::D eviceCommand (décrite dans la documentation Microsoft Windows SDK). La méthode IWiaMiniDrv ::d rvDeviceCommand doit effectuer les tâches suivantes :

  1. Déterminez si la commande envoyée est une commande prise en charge.

  2. Traitez la demande de commande.

Le pilote WIA doit déterminer l’élément WIA qui doit recevoir la commande de périphérique à l’aide du pointeur pWiasContext . Le pilote WIA doit ensuite traiter la commande d’appareil reçue ciblant l’élément WIA entrant. Toute commande envoyée au pilote WIA qui n’est pas prise en charge doit échouer avec un code d’erreur E_INVALIDARG.

Pour obtenir un exemple d’implémentation de la méthode IWiaMiniDrv ::d rvDeviceCommand , consultez Information d’une application de modifications d’arborescence d’éléments.