共用方式為


CoGetStdMarshalEx 函式 (combaseapi.h)

建立匯總的標準封送處理器,以搭配輕量型用戶端處理常式使用。

語法

HRESULT CoGetStdMarshalEx(
  [in]  LPUNKNOWN pUnkOuter,
  [in]  DWORD     smexflags,
  [out] LPUNKNOWN *ppUnkInner
);

參數

[in] pUnkOuter

控制 IUnknown的指標。

[in] smexflags

兩個值之一,指出匯總的標準封送處理器是否位於用戶端或伺服器端。 這些旗標定義于 STDMSHLFLAGS 列舉中。

意義
SMEXF_SERVER
0x01
表示伺服器端匯總標準封送處理器。
SMEXF_HANDLER
0x0
表示用戶端 (處理常式,) 匯總的標準封送處理器。

[out] ppUnkInner

成功傳回時,新建立之匯總標準封送處理器上 IUnknown 介面的指標位址。 如果發生錯誤,此值為 Null

傳回值

此函式會傳回S_OK。

備註

伺服器會呼叫 CoGetStdMarshalEx 傳入旗標SMEXF_SERVER。 這會建立伺服器端標準封送處理器 (稱為存根管理員) 。 處理常式會呼叫 CoGetStdMarshalEx 傳入旗標SMEXF_HANDLER。 這會建立用戶端標準封送處理器 (稱為 Proxy 管理員) 。 請注意,呼叫此函式時,處理常式必須傳遞原始控制未知,該控制項在建立處理常式時傳遞至處理常式。 這會是系統實作的未知控制。 無法傳遞正確的 IUnknown 會導致傳回錯誤。 成功時,傳回的 ppUnkInner 是內建物件的控制未知。 伺服器和處理常式必須保留此指標,而且可以使用它來呼叫IMarshal介面的IUnknown::QueryInterface

規格需求

   
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 combaseapi.h (包含 Objbase.h)
程式庫 Ole32.lib
Dll Ole32.dll

另請參閱

IMarshal

IStdMarshalInfo

輕量型 Client-Side 處理常式