MesEncodeDynBufferHandleCreate 函数 (midles.h)

MesEncodeDynBufferHandleCreate 函数创建一个编码句柄,然后初始化它以采用动态的序列化缓冲区样式。

语法

RPC_STATUS MesEncodeDynBufferHandleCreate(
  char          **pBuffer,
  unsigned long *pEncodedSize,
  handle_t      *pHandle
);

parameters

pBuffer

指向指向存根提供的缓冲区的指针的指针,该缓冲区包含序列化完成后的编码。

pEncodedSize

指向已完成编码的大小的指针。 大小将通过后续编码操作写入 到 pEncodedSize 指向的内存位置。

pHandle

指向要向其写入句柄的地址的指针。

返回值

含义
RPC_S_OK
调用成功。
RPC_S_INVALID_ARG
参数无效。
RPC_S_OUT_OF_MEMORY
内存不足。
 
注意 有关有效错误代码的列表,请参阅 RPC 返回值
 

注解

应用程序使用 MesEncodeDynBufferHandleCreate 例程来分配内存并初始化编码的动态缓冲区样式的句柄。 使用编码的动态缓冲区样式时,将放置所有编码数据的缓冲区由存根提供。 此缓冲区将由当前客户端内存管理机制分配。

将此样式用于具有相同句柄的多个编码时,可能会对性能产生影响。 从编码返回单个缓冲区,并从中间缓冲区复制数据。 必要时释放缓冲区。

如果使用 -protocol all 或 -protocol ndr64 编译存根,并且要使用 NDR64 传输语法对缓冲区进行编码,则必须调用 MesBufferHandleReset 函数,并将其 OpCode 参数设置为 MES_ENCODE_NDR64。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 midles.h (包括 Rpc.h)
Library Rpcrt4.lib
DLL Rpcrt4.dll

另请参阅

MesBufferhandleReset

MesHandleFree