NdrPointerUnmarshall function (rpcndr.h)
The NdrPointerUnmarshall function unmarshalls a top level pointer to anything. Pointers embedded in structures, arrays, or unions call NdrPointerUnmarshall directly.
Syntax
unsigned char * NdrPointerUnmarshall(
[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. Structure is for internal use only; do not modify.
[in] 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
[in] pFormat
Pointer to the format string description.
[in] 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
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 (include Rpc.h) |
Library | Rpcrt4.lib |
DLL | Rpcrt4.dll |