다음을 통해 공유


NdrPointerUnmarshall 함수(rpcndr.h)

NdrPointerUnmarshall 함수는 모든 항목에 대한 최상위 포인터를 언마샬링합니다. 구조체, 배열 또는 공용 구조체에 포함된 포인터는 NdrPointerUnmarshall을 직접 호출합니다.

구문

unsigned char * NdrPointerUnmarshall(
  [in, out] PMIDL_STUB_MESSAGE pStubMsg,
  [in]      unsigned char      **ppMemory,
  [in]      PFORMAT_STRING     pFormat,
  [in]      unsigned char      fMustAlloc
);

매개 변수

[in, out] pStubMsg

RPC 스텁의 현재 상태 유지하는 MIDL_STUB_MESSAGE 구조체에 대한 포인터입니다. 구조체는 내부 전용입니다. 수정하지 마세요.

[in] ppMemory

포인터가 경계를 해제할 메모리에 대한 포인터입니다. RPC의 버퍼 오버런 보호에 대한 자세한 내용은 MCCP 버퍼 보호를 참조하세요. http://msdn.microsoft.com/en-us/library/ff621497(VS.85).aspx

[in] pFormat

형식 문자열 설명에 대한 포인터입니다.

[in] fMustAlloc

사용되지 않습니다.

반환 값

성공하면 NULL 을 반환합니다. 오류가 발생하면 함수는 다음 예외 코드 중 하나를 throw합니다.

오류 Description
RPC_BAD_STUB_DATA 또는 RPC_X_INVALID_BOUND 네트워크 버퍼가 잘못되었습니다.
RPC_S_OUT_OF_MEMORY 시스템이 메모리가 부족합니다.
STATUS_ACCESS_VIOLATION 액세스 위반이 발생했습니다.
RPC_S_INTERNAL_ERROR RPC에서 오류가 발생했습니다.

설명

이 함수는 FC_RP, FC_UP, FC_FP FC_OP 형식 문자열에 사용됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 rpcndr.h(Rpc.h 포함)
라이브러리 Rpcrt4.lib
DLL Rpcrt4.dll