Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
As seguintes técnicas podem ser usadas para comunicação entre aplicativos de 32 bits e 64 bits:
- As versões de 64 bits do Windows usam identificadores de 32 bits para interoperabilidade. Ao compartilhar um identificador entre aplicativos de 32 bits e 64 bits, apenas os 32 bits inferiores são significativos, portanto, é seguro truncar o identificador (ao passá-lo de 64 bits para 32 bits) ou sinalizar e estender o identificador (ao passá-lo de 32 bits para 64 bits). As alças que podem ser compartilhadas incluem alças para objetos do usuário, como janelas (HWND), e alças para objetos GDI, como canetas e pincéis (HBRUSH e HPEN).
- Os objetos nomeados criados a partir de um processo de 32 bits podem ser acessados por processos de 64 bits e vice-versa (sujeitos às regras de segurança usuais). Os objetos nomeados incluem objetos como mutexes, semáforos e identificadores de arquivo.
- Chamadas de procedimento remoto (RPC) podem ser usadas.
- COM LocalServers pode ser usado se DLLs de proxy/stub de 32 bits e 64 bits estiverem registradas para todas as interfaces usadas.
- A memória compartilhada pode ser usada se os tipos dependentes de ponteiro forem convertidos corretamente (ou evitados).
- O CreateProcess e funções ShellExecute podem iniciar processos de 32 bits e 64 bits a partir de processos de 32 bits ou 64 bits com certas limitações.
Um arquivo executável de 64 bits localizado em %windir%\System32 não pode ser iniciado a partir de um processo de 32 bits, porque o redirecionador do sistema de arquivos redireciona o caminho. Não desative o redirecionamento para realizar isso; use %windir%\Sysnative em vez disso. Para obter mais informações, consulte Redirecionador de Sistema de Arquivos.