Partilhar via


Projetando 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 de DCOM. O modelo de programação RPC especifica tamanhos de dados bem definidos e tipos inteiros que são do mesmo tamanho em cada extremidade da conexão. Além disso, no modelo de dados abstratos LLP64 desenvolvido para Windows de 64 bits, apenas os ponteiros se expandem para 64 bits — todos os outros tipos de dados inteiros permanecem em 32 bits. Como os ponteiros são locais a cada lado da conexão cliente/servidor e geralmente são transmitidos como NULL ou não-NULL marcadores, o motor 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 de forma inadequada. Os tópicos a seguir discutem como evitar essas situações (quando possível) e como projetar soluções alternativas robustas quando não é possível evitá-las.

Nesta secção

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