Executando aplicativos de 32 bits

WOW64 é o emulador x86 que permite que aplicativos baseados no Windows de 32 bits sejam executados perfeitamente no Windows de 64 bits. Isso permite que aplicativos windows de 32 bits (x86) sejam executados perfeitamente no Windows de 64 bits (x64), bem como para aplicativos Windows de 32 bits (x86) e ARM (32 bits) para serem executados perfeitamente no Windows de 64 bits (ARM64). WOW64 é fornecido com o sistema operacional e não precisa ser habilitado explicitamente. Para obter mais informações, consulte Detalhes da implementação do WOW64.

O sistema isola aplicativos de 32 bits de aplicativos de 64 bits, o que inclui a prevenção de colisões de arquivo e registro. Há suporte para aplicativos de console, GUI e serviço. O sistema fornece interoperabilidade no limite 32/64 para cenários como recortar e colar e COM. No entanto, os processos de 32 bits não podem carregar DLLs de 64 bits para execução e os processos de 64 bits não podem carregar DLLs de 32 bits para execução. Essa restrição não se aplica a DLLs carregadas como arquivos de dados ou arquivos de recurso de imagem; para obter mais informações, consulte LoadLibraryEx.

Um aplicativo de 32 bits pode detectar se ele está em execução em WOW64 chamando a função IsWow64Process (use IsWow64Process2 se estiver direcionando Windows 10). O aplicativo pode obter informações adicionais sobre o processador usando a função GetNativeSystemInfo .

Observe que o Windows de 64 bits não dá suporte à execução de aplicativos baseados no Windows de 16 bits. O principal motivo é que os identificadores têm 32 bits significativos no Windows de 64 bits. Portanto, os identificadores não podem ser truncados e passados para aplicativos de 16 bits sem perda de dados. As tentativas de iniciar aplicativos de 16 bits falham com o seguinte erro: ERROR_BAD_EXE_FORMAT.

Nesta seção