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