MesEncodeDynBufferHandleCreate 函数 (midles.h)
MesEncodeDynBufferHandleCreate 函数创建一个编码句柄,然后初始化它以采用动态的序列化缓冲区样式。
语法
RPC_STATUS MesEncodeDynBufferHandleCreate(
char **pBuffer,
unsigned long *pEncodedSize,
handle_t *pHandle
);
parameters
pBuffer
指向指向存根提供的缓冲区的指针的指针,该缓冲区包含序列化完成后的编码。
pEncodedSize
指向已完成编码的大小的指针。 大小将通过后续编码操作写入 到 pEncodedSize 指向的内存位置。
pHandle
指向要向其写入句柄的地址的指针。
返回值
值 | 含义 |
---|---|
|
调用成功。 |
|
参数无效。 |
|
内存不足。 |
注意 有关有效错误代码的列表,请参阅 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 |