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)); 
}

另请参阅

分配

阵 列

数组和指针

数组和Sized-Pointer属性

in

midl_user_free

/osf

out

Ptr

裁判

unique