应用于参数的方向属性

方向属性 [ in] 和 [ out] 确定客户端和服务器如何分配和释放内存。 下表总结了方向属性对内存分配的影响。

方向属性 客户端上的内存 服务器上的内存
[ in] 客户端应用程序必须在调用之前进行分配。 服务器存根分配。
[ out] 客户端存根在返回时分配。 服务器存根仅分配顶级指针;服务器应用程序必须分配所有嵌入的指针。 服务器还会根据需要分配新数据。
[inout] 客户端应用程序必须分配传输到服务器的初始数据;客户端存根分配其他数据。 服务器存根分配从客户端传输的初始数据;服务器应用程序根据需要分配新数据。

 

在所有这些情况下,客户端存根不会释放内存。 客户端应用程序在终止之前必须释放内存。 当远程过程调用返回受 [ allocate] ACF 属性) 约束 (时,服务器存根将释放内存。