midl_user_allocate 属性
midl_user_allocate函数是客户端和服务器应用程序提供的用于分配内存的函数。
void __RPC_FAR * __RPC_API midl_user_allocate (size_t cBytes);
参数
-
cBytes
-
指定要分配的字节计数。
备注
客户端应用程序和服务器应用程序都必须实现 midl_user_allocate 函数,除非以 OSF 兼容性 (/osf) 模式进行编译。 处理指针引用的对象时,应用程序和生成的存根调用 midl_user_allocate :
- 服务器应用程序应调用 midl_user_allocate 为应用程序分配内存,例如,在创建新节点时。
- 将指向数据解封到服务器地址空间时,服务器存根调用 midl_user_allocate 。
- 从 out 指针引用的服务器取消封送数据时,客户端存根调用 midl_user_allocate。 请注意,对于 [in]、[out] 和 [unique] 指针,仅当 [unique] 指针值在输入时为 NULL 并在调用期间更改为非 NULL 值时,客户端存根才会调用 midl_user_allocate。 如果 [unique] 指针在输入时为非 NULL ,则客户端存根会将关联的数据写入现有内存。
如果 midl_user_allocate 分配内存失败,则必须返回 NULL 指针。
建议 midl_user_allocate 返回一个 8 字节对齐的指针。
示例
#include <windows.h>
void __RPC_FAR * __RPC_API midl_user_allocate(size_t cBytes)
{
return(malloc(cBytes));
}
另请参阅