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


Атрибуты псевдонимов и маршалинга

Распределенные приложения почти всегда передают данные между клиентскими и серверные программами при вызове процедур интерфейса. Разработчики используют MIDL для описания данных, передаваемых клиентскими и серверным программами стандартным способом. Компилятор MIDL создает заглушки приложения или прокси-сервер для клиента и сервера, которые преобразуют данные в стандартизированную форму, которую можно отправить по сети. Этот формат, формат представления сетевых данных (NDR), часто называется форматом передачи данных. Заглушки должны преобразовывать данные из собственного формата в пространстве памяти программы в NDR. Это преобразование называется маршалированием данных. Когда клиент или серверная программа получает данные, она должна преобразовать данные из NDR в собственный формат для этой программы. Это называется размежеванием данных.

Используйте атрибуты псевдонимов и маршалинга для управления тем, как данные упаковывались в формат NDR и передавались по сети.

attribute Использование
call_as Сопоставляет неизменяемую функцию с удаленным вызовом процедуры.
iid_is Предоставляет идентификатор интерфейса COM-интерфейса, который является объектом указателя.
transmit_as Преобразует тип данных в более простой для передачи по сети.
wire_marshal Аналогично transmit_as но вы реализуете подпрограммы для изменения размера, маршалирования, отмены маршалирования и освобождения данных.

 

Преобразование типов и маршалинг атрибутов ACF