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] 指针,客户端存根调用 midl_user_allocate 仅在输入时 为NULL ,并在调用期间更改为非 NULL 值。 如果 输入时 [唯一] 指针为非 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));
}
另请参阅