NdrPointerUnmarshall function

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

Syntax


RPCRTAPI unsigned char* RPC_ENTRY NdrPointerUnmarshall(
  _Inout_ PMIDL_STUB_MESSAGE pStubMsg,
  _In_    unsigned char      **pMemory,
  _In_    PFORMAT_STRING     pFormat,
  _In_    unsigned char      fSkipRefCheck
);

Parameters

pStubMsg [in, out]

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.

pMemory [in]

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 [in]

Pointer to the format string description.

fSkipRefCheck [in]

Unused.

Return value

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

ErrorDescription
RPC_BAD_STUB_DATA or RPC_X_INVALID_BOUND The network buffer is incorrect.
RPC_S_OUT_OF_MEMORYThe system is out of memory.
STATUS_ACCESS_VIOLATIONAn access violation occurred.
RPC_S_INTERNAL_ERRORAn 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 | Windows Store apps]

Minimum supported server

Windows 2000 Server [desktop apps | Windows Store apps]

Header

Rpcndr.h (include Rpc.h)

Library

RpcRT4.lib

DLL

RpcRT4.dll

 

 

Show: