NdrUserMarshalUnmarshall function (rpcndr.h)

The NdrUserMarshalUnmarshall function calls a user-defined unmarshal routine to unmarshal data with the attribute.

Syntax

unsigned char * NdrUserMarshalUnmarshall(
  [in, out] PMIDL_STUB_MESSAGE pStubMsg,
  [in]      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.

[in] ppMemory

Pointer to user data object to be unmarshalled.

[in] pFormat

Format string description of the pointer.

[in] fMustAlloc

Flag that specifies whether the stub must allocate the memory into which the user data object is to be unmarshalled. Specify TRUE if RPC must allocate ppMemory.

Return value

Returns NULL upon success. Returns one of the following exception codes upon error.

Error Description
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

See also

MIDL_STUB_MESSAGE

wire_marshal