Compartilhar via


Criando um microdriver WIA

Muitos scanners de flatbed são controlados de maneira semelhante. O comportamento comum entre modelos foi abstraído em um driver comum fornecido pela Microsoft chamado WiA Flatbed Driver. Esse driver chama uma DLL, chamada de microdriver, fornecida pelo fornecedor do scanner, que implementa qualquer comportamento específico do dispositivo necessário. O Driver de Flatbed wia junto com o microdriver pode ser usado como um minidriver WIA. A vantagem de usar um microdriver é que é muito fácil implementar e depurar. Nem todos os scanners podem ser compatíveis com um microdriver. É mais apropriado para dispositivos simples (sem um duplexer ou outros recursos avançados) ou quando um driver de funcionalidade base é desejado.

Nota Os microdrivers WIA descritos nesta seção são WIA 1.0. Atualmente, não há um modelo de microdriver WIA correspondente para WIA 2.0. Se você desenvolver um microdriver WIA para ser executado em um computador que tenha uma versão do Windows compatível com o WIA 2.0 (Windows Vista ou mais recente), esse microdriver WIA funcionará como qualquer outro dispositivo WIA 1.0 e será usado por aplicativos WIA 2.0 no modo de compatibilidade WIA 1.0.

O diagrama a seguir mostra os componentes na arquitetura do microdriver WIA.

diagrama ilustrando os componentes na arquitetura do microdriver wia.

O WiA Flatbed Driver manipula solicitações do serviço WIA chamando as funções de microdriver WIA no microdriver. O microdriver deve implementar cada uma dessas funções. Uma estrutura SCANINFO é passada para o microdriver para armazenar e comunicar parâmetros de verificação, como a janela de verificação e a resolução. O Driver de Flatbed wia lê valores da estrutura SCANINFO, mas nunca os grava. É responsabilidade do microdriver definir os membros SCANINFO.

O microdriver não deve armazenar parâmetros para uma verificação, mas deve contar com os valores armazenados na estrutura SCANINFO . Isso é importante para dar suporte a vários acessos de aplicativos ao dispositivo. Se dois aplicativos estiverem configurando uma verificação no mesmo dispositivo ao mesmo tempo, haverá apenas uma cópia do microdriver em execução. Nessa situação, o microdriver é chamado com uma das duas estruturas SCANINFO diferentes, dependendo de qual aplicativo está tentando acessar o dispositivo.