NdrComplexStructUnmarshall 函数 (rpcndr.h)
NdrComplexStructUnmarshall 函数将复杂结构从网络缓冲区解组到内存。
语法
unsigned char * NdrComplexStructUnmarshall(
[in, out] PMIDL_STUB_MESSAGE pStubMsg,
[out] unsigned char **ppMemory,
[in] PFORMAT_STRING pFormat,
[in] unsigned char fMustAlloc
);
参数
[in, out] pStubMsg
指向 MIDL_STUB_MESSAGE 结构的指针,该结构维护 RPC 存根的当前状态。 MIDL_STUB_MESSAGE结构仅供内部使用,不得修改。
[out] ppMemory
指向指向未封结的复杂结构的指针的地址。 如果设置为 null,或者 fMustAlloc 参数设置为 TRUE,则存根将分配内存。
[in] pFormat
指向格式字符串说明的指针。
[in] fMustAlloc
指定存根是否必须分配复杂结构要封送到其中的内存的标志。 如果 RPC 必须分配 ppMemory,则指定 TRUE。
返回值
成功后返回 null。 失败时引发以下异常之一。
错误 | 说明 |
---|---|
RPC_BAD_STUB_DATA或RPC_X_INVALID_BOUND | 网络不正确。 |
RPC_S_OUT_OF_MEMORY | 内存不足。 |
STATUS_ACCESS_VIOLATION | 发生访问冲突。 |
RPC_S_INTERNAL_ERROR | RPC 中发生错误。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 专业版 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows 2000 Server [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | rpcndr.h |
Library | Rpcrt4.lib |
DLL | Rpcrt4.dll |