Compartir a través de


Introducción a la arquitectura de WIA

WIA se implementa como un servidor fuera de proceso (COM) del modelo de objetos componentes para garantizar el funcionamiento sólido de las aplicaciones cliente.

WIA tiene tres componentes principales: el servicio WIA, la biblioteca de servicios de controladores wia y un controlador en modo de usuario del proveedor.

  • El servicio WIA enumera los dispositivos de creación de imágenes, recupera las propiedades del dispositivo, configura eventos para los dispositivos y crea objetos de dispositivo.

  • La biblioteca del servicio de controladores WIA implementa todos los servicios que son independientes del dispositivo.

  • El controlador en modo de usuario del proveedor asigna las propiedades y comandos de WIA al dispositivo específico. Hay dos tipos de controladores de modo de usuario del proveedor de WIA:

    • Minidriver: este es el tipo de controlador de proveedor más común. Es un objeto COM que implementa las interfaces de minidriver WIA. Un proveedor puede aprovechar todas las funcionalidades y características de WIA con este tipo de controlador.

    • Microdriver: este controlador es mucho más limitado que un minidriver y, por lo tanto, más sencillo de desarrollar. Se usa principalmente para dispositivos de escáner básicos. Este controlador no es un objeto COM; es un archivo DLL que exporta algunas funciones. No se pueden usar microdrivers para dispositivos de cámara.

En el diagrama siguiente se muestra la arquitectura wia.

diagrama que ilustra los componentes wia.

Aplicaciones de creación de imágenes

Las aplicaciones de creación de imágenes no se comunican directamente con el minidriver, pero se comunican con el servicio WIA a través de la interfaz de programación de aplicaciones (API) wia para acceder a imágenes y adquirir datos de dispositivos WIA. Estas aplicaciones pueden usar una interfaz de usuario común proporcionada por el sistema o una interfaz de usuario proporcionada por el proveedor. Para obtener más información sobre la API de WIA para aplicaciones de creación de imágenes, consulte la documentación de Microsoft Windows SDK.

Servicio WIA

El servicio WIA es un componente suministrado por el sistema que se comunica con aplicaciones de creación de imágenes y minidrivers WIA. El servicio WIA se ejecuta en un proceso independiente de las aplicaciones y en el mismo proceso que los minidrivers wia. Las aplicaciones dirigen sus solicitudes de dispositivo al servicio WIA, que a su vez dirige las solicitudes al minidriver adecuado a través de la interfaz del controlador de dispositivo WIA (DDI).

Biblioteca de servicios de controladores wia

La biblioteca de servicios de controladores WIA es un componente proporcionado por el sistema que proporciona funciones auxiliares para minidrivers WIA. Un minidriver puede llamar a funciones auxiliares para realizar tareas como las siguientes:

  • Inicialice el árbol de elementos del controlador WIA.

  • Leer, escribir y validar las propiedades del dispositivo.

  • Transferir datos.

Como alternativa, un minidriver puede realizar estas tareas en sí. Al aprovechar las funciones auxiliares, puede reducir el tiempo de desarrollo y el tamaño de un minidriver WIA mientras sigue teniendo la flexibilidad de desarrollar soluciones individuales.

WIA User-Mode Minidrivers

Los minidrivers WIA son componentes proporcionados por el proveedor y en modo de usuario que dirigen los cambios de propiedad WIA y los comandos a un dispositivo de creación de imágenes. Un minidriver implementa el WIA DDI, al que llama el servicio WIA para comunicarse con el minidriver.

Un minidriver WIA implementa las interfaces de minidriver WIA estándar. El minidriver se comunica con el dispositivo de creación de imágenes a través de un controlador estándar en modo kernel de Microsoft Windows, como el controlador USB. El minidriver se comunica con el controlador en modo kernel llamando a las funciones CreateFile, ReadFile, WriteFile y DeviceIoControl Win32 (descritas en la documentación de Microsoft Windows SDK).

Una aplicación de creación de imágenes no puede realizar llamadas directas al minidriver WIA. Solo se permite que el servicio WIA llame directamente al controlador.

Controladores de E/S de kernel

Los controladores de imagen de modo kernel siguen siendo componentes proporcionados por el sistema o IHV que entregan datos hacia o desde el dispositivo de imagen fija. Un controlador de imagen de modo kernel sigue siendo específico del bus.

Microsoft proporciona controladores de imagen de modo kernel basados en WDM para los buses USB, SCSI y IEEE 1394. Consulte Accessing Kernel-Mode Drivers for Still Image Devices (Acceso a controladores de Kernel-Mode para dispositivos de imagen fija ) para obtener más información.

Un proveedor debe proporcionar un controlador de imagen de modo kernel solo si su dispositivo de creación de imágenes no es compatible con los controladores de E/S de modo kernel proporcionados por Microsoft.