Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
A partir do WDK para Windows 11, versão 22H2, os coinstaladores redistribuíveis WDF não são mais suportados. Para saber como contornar essa alteração, consulte os coinstaladores redistribuíveis WDF não funcionam no artigo problemas conhecidos do WDK.
É necessário um procedimento especial para instalar a funcionalidade de digitalização em impressoras multifunções com apenas um único objeto de dispositivo físico (DOP). Se o dispositivo se identificar como uma impressora, o arquivo INF da impressora pode chamar o coinstalador WIA para instalar a funcionalidade de digitalização.
A Microsoft recomenda que cada função lógica de uma impressora multifunções tenha o seu próprio DOP, se possível. Deve ser evitada a associação de múltiplas funções de um dispositivo a uma única DOP.
Se registares o coinstalador WIA como o coinstalador do teu dispositivo, a Instalação chamará sempre o coinstalador WIA para processar a instalação antes e depois do instalador da classe Impressora. O coinstalador WIA cria uma interface de dispositivo de classe Image no PDO da impressora e armazena todas as informações necessárias na chave de registo da interface do dispositivo. A localização atual no registo desta chave é:
HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses\{6bdd1fc6-810f-11d0-bec7-08002be2092f}\<link simbólico do dispositivo>
Não é garantido que essa chave permaneça neste local em versões futuras do sistema operacional. Para abrir esta chave, chame SetupDiOpenDeviceInterfaceRegKey.
O serviço WIA enumera todos os PDOs de classe de imagem e interfaces de dispositivo. Portanto, a interface de dispositivo recém-criada é enumerada como um dispositivo WIA.
O DDK do Windows vem com um exemplo de INF que instala a funcionalidade de digitalização numa impressora multifuncional que possui apenas um único PDO. O nome desse arquivo é mfpoemprn.infe está localizado no diretório \src\print\infs.
Para instalar a funcionalidade de digitalização numa impressora multifunções
Especifique sti_ci.dll como o valor de entrada para a entrada CoInstallerEntry.
O INF do seu dispositivo deve ter um INF DDInstall.CoInstallers Section para poder registrar o coinstalador para instalação do dispositivo. Esta seção deve ser semelhante ao exemplo a seguir:
[OEMMFP.GPD.CoInstallers] AddReg=WIA.CoInstallers.AddReg [WIA.CoInstallers.AddReg] HKR,,CoInstallers32,0x00010000,"sti_ci.dll, CoInstallerEntry"
Inclua uma entrada WIASection no INF DDInstall Section que se refira à seção que contém todas as configurações relacionadas ao WIA. A seção que contém as configurações relacionadas ao WIA deve aparecer no mesmo arquivo INF.
[OEMMFP.GPD] CopyFiles=@OEMMFP.DLL,@OEMPRT1.DLL,@OEMUI.DLL,OEMMFP.GPD.WIA.CopyFiles WIASection=OEMMFP.GPD.WIA [OEMMFP.GPD.WIA] Description=%OEM_MFP_SCANNER% SubClass=StillImage DeviceType=1 Capabilities=0x00000011 AddReg=OEMMFP.GPD.WIA.AddReg DeviceData=OEMMFP.GPD.WIA.DeviceData ICMProfiles="sRGB Color Space Profile.icm" USDClass="{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"
Ao incluir uma entrada WIASection, o instalador da classe Imagem não cria um devnode para o dispositivo, mas sim uma interface de dispositivo adicional. Assim, ele usa a chave de registro da interface do dispositivo mencionada anteriormente para armazenar informações relacionadas a STI/WIA.
Certifique-se de que a seção INF DDInstall copia todos os arquivos necessários.
Como alternativa, você pode listar os arquivos a serem copiados no WIASection, mas eles não serão listados no Gerenciador de dispositivos.
As entradas Include e Needs não podem ser usadas na seção WIASection.
Todos os componentes em modo kernel devem ser instalados pelo ficheiro original INF DDInstall Section.
Se o dispositivo for hot-pluggable e exigir seu próprio componente de modo kernel, ele deverá criar e habilitar uma interface de dispositivo de classe Image. Essa interface é adicional a quaisquer outras interfaces de dispositivo de classe, como a interface de dispositivo de classe de impressão.
O componente de modo kernel habilita uma interface de dispositivo da classe Image no devnode do dispositivo, através de uma chamada para a função IoSetDeviceInterfaceState. Quando a interface do dispositivo da classe Image está habilitada, um evento Plug and Play é acionado, notificando o serviço WIA de que o dispositivo está conectado.