NdrConformantArrayUnmarshall 함수(rpcndr.h)

NdrConformantArrayUnmarshall 함수는 규칙적인 배열을 unmarshalshals합니다.

구문

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

매개 변수

[in] pStubMsg

RPC 스텁의 현재 상태 유지하는 MIDL_STUB_MESSAGE 구조체에 대한 포인터입니다. 이 구조체는 내부 전용이며 수정해서는 안 됩니다.

[out] ppMemory

규칙적인 배열이 마스홀링되지 않은 버퍼에 대한 포인터에 대한 주소입니다. null로 설정하거나 fMustAllocTRUE로 설정된 경우 스텁은 메모리를 할당합니다.

[in] pFormat

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

[in] fMustAlloc

스텁이 준수 배열을 마샬링할 메모리를 할당해야 하는지 여부를 지정하는 플래그입니다. RPC가 ppMemory를 할당해야 하는 경우 TRUE를 지정합니다.

반환 값

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

반환 코드 설명
RPC_BAD_STUB_DATA
네트워크가 올바르지 않습니다.
RPC_X_INVALID_BOUND
네트워크가 올바르지 않습니다.
RPC_S_OUT_OF_MEMORY
시스템이 메모리가 부족합니다.
STATUS_ACCESS_VIOLATION
액세스 위반이 발생했습니다.
RPC_S_INTERNAL_ERROR
RPC에서 오류가 발생했습니다.

설명

NdrConformantArrayUnmarshall 함수는 클라이언트 및 서버 쪽 스텁 모두에서 규칙 배열을 unmarshall하는 데 사용됩니다. 스텁은 필요에 따라 메모리를 할당할 수 있습니다. 예를 들어 이 페이지의 샘플에 있는 pArray는 규칙적인 배열을 가리킵니다.

NdrConformantArrayUnmarshall 은 클라이언트 또는 서버 스텁이 초기화된 후에 RPC 스텁의 컨텍스트에서만 호출되어야 합니다.

예제

void  ConfArray([in] long size,
        [in,size_is(size)] long *pArray);         // conformant array

요구 사항

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