Criando interfaces compatíveis com 64 bits

A portabilidade do Windows de 32 bits para o Windows de 64 bits não deve, por si só, criar problemas para aplicativos distribuídos, quer eles usem chamadas de procedimento remoto (RPC) diretamente ou por meio do DCOM. O modelo de programação RPC especifica tamanhos de dados bem definidos e tipos inteiros que têm o mesmo tamanho em cada extremidade da conexão. Além disso, no modelo de dados abstrato LLP64 desenvolvido para o Windows de 64 bits, somente os ponteiros se expandem para 64 bits— todos os outros tipos de dados inteiros permanecem 32 bits. Como os ponteiros são locais para cada lado da conexão cliente/servidor e geralmente são transmitidos como marcadores NULL ou não NULL , o mecanismo de marshaling pode lidar com diferentes tamanhos de ponteiro em qualquer extremidade de uma conexão de forma transparente.

No entanto, problemas de compatibilidade com versões anteriores surgem quando você adiciona novos tipos de dados ou métodos a uma interface, altera tipos de dados antigos ou usa tipos de dados inadequadamente. Os tópicos a seguir discutem como evitar essas situações (quando possível) e como criar soluções alternativas robustas quando não é possível evitá-las.

Nesta seção

Se você ainda não estiver familiarizado com os novos tipos de dados, o ambiente de trabalho e as alterações de API para o Windows de 64 bits, consulte Preparando-se para o Windows de 64 bits.