NdrPointerUnmarshall function

The NdrPointerUnmarshall function unmarshalls a top level pointer to anything. Pointers embedded in structures, arrays, or unions call NdrPointerUnmarshall directly.

Syntax

unsigned char * NdrPointerUnmarshall(
  PMIDL_STUB_MESSAGE pStubMsg,
  unsigned char      **ppMemory,
  PFORMAT_STRING     pFormat,
  unsigned char      fMustAlloc
);

Parameters

pStubMsg

Pointer to a MIDL_STUB_MESSAGE structure that maintains the current status of the RPC stub. Structure is for internal use only; do not modify.

ppMemory

Pointer to memory where pointer will be unmarshalled. Please see MCCP Buffer Protection for information on buffer overrun protections in RPC: http://msdn.microsoft.com/en-us/library/ff621497(VS.85).aspx

pFormat

Pointer to the format string description.

fMustAlloc

Unused.

Return Value

Returns NULL upon success. If an error occurs, the function throws one of the following exception codes.

Error Description
RPC_BAD_STUB_DATA or RPC_X_INVALID_BOUND The network buffer is incorrect.
RPC_S_OUT_OF_MEMORY The system is out of memory.
STATUS_ACCESS_VIOLATION An access violation occurred.
RPC_S_INTERNAL_ERROR An error occurred in RPC.

Remarks

This function is used for FC_RP, FC_UP, FC_FP, FC_OP format strings.

Requirements

   
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 (include Rpc.h)
Library RpcRT4.lib
DLL RpcRT4.dll