CoMarshalInterThreadInterfaceInStream 함수(combaseapi.h)
동일한 프로세스에서 한 스레드에서 다른 스레드로 인터페이스 포인터를 마샬링합니다.
구문
HRESULT CoMarshalInterThreadInterfaceInStream(
[in] REFIID riid,
[in] LPUNKNOWN pUnk,
[out] LPSTREAM *ppStm
);
매개 변수
[in] riid
마샬링할 인터페이스의 식별자에 대한 참조입니다.
[in] pUnk
마샬링할 인터페이스에 대한 포인터로, IUnknown에서 파생되어야 합니다. 이 매개 변수는 NULL일 수 있습니다.
[out] ppStm
마샬링된 인터페이스가 포함된 스트림에 대한 인터페이스 포인터를 수신하는 IStream* 포인터 변수의 주소입니다.
반환 값
이 함수는 E_OUTOFMEMORY 및 S_OK 표준 반환 값을 반환할 수 있습니다.
설명
CoMarshalInterThreadInterfaceInStream 함수를 사용하면 개체가 동일한 프로세스의 다른 스레드에 대한 인터페이스 포인터를 쉽고 안정적으로 마샬링할 수 있습니다. ppStm 매개 변수에 반환된 스트림은 수신 스레드에서 실행 중인 클라이언트가 포인터를 분리하려고 할 때 올바르게 동작하도록 보장됩니다. 그런 다음 클라이언트는 CoGetInterfaceAndReleaseStream 을 호출하여 인터페이스 포인터를 숨기지 않고 스트림 개체를 해제할 수 있습니다.
CoMarshalInterThreadInterfaceInStream 함수는 다음 작업을 수행합니다.
- 스트림 개체를 만듭니다.
- 스트림 개체의 IStream 포인터를 CoMarshalInterface에 전달합니다.
- 호출자에 대한 IStream 포인터를 반환합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | combaseapi.h(Objbase.h 포함) |
라이브러리 | Ole32.lib |
DLL | Ole32.dll |