Vue d’ensemble de l’architecture WIA
WIA est implémenté en tant que serveur hors processus COM (Component Object Model) pour garantir le fonctionnement robuste des applications clientes.
WIA a trois composants main : le service WIA, la bibliothèque de service de pilotes WIA et un pilote en mode utilisateur fournisseur.
Le service WIA énumère les appareils d’imagerie, récupère les propriétés de l’appareil, configure des événements pour les appareils et crée des objets d’appareil.
La bibliothèque de service de pilotes WIA implémente tous les services indépendants de l’appareil.
Le pilote en mode utilisateur fournisseur mappe les propriétés et les commandes WIA à l’appareil spécifique. Il existe deux types de pilotes en mode utilisateur du fournisseur WIA :
Minidriver : il s’agit du type de pilote fournisseur le plus courant. Il s’agit d’un objet COM qui implémente les interfaces de minidriver WIA. Un fournisseur peut tirer parti de toutes les fonctionnalités et fonctionnalités WIA avec ce type de pilote.
Microdriver : ce pilote est beaucoup plus limité qu’un minidriver et, par conséquent, plus simple à développer. Il est principalement utilisé pour les appareils scanneurs de base. Ce pilote n’est pas un objet COM ; il s’agit d’une DLL qui exporte quelques fonctions. Les microdrivers ne peuvent pas être utilisés pour les appareils photo.
Le diagramme suivant illustre l’architecture WIA.
Applications de création d’images
Les applications de création d’images ne communiquent pas directement avec le minidriver, mais communiquent avec le service WIA via l’interface de programmation d’application WIA (API) pour accéder aux images et acquérir des données à partir d’appareils WIA. Ces applications peuvent utiliser une interface utilisateur commune fournie par le système ou une interface utilisateur fournie par le fournisseur. Pour plus d’informations sur l’API WIA pour les applications de création d’images, consultez la documentation Microsoft Windows SDK.
WIA Service
Le service WIA est un composant fourni par le système qui communique avec les applications d’imagerie et les mini-disques WIA. Le service WIA s’exécute dans un processus distinct des applications et dans le même processus que les mini-disques WIA. Les applications dirigent leurs demandes d’appareil vers le service WIA, qui à son tour dirige les requêtes vers le minidriver approprié via l’interface du pilote de périphérique WIA (DDI).
Bibliothèque des services de pilotes WIA
La bibliothèque de services de pilotes WIA est un composant fourni par le système qui fournit des fonctions d’assistance pour les mini-pilotes WIA. Un minidriver peut appeler des fonctions d’assistance pour effectuer des tâches telles que les suivantes :
Initialisez l’arborescence d’éléments du pilote WIA.
Lisez, écrivez et validez les propriétés de l’appareil.
Transférer des données.
Un minidriver peut également effectuer de telles tâches lui-même. En tirant parti des fonctions d’assistance, vous pouvez réduire le temps de développement et la taille d’un minidriver WIA tout en ayant la flexibilité nécessaire pour développer des solutions individuelles.
WIA User-Mode Minidrivers
Les mini-disques WIA sont des composants en mode utilisateur fournis par le fournisseur qui dirigent les modifications et les commandes des propriétés WIA vers un appareil d’imagerie. Un minidriver implémente le DDI WIA, appelé par le service WIA pour communiquer avec le minidriver.
Un minidriver WIA implémente les interfaces de minidriver WIA standard. Le minidriver communique avec le périphérique d’imagerie via un pilote en mode noyau Microsoft Windows standard, tel que le pilote USB. Le minidriver communique avec le pilote en mode noyau en appelant les fonctions CreateFile, ReadFile, WriteFile et DeviceIoControl Win32 (décrites dans la documentation Microsoft Windows SDK).
Une application de création d’images ne peut pas effectuer d’appels directs au minidriver WIA. Seul le service WIA est autorisé à appeler directement le conducteur.
Pilotes d’E/S du noyau
Les pilotes d’image fixe en mode noyau sont des composants fournis par le système ou fournis par IHV qui fournissent des données vers ou à partir de l’appareil image fixe. Un pilote d’image fixe en mode noyau est spécifique au bus.
Microsoft fournit des pilotes d’image fixe en mode noyau WDM pour les bus USB, SCSI et IEEE 1394. Pour plus d’informations, consultez Accès aux pilotes Kernel-Mode pour les appareils à image fixe.
Un fournisseur doit fournir un pilote d’image fixe en mode noyau uniquement si son périphérique d’imagerie est incompatible avec les pilotes d’E/S en mode noyau fournis par Microsoft.