Partilhar via


Componentes wia

O WIA consiste em várias camadas que intercedem entre o usuário e o hardware. O usuário interage com o aplicativo WIA, que pode ter interfaces de usuário opcionais. Esse aplicativo se comunica com o serviço WIA, que envia as solicitações do usuário para o minidriver. O minidriver se comunica com o driver de barramento no modo kernel relevante. Por fim, o motorista do barramento se comunica com o hardware. O diagrama a seguir ilustra os componentes de software que compõem a interface WIA.

diagrama ilustrando os componentes de software que compõem a interface wia.

Aplicativos de geração de imagens

Os aplicativos de imagem não se comunicam diretamente com o minidriver, mas se comunicam com o serviço WIA por meio da API wia (interface de programação de aplicativos WIA) para acessar imagens e adquirir dados de dispositivos WIA. Esses aplicativos podem usar a interface do usuário (interface do usuário) fornecida pelo sistema ou uma que o fabricante do dispositivo fornece. A interface do usuário é usada para selecionar itens para transferência e para definir propriedades relevantes. Observe que é o aplicativo, não o driver, que transfere os itens selecionados depois que a interface do usuário é ignorada. Para obter mais informações sobre a API wia para aplicativos de geração de imagens, consulte a documentação do SDK do Microsoft Windows.

Serviço WIA

O serviço WIA é um componente fornecido pelo sistema que se comunica com aplicativos de imagens e minidrivers WIA. O serviço WIA é uma coleção das interfaces COM listadas na tabela a seguir, todas descritas na documentação do SDK do Microsoft Windows. O serviço WIA é executado em um processo separado dos aplicativos, mas no mesmo processo que os minidrivers WIA. Aplicativos direcionam solicitações de dispositivo para o serviço WIA. Em seguida, o serviço WIA direciona essas solicitações para o minidriver apropriado, por meio de uma WIA DDI (interface do driver de dispositivo WIA). A tabela a seguir lista as APIs que um aplicativo WIA pode implementar.

WIA API Descrição
IEnumWIA_DEV_CAPS Enumera os recursos do dispositivo de hardware WIA. Os recursos do dispositivo incluem comandos e eventos compatíveis com o dispositivo.
IEnumWIA_DEV_INFO Enumera os dispositivos de hardware WIA e suas propriedades. As propriedades de informações do dispositivo descrevem a instalação e a configuração de dispositivos de hardware WIA.
IEnumWIA_FORMAT_INFO Enumera as informações de formato e tipo de mídia para um dispositivo.
IEnumWiaItem Enumera objetos IWiaItem na pasta atual de uma árvore. O sistema de tempo de execução wia representa cada dispositivo de hardware WIA para um aplicativo como uma árvore hierárquica de objetos IWiaItem .
IWiaDataCallback Fornece um mecanismo de retorno de chamada de aplicativo durante transferências de dados de dispositivos de hardware WIA para aplicativos.
IWiaDataTransfer Dá suporte a uma janela de memória compartilhada para transferir dados do objeto do dispositivo para o aplicativo e elimina cópias de dados desnecessárias durante o marshalling.
IWiaDevMgr Usado por aplicativos para criar e gerenciar dispositivos de aquisição de imagens. Eles também o usam para se registrar para receber eventos do dispositivo.
IWiaEventCallback Usado por aplicativos para receber notificação de eventos de dispositivo de hardware WIA.
IWiaItem Permite que os aplicativos consultem dispositivos para seus recursos. O IWiaItem também fornece acesso a interfaces de transferência de dados e propriedades de item. Além disso, essa interface fornece métodos para permitir que os aplicativos controlem o dispositivo.
IWiaPropertyStorage Fornece acesso a informações sobre as propriedades de um objeto IWiaItem .

Biblioteca de serviços de driver wia

A biblioteca de serviços de driver wia é um componente fornecido pelo sistema que fornece funções auxiliares para minidrivers WIA. Um minidriver pode chamar funções auxiliares para executar tarefas, como o seguinte:

Como alternativa, um minidriver pode executar essas tarefas em si. Usando as funções auxiliares, você pode reduzir o tempo de desenvolvimento e o tamanho de um minidriver WIA e ainda ter a flexibilidade de desenvolver soluções individuais.

Biblioteca de utilitários WIA

A biblioteca de utilitários WIA inclui uma coleção de funções de depuração (wiauDbgXxx), uma coleção de funções auxiliares do utilitário geral e três classes: a classe CWiauDbgFn , a classe CWiauFormatConverter e a classe CWiauPropertyList .

Minidrivers WIA

Os minidrivers WIA são componentes fornecidos pelo fornecedor e do modo de usuário que direcionam as alterações de propriedade wia e os comandos para um dispositivo de geração de imagens. Um minidriver implementa o DDI wia, que o serviço WIA chama para se comunicar com o minidriver.

Um minidriver WIA fornece uma interface do usuário específica do dispositivo para um driver de imagem ainda no modo kernel, que conduz o dispositivo de imagem por meio de um driver, como um driver USB. Um minidriver se comunica com os drivers do modo kernel chamando as funções CreateFile, ReadFile, WriteFile e DeviceIoControl microsoft Win32 (que são descritas na documentação do SDK do Microsoft Windows).

Um aplicativo de imagens não pode chamar diretamente o minidriver WIA. Somente o serviço WIA pode chamar o driver diretamente.

Drivers de E/S do kernel

Os drivers de imagem ainda no modo kernel são componentes fornecidos pelo sistema ou fornecidos por IHV que empacotam dados para entrega em dispositivos de imagem ainda e para transferência de dispositivos de imagem ainda. Um driver de imagem ainda no modo kernel é específico do barramento.

A Microsoft fornece drivers de imagem do modo kernel baseado em WDM (Modelo de Driver do Microsoft Windows) para os ônibus USB, SCSI, serial e IEEE 1394. Para obter mais informações sobre esses drivers, consulte Acessando drivers no modo kernel para dispositivos de imagem ainda.

Um fornecedor deve fornecer um driver de imagem ainda no modo kernel somente se seu dispositivo de geração de imagens for incompatível com drivers de E/S no modo kernel fornecidos pela Microsoft.

Você pode recuperar informações de versão do driver. A propriedade WIA_DIP_WIA_VERSION contém a versão wia e a propriedade WIA_DIP_DRIVER_VERSION contém a versão DLL do driver. O serviço WIA cria e mantém essas propriedades; eles são adicionados automaticamente pelo serviço WIA quando o driver é carregado. O Windows Me não inclui essas propriedades.