CoGetStdMarshalEx 函式 (combaseapi.h)
建立匯總的標準封送處理器,以搭配輕量型用戶端處理常式使用。
語法
HRESULT CoGetStdMarshalEx(
[in] LPUNKNOWN pUnkOuter,
[in] DWORD smexflags,
[out] LPUNKNOWN *ppUnkInner
);
參數
[in] pUnkOuter
控制 IUnknown的指標。
[in] smexflags
兩個值之一,指出匯總的標準封送處理器是否位於用戶端或伺服器端。 這些旗標定義于 STDMSHLFLAGS 列舉中。
值 | 意義 |
---|---|
|
表示伺服器端匯總標準封送處理器。 |
|
表示用戶端 (處理常式,) 匯總的標準封送處理器。 |
[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 |