应用于参数的方向属性
方向属性 [] 和 [out] 确定客户端和服务器如何分配和释放内存。 下表总结了方向属性对内存分配的影响。
方向属性 | 客户端上的内存 | 服务器上的内存 |
---|---|---|
[ 中的] | 客户端应用程序必须在调用之前分配。 | 服务器存根分配。 |
[ out] | 客户端存根在返回时分配。 | 服务器存根仅分配顶级指针;服务器应用程序必须分配所有嵌入式指针。 服务器还会根据需要分配新数据。 |
[中的, out] | 客户端应用程序必须分配传输到服务器的初始数据;客户端存根分配其他数据。 | 服务器存根分配从客户端传输的初始数据;服务器应用程序根据需要分配新数据。 |
在所有这些情况下,客户端存根不会释放内存。 客户端应用程序在终止之前必须释放内存。 当远程过程调用返回时,服务器存根释放内存(受 [分配] ACF 属性的约束)。