Arquivos INF para dispositivos WIA
Importante
Algumas informações contidas neste artigo se aplicam a sistemas operacionais Windows obsoletos.
O instalador de classe padrão para dispositivos de imagem parada, sti_ci.dll, reconhece um conjunto especial de entradas de arquivo INF. Em um arquivo INF, essas entradas devem ser colocadas na Seção INF DDInstall de um dispositivo. As entradas são descritas na tabela a seguir.
Entrada de arquivo INF | Valor | Comentários |
---|---|---|
Subclasse | StillImage | Obrigatório |
DeviceType | 1 para scanners 2 para câmeras 3 para streaming de vídeo |
Obrigatório |
DeviceSubType | Valor definido pelo fornecedor | Opcional |
Conexão | Para dispositivos não Plug and Play conectados a portas seriais ou paralelas, isso pode ser Serial ou Parallel para limitar a escolha de portas do usuário durante a instalação. | Opcional Se não for especificado, o usuário poderá selecionar qualquer porta serial ou paralela. |
Funcionalidades | Especifica um número que é convertido em sinalizadores de bits que identificam as funcionalidades do dispositivo. Esses sinalizadores são armazenados no registro e estão disponíveis para componentes de STI por meio da estrutura STI_DEV_CAPS. Bit 0 – define/limpa STI_GENCAP_NOTIFICATIONS em STI_DEV_CAPS. Bit 1 – define/limpa STI_GENCAP_POLLING_NEEDED em STI_DEV_CAPS. Bit 2 – define/limpa STI_GENCAP_GENERATE_ARRIVALEVENT em STI_DEV_CAPS. Bit 3 – define/limpa STI_GENCAP_AUTO_PORTSELECT em STI_DEV_CAPS. Bit 4 – define/limpa STI_GENCAP_WIA em STI_DEV_CAPS. Bit 5 – define/limpa STI_GENCAP_SUBSET em STI_DEV_CAPS. |
Opcional No momento, o bit 5 não é usado. Defina essa entrada no arquivo INF como 0x33 para dar suporte a eventos de botão de ação com o scanner. |
Propertypages | Somente para Windows 98 e Windows 2000 Identifica o nome e o ponto de entrada de uma DLL que cria páginas de folha de propriedades personalizadas para dispositivos de imagem parada. Para obter mais informações sobre a entrada PropertyPages , consulte Arquivos INF para dispositivos de imagem parada. |
Opcional Essa entrada é usada apenas por drivers de STI e está obsoleta para drivers WIA. Para obter informações sobre páginas de propriedades relevantes para desenvolvedores de driver WIA, consulte a Observação em PropertyPages seguindo esta tabela. |
DeviceData | Identifica uma seção de dados fornecida pelo fornecedor que contém informações a serem armazenadas no registro, na chave DeviceData . Para dispositivos com suporte para TWAIN, a seção de dados deve conter uma entrada TwainDS (consulte Entradas do Registro para drivers WIA) | Opcional |
Eventos | Identifica uma seção de dados fornecida pelo fornecedor listando eventos de dispositivo de imagem ainda. Cada entrada nesta seção deve ter o seguinte formato: EventName="String",{GUID},App EventName é o nome interno do evento, String é a cadeia de caracteres de exibição do evento, GUID é o GUID do evento e App especifica o aplicativo de geração de imagens a ser iniciado quando o evento ocorre. Para iniciar o aplicativo registrado no momento, use um asterisco () paraApp*. |
Obrigatório |
PortSelect | Se a instalação do dispositivo não exigir uma página de seleção de porta, um valor de "não" fará com que essa página seja ignorada. Esse valor também faz com que o valor de entrada CreateFileName (consulte a Observação em CreateFileName e PortSelect seguindo esta tabela) seja definido automaticamente como AUTO. Um valor de Message1 faz com que uma mensagem fornecida pelo sistema seja exibida e define o valor de entrada CreateFileName como AUTO. Aplica-se a scanners e câmeras que exigem instalação manual. |
Opcional Observe que, para dispositivos Plug and Play, PortSelect é ignorado, mas o dispositivo ainda deve ter o valor de entrada CreateFileName definido como AUTO para que o WIA carregue o dispositivo. Use a Diretiva AddReg do INF para adicionar essa entrada à Seção INF DDInstall do arquivo INF do dispositivo. |
Observação
Para se comunicar com um dispositivo, um cliente de modo de usuário (um minidriver) deve solicitar ao serviço WIA o nome do arquivo do dispositivo e uma cadeia de caracteres que especifique o nome do objeto a ser criado ou aberto. (O nome do arquivo não precisa ser o nome de um arquivo de disco.) Respondendo a essa consulta, o serviço WIA obtém o nome do arquivo do dispositivo da entrada do Registro CreateFileName . (Os driversusbscan.sys e scsiscan.sys do modo kernel criam essa entrada, assim como o instalador de classe.) O minidriver recebe esse nome de arquivo chamando o método IStiDeviceControl::GetMyDevicePortName . O minidriver pode usar esse nome de arquivo quando chama a função CreateFile para abrir um identificador para o dispositivo. Se o dispositivo for instalado manualmente, o instalador de classe criará a entrada CreateFileName , definindo seu valor como um que depende da seleção do usuário na página de seleção de porta: COMX, LPTX ou AUTO. Alguns dispositivos (scanners de rede, por exemplo) instalados manualmente não exigem uma porta. Nesses casos, a caixa de diálogo de seleção de porta resultante pode confundir os usuários. Você pode impedir que essa caixa de diálogo apareça adicionando a seguinte entrada na Seção INF DDInstall do arquivo INF do dispositivo.
PortSelect=NO
Observação
Um efeito colateral desse valor de entrada é que a entrada CreateFileName está definida como AUTO. Lembre-se de que, se o minidriver receber AUTO para o nome do arquivo, ele deverá ser capaz de determinar por conta própria com qual dispositivo ele deve se comunicar.
Observação
Para PropertyPages, um driver WIA deve usar um mecanismo de extensibilidade diferente para adicionar páginas de propriedades. Ele também deve adicionar seu próprio GUID à entrada de ID da Classe de Interface do Usuário em seus arquivos INF e deve fornecer um registro de extensibilidade de interface do usuário específico (consulte Entradas do Registro de Extensão da Interface do Usuário) para os componentes da interface do usuário que estão sendo substituídos, como caixas de diálogo comuns ou adicionados, como menus de contexto e páginas de propriedades. Um driver WIA também deve fornecer o registro de extensibilidade da interface do usuário para o próprio componente.
Entradas de arquivo INF adicionais
As entradas na tabela a seguir devem ser colocadas dentro da seção apontada pela Diretiva AddReg inf do dispositivo:
Entrada de arquivo INF | Valor | Comentários |
---|---|---|
HardwareConfig | Indica o tipo de conexão que o dispositivo está usando. 1,1 – dispositivo WDM genérico 1,2 – dispositivo SCSI 1,4 – Dispositivo USB 1,8 – dispositivo serial 1,16 – dispositivo paralelo |
Opcional |
USDClass | Indica o GUID do minidriver. | Opcional. O GUID nas entradas USDClass e CLSID deve corresponder ao GUID usado na função DllGetClassObject do minidriver. Se você estiver escrevendo um microdriver, o valor deverá ser BB6CF8E2-1511-40bd-91BA-80D43C53064E. Caso contrário, você deve gerar um novo GUID usando, por exemplo, genguid.exe. |
CLSID | Indica o GUID do minidriver. | Opcional. Consulte os comentários imediatamente anteriores para a entrada USDClass . |
O instalador de classe padrão para dispositivos de imagem parada dá suporte à Diretiva CopyFiles inf padrão.
O arquivo INF padrão para dispositivos de imagem parada, sti.inf, define duas seções de instalação para cada tipo de dispositivo, da seguinte maneira:
Uma Seção INF DDInstall, que deve ser referenciada na seção DDInstall do arquivo INF fornecido pelo fornecedor, conforme mostrado na tabela a seguir.
Tipo de dispositivo Incluir Necessidades IEEE 1394/SBP2 Include=sti.inf Needs=STI. SBP2Section USB Include=sti.inf Needs=STI. USBSection SCSI Include=sti.inf Needs=STI. SCSISection Serial Include=sti.inf Needs=STI. SerialSection Uma seção INF DDInstall Services, que deve ser referenciada na seção INF DDInstall.Services do arquivo INF fornecido pelo fornecedor, conforme mostrado na tabela a seguir.
Tipo de dispositivo Incluir Necessidades 1394/SBP2 Include=sti.inf Needs=STI. SBP2Section.Services USB Include=sti.inf Needs=STI. USBSection.Services SCSI Include=sti.inf Needs=STI. SCSISection.Services Serial Include=sti.inf Needs=STI. SerialSection.Services
Para obter diretrizes adicionais sobre como criar arquivos INF para dispositivos de imagem parada, você pode examinar qualquer arquivo INF fornecido com o Windows que contenha a entrada SubClass=StillImage.
Para designar o dispositivo como um dispositivo WIA, o arquivo INF do minidriver deve conter os seguintes valores colocados na seção DeviceData do arquivo INF fornecido pelo fornecedor.
Entrada de arquivo INF | Valor | Comentários |
---|---|---|
Servidor | Local | Designa o dispositivo como um dispositivo local. Isso é opcional e, se um fornecedor não especificar um valor de entrada, o dispositivo será considerado local. Ou seja, a propriedade WIA_DIP_SERVER_NAME é definida como Local. |
MicroDriver | Nome do arquivo .dll fornecido pelo fornecedor | Essa entrada deve ser definida como o nome da DLL fornecida pelo fornecedor que implementa o microdriver WIA. |
DLL da interface do usuário | Nome do arquivo .dll fornecido pelo fornecedor | Obsoleto e nunca usado. Anteriormente, essa entrada indicava o nome do arquivo DLL da interface do usuário fornecido pelo fornecedor. |
ID da classe de interface do usuário | Identificador de classe de dispositivo fornecido pelo fornecedor | Indica a classe de dispositivo à qual a interface do usuário fornecida pelo fornecedor é capaz de dar suporte. Isso é opcional e, se um fornecedor não especificar um valor de entrada, o WIA definirá a propriedade WIA_DIP_UI_CLSID como GUID_NULL e a interface do usuário wia padrão será usada. |
ICMProfiles | Valor do perfil de cor fornecido pelo fornecedor | Especifica um valor a ser colocado na propriedade WIA_IPA_ICM_PROFILE_NAME. Se nenhum valor for especificado, o perfil sRGB padrão sRGB Color Space Profile.icm será usado. |
A entrada do MicroDriver será necessária somente se o fornecedor fornecer um microdriver WIA.
As entradas da interface do usuário serão necessárias somente se o fornecedor fornecer uma interface do usuário personalizada para o dispositivo de geração de imagens.
Comentários
Ao desenvolver um arquivo INF para scanners, você pode usar descritores do sistema operacional da Microsoft para habilitar a funcionalidade de ID de compatibilidade. Ao fazer isso, você permite que um driver de scanner seja compatível com vários modelos de scanner.