CoGetInterfaceAndReleaseStream 함수(combaseapi.h)

인터페이스 포인터가 포함된 버퍼를 분리하고 인터페이스 포인터가 다른 스레드에서 호출 스레드로 마샬링되면 스트림을 해제합니다.

구문

HRESULT CoGetInterfaceAndReleaseStream(
  [in]  LPSTREAM pStm,
  [in]  REFIID   iid,
  [out] LPVOID   *ppv
);

매개 변수

[in] pStm

숨기지 않을 스트림의 IStream 인터페이스에 대한 포인터입니다.

[in] iid

숨기지 않은 개체에서 요청된 인터페이스의 식별자에 대한 참조입니다.

[out] ppv

riid에서 요청된 인터페이스 포인터를 수신하는 포인터 변수의 주소입니다. 반환이 성공하면 *ppv 에는 마헤싱되지 않은 인터페이스에 대한 요청된 인터페이스 포인터가 포함됩니다.

반환 값

이 함수는 S_OK 및 E_INVALIDARG 표준 반환 값과 CoUnmarshalInterface에서 반환하는 값을 반환할 수 있습니다.

설명

중요  

보안 참고: 신뢰할 수 없는 데이터로 이 메서드를 호출하는 것은 보안 위험입니다. 신뢰할 수 있는 데이터로만 이 메서드를 호출하세요.

 
CoGetInterfaceAndReleaseStream 함수는 다음 작업을 수행합니다.
  • CoUnmarshalInterface를 호출하여 이전에 CoMarshalInterThreadInterfaceInStream에 대한 호출에서 전달된 인터페이스 포인터를 숨기지 않습니다.
  • 스트림 포인터를 해제합니다. 경계 해제가 실패하더라도 이러한 종류의 실패에서 복구할 수 있는 효과적인 방법이 없기 때문에 스트림은 여전히 해제됩니다.

요구 사항

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

추가 정보

CoMarshalInterThreadInterfaceInStream

CoUnmarshalInterface