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 函式會執行下列工作:

  1. 建立數據流物件。
  2. 將數據流物件的 IStream 指標傳遞至 CoMarshalInterface
  3. 傳回呼叫端的 IStream 指標。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows 2000 Server [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 combaseapi.h (包含 Objbase.h)
程式庫 Ole32.lib
Dll Ole32.dll

另請參閱

CoGetInterfaceAndReleaseStream