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에서 반환하는 값을 반환할 수 있습니다.
설명
중요
보안 참고: 신뢰할 수 없는 데이터로 이 메서드를 호출하는 것은 보안 위험입니다. 신뢰할 수 있는 데이터로만 이 메서드를 호출하세요.
- CoUnmarshalInterface를 호출하여 이전에 CoMarshalInterThreadInterfaceInStream에 대한 호출에서 전달된 인터페이스 포인터를 숨기지 않습니다.
- 스트림 포인터를 해제합니다. 경계 해제가 실패하더라도 이러한 종류의 실패에서 복구할 수 있는 효과적인 방법이 없기 때문에 스트림은 여전히 해제됩니다.
요구 사항
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | combaseapi.h(Objbase.h 포함) |
라이브러리 | Ole32.lib |
DLL | Ole32.dll |