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] 指针,客户端存根调用 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)); 
}

另请参阅

分配

数组

数组和指针

数组和 Sized-Pointer 属性

中的

midl_user_free

/osf

ptr

裁判

唯一的