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


Атрибуты направления, применяемые к параметру

Атрибуты направления [ in] и [ out] определяют, как клиент и сервер выделяют и освобождают память. В следующей таблице приводится сводная информация о влиянии атрибутов направления на выделение памяти.

Атрибут directional Память на клиенте Память на сервере
[ in] Клиентское приложение должно выделить перед вызовом. Выделение заглушки сервера.
[ out] Заглушка клиента выделяет при возврате. Заглушка сервера выделяет только указатель верхнего уровня; серверное приложение должно выделить все внедренные указатели. Сервер также выделяет новые данные по мере необходимости.
[вход, выход] Клиентское приложение должно выделять исходные данные, передаваемые на сервер; заглушка клиента выделяет дополнительные данные. Серверная заглушка выделяет исходные данные, передаваемые от клиента; серверное приложение выделяет новые данные по мере необходимости.

 

Во всех этих случаях заглушка клиента не освобождает память. Клиентское приложение должно освободить память перед завершением работы. Серверная заглушка освобождает память при возврате вызова удаленной процедуры (с учетом атрибута [ allocate] ACF).