Partilhar via


Interoperabilidade wia de 32 bits e 64 bits

Em sistemas que executam o Windows 64-Bit Edition para Processadores Estendidos, todos os componentes wia são de 64 bits, portanto, a infraestrutura wia foi alterada para permitir a interoperabilidade entre esses drivers de 64 bits e aplicativos existentes de 32 bits.

Em edições de 64 bits do sistema operacional Windows, o minidriver WIA de 64 bits é carregado no processo de 64 bits do serviço WIA. No entanto, as extensões de interface do usuário do minidriver WIA são carregadas no espaço de processo do aplicativo. Um processo de 32 bits não modificado do aplicativo Microsoft Win32 executado em um computador baseado em x64 não seria capaz de carregar a extensão de interface do usuário de 64 bits.

Para atenuar o problema de 32 bits para 64 bits, a Microsoft fornece um host de extensão de 64 bits ,wiawow64.exe. Esse host garante a interoperabilidade transparente entre aplicativos de 32 bits e extensões de interface do usuário wia de 64 bits. O host de extensãowiawow64.exe estará disponível no Windows Server 2003 64-Bit Edition para Processadores Estendidos, Windows XP 64 Bits Edition para Processadores Estendidos, Windows Vista e versões posteriores do sistema operacional.

O serviço WIA determinará onde as extensões de interface do usuário são carregadas fisicamente, dependendo se o aplicativo tem 64 bits ou 32 bits:

  • Aplicativo de 64 bits. A extensão de interface do usuário do minidriver WIA de 64 bits é carregada diretamente no espaço de processo do aplicativo. Isso é semelhante ao que acontece quando você executa um aplicativo de 32 bits em versões de 32 bits do sistema operacional Windows.

  • Aplicativo de 32 bits. O WIA inicia o host de extensãowiawow64.exeno qual as extensões de interface do usuário serão carregadas. Uma instância separada de wiawow64.exe é criada e iniciada sempre que uma chamada para qualquer um dos métodos de interface vem de um aplicativo de 32 bits. O hostwiawow64.exe é executado no mesmo contexto que o aplicativo e se comunica com o aplicativo por meio das interfaces COM existentes.

Embora wiawow64.exe seja completamente transparente para gravadores de aplicativos WIA e desenvolvedores de driver WIA, os desenvolvedores de driver precisam depurar o processo dewiawow64.exe em vez do aplicativo de 32 bits para depurar extensões de interface do usuário de 64 bits.