NdrPointerBufferSize function (rpcndr.h)

The NdrPointerBufferSize function computes the needed buffer size, in bytes, for a top-level pointer to anything.

Syntax

void NdrPointerBufferSize(
  [in, out] PMIDL_STUB_MESSAGE pStubMsg,
  [in]      unsigned char      *pMemory,
  [in]      PFORMAT_STRING     pFormat
);

Parameters

[in, out] pStubMsg

Pointer to a MIDL_STUB_MESSAGE structure that maintains the current status of the RPC stub. The BufferLength member contains the size of the buffer. This structure is for internal use only and should not be modified.

[in] pMemory

Pointer to the data being sized.

[in] pFormat

Pointer to the format string description.

Return value

This function has no return values. If an error occurs, the function throws one of the following exception codes.

Error Description
STATUS_ACCESS_VIOLATION An access violation occurred.
RPC_S_INTERNAL_ERROR An error occurred in RPC.

Remarks

Pointers embedded in structures, arrays, or unions call NdrPointerBufferSize directly.

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