Creación de un microdriver WIA
Muchos escáneres planos se controlan de forma similar. El comportamiento común entre los modelos se ha abstraido en un controlador común proporcionado por Microsoft denominado controlador plano WIA. Este controlador llama a un archivo DLL, denominado microdriver, proporcionado por el proveedor del analizador, que implementa cualquier comportamiento específico del dispositivo necesario. El controlador wia plano junto con el microdriver se puede usar como minidriver WIA. La ventaja de usar un microdriver es que es muy fácil de implementar y depurar. No todos los escáneres pueden ser compatibles con un microdriver. Es más adecuado para dispositivos simples (sin un dúplex u otras características avanzadas), o cuando se desea un controlador de funcionalidad base.
Nota Los microdrivers WIA descritos en esta sección son WIA 1.0. Actualmente no hay ningún modelo de microdriver WIA correspondiente para WIA 2.0. Si desarrollas un microdriver WIA para que se ejecute en un equipo que tenga una versión de Windows que admita WIA 2.0 (Windows Vista o posterior), este microdriver WIA funcionará como cualquier otro dispositivo WIA 1.0 y lo usarán las aplicaciones WIA 2.0 en modo de compatibilidad WIA 1.0.
En el diagrama siguiente se muestran los componentes de la arquitectura del microdriver WIA.
WiA Flatbed Driver controla las solicitudes del servicio WIA llamando a las funciones de microdriver WIA en el microdriver. El microdriver debe implementar cada una de estas funciones. Se pasa una estructura SCANINFO al microdriver para almacenar y comunicar parámetros de examen, como la ventana de examen y la resolución. WiA Flatbed Driver lee los valores de la estructura SCANINFO, pero nunca los escribe. Es responsabilidad del microdriver establecer los miembros SCANINFO.
El microdriver no debe almacenar ningún parámetro para un examen, pero debe basarse en los valores almacenados en la estructura SCANINFO . Esto es importante para admitir el acceso de varias aplicaciones al dispositivo. Si dos aplicaciones configuran un examen en el mismo dispositivo al mismo tiempo, solo hay una copia del microdriver en ejecución. En esta situación, se llama al microdriver con una de las dos estructuras SCANINFO diferentes en función de la aplicación que intenta acceder al dispositivo.