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로 설정하거나 fMustAlloc이 TRUE로 설정된 경우 스텁은 메모리를 할당합니다.
[in] pFormat
형식 문자열 설명에 대한 포인터입니다.
[in] fMustAlloc
스텁이 준수 배열을 마샬링할 메모리를 할당해야 하는지 여부를 지정하는 플래그입니다. RPC가 ppMemory를 할당해야 하는 경우 TRUE를 지정합니다.
반환 값
성공하면 null 을 반환합니다. 오류가 발생하면 함수는 다음 예외 코드 중 하나를 throw합니다.
반환 코드 | 설명 |
---|---|
|
네트워크가 올바르지 않습니다. |
|
네트워크가 올바르지 않습니다. |
|
시스템이 메모리가 부족합니다. |
|
액세스 위반이 발생했습니다. |
|
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 |