NdrComplexStructUnmarshall function (rpcndr.h)
The NdrComplexStructUnmarshall function unmarshals the complex structure from the network buffer to memory.
Syntax
unsigned char * NdrComplexStructUnmarshall(
[in, out] PMIDL_STUB_MESSAGE pStubMsg,
[out] unsigned char **ppMemory,
[in] PFORMAT_STRING pFormat,
[in] unsigned char fMustAlloc
);
Parameters
[in, out] pStubMsg
Pointer to a MIDL_STUB_MESSAGE structure that maintains the current status of the RPC stub. The MIDL_STUB_MESSAGE structure is for internal use only, and must not be modified.
[out] ppMemory
Address to a pointer to the unmarshalled complex structure. If set to null, or if the fMustAlloc parameter is set to TRUE, the stub will allocate the memory.
[in] pFormat
Pointer to the format string description.
[in] fMustAlloc
Flag that specifies whether the stub must allocate the memory into which the complex structure is to be marshaled. Specify TRUE if RPC must allocate ppMemory.
Return value
Returns null upon success. Raises one of the following exceptions upon failure.
Error | Description |
---|---|
RPC_BAD_STUB_DATA or RPC_X_INVALID_BOUND | The network is incorrect. |
RPC_S_OUT_OF_MEMORY | Out of memory. |
STATUS_ACCESS_VIOLATION | An access violation occurred. |
RPC_S_INTERNAL_ERROR | An error occurred in RPC. |
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps | UWP apps] |
Minimum supported server | Windows 2000 Server [desktop apps | UWP apps] |
Target Platform | Windows |
Header | rpcndr.h |
Library | Rpcrt4.lib |
DLL | Rpcrt4.dll |