Поделиться через


Проектирование 64-разрядных совместимых интерфейсов

Перенос из 32-разрядной версии Windows в 64-разрядную windows сам по себе не должен создавать проблемы для распределенных приложений, независимо от того, используют ли они удаленные вызовы процедур (RPC) напрямую или через DCOM. Модель программирования RPC определяет четко определенные размеры данных и целочисленные типы, имеющие одинаковый размер на каждом конце соединения. Кроме того, в абстрактной модели данных LLP64, разработанной для 64-разрядной версии Windows, только указатели расширяются до 64 бит, а все остальные целочисленные типы данных остаются 32 битами. Так как указатели являются локальными на каждой стороне подключения клиента или сервера и обычно передаются в виде маркеров NULL или не NULL , подсистема маршалинга может прозрачно обрабатывать указатели разных размеров на обоих концах соединения.

Однако проблемы обратной совместимости возникают при добавлении новых типов данных или методов в интерфейс, изменении старых типов данных или неправильном использовании типов данных. В следующих разделах описывается, как избежать таких ситуаций (когда это возможно) и как разработать надежные обходные пути, когда их невозможно избежать.

В этом разделе

Если вы еще не знакомы с новыми типами данных, рабочей средой и изменениями API для 64-разрядной версии Windows, см. статью Подготовка к работе с 64-разрядной версией Windows.