다음을 통해 공유


ICallFrame::Unmarshal 메서드(callobj.h)

이 기존 활성화 레코드에 대한 호출의 이전에 마샬링된 [out] 매개 변수를 포함하는 데이터 패킷을 마스할 수 없습니다.

구문

HRESULT Unmarshal(
  [in]  PVOID                    pBuffer,
  [in]  ULONG                    cbBuffer,
  [in]  RPCOLEDATAREP            dataRep,
  [in]  CALLFRAME_MARSHALCONTEXT *pcontext,
  [out] ULONG                    *pcbUnmarshalled
);

매개 변수

[in] pBuffer

마샬링된 [out] 값을 포함하는 버퍼에 대한 포인터입니다.

[in] cbBuffer

버퍼의 크기(바이트)입니다.

[in] dataRep

데이터가 마샬링된 NDR 데이터 표현입니다. 자세한 내용은 IRpcChannelBuffer::GetBuffer를 참조하세요.

[in] pcontext

unmarshalling이 수행되는 방법에 대한 컨텍스트 정보를 포함하는 CALLFRAME_MARSHALCONTEXT 구조체에 대한 포인터입니다.

[out] pcbUnmarshalled

성공적으로 숨겨지지 않은 바이트 수를 받습니다. 이 매개 변수는 오류 상황에서도 반환됩니다. 이 매개 변수는 선택적 요소입니다.

반환 값

이 메서드는 다음 값을 반환할 수 있습니다.

반환 코드 Description
S_OK
메서드가 완료되었습니다.
E_UNEXPECTED
예기치 않은 오류가 발생했습니다.

설명

경계를 해제하면 [in, out] 매개 변수의 [in] 버전이 해제되고 인터페이스 포인터가 해제되고 [out] 버전으로 바뀝니다. 모든 [in, out] 및 [out] 매개 변수는 항상 적절한 [in], [in, out] 값, 반환된 데이터에서 성공적으로 숨기지 않은 [out] 값 또는 NULL로 명시적으로 초기화된 값으로 설정됩니다. 오류 반환 시 호출자는 일반적으로 NULL이 아닌 값을 클린 위해 ICallFrame::Free를 호출하려고 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 callobj.h

추가 정보

ICallFrame