共用方式為


IGlobalInterfaceTable 介面 (objidl.h)

讓進程中的任何 Apartment 能夠存取進程中任何其他 Apartment 物件上實作的介面。

繼承

IGlobalInterfaceTable介面繼承自IUnknown介面。 IGlobalInterfaceTable 也有下列類型的成員:

方法

IGlobalInterfaceTable介面具有這些方法。

 
IGlobalInterfaceTable::GetInterfaceFromGlobal

擷取呼叫 Apartment 可使用之物件上介面的指標。 此介面目前必須在全域介面資料表中註冊。
IGlobalInterfaceTable::RegisterInterfaceInGlobal

在位於進程一個 Apartment 的物件上註冊指定的介面做為全域介面,讓其他 Apartment 能夠存取該介面。
IGlobalInterfaceTable::RevokeInterfaceFromGlobal

撤銷全域介面資料表中介面的註冊。

備註

IGlobalInterfaceTable介面是一種有效率的方式,可讓進程將介面指標儲存在記憶體位置,可從進程內的多個 Apartment 存取,例如全進程變數和敏捷式 (自由執行緒封送處理) 物件,其中包含其他物件的介面指標。

敏捷式物件不會察覺其執行所在的基礎 COM 基礎結構,換句話說,其執行所在的 Apartment、內容和執行緒。 物件可能會保留 Apartment 或內容專屬的介面。 基於這個理由,從任何敏捷式元件執行的位置呼叫這些介面不一定會正常運作。 全域介面資料表會根據敏捷式物件執行的位置,保證使用有效的 Proxy (或直接指標) ,以避免這個問題。

全域介面資料表無法跨進程或機器界限移植,因此無法取代一般參數傳遞機制。

需求

   
最低支援的用戶端 Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows 2000 Server [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 objidl.h