介面 (COM)
COM 提供下列介面。
介面 | 描述 |
---|---|
IAccessControl | 啟用對對象和屬性的存取權管理。 |
IAgileObject | 將介面標示為跨 Apartment 的敏捷式。 |
IBindCtx | 提供系結內容的存取權,這是儲存特定Moniker系結作業相關信息的物件。 |
IBlockingLock | 提供號誌,可用來暫時獨佔存取共用資源,例如檔案。 |
ICallFactory | 建立呼叫物件,以處理異步介面方法的呼叫。 |
ICallFrame | 啟用呼叫框架的操作,例如堆疊框架。 呼叫框架是程式必須儲存的信息主體,以允許程序正確返回其呼叫端。 呼叫框架可能存在於堆疊或緩存器中。 堆疊框架會維護其呼叫端在堆疊上的內容資訊。 |
ICallFrameEvents | 傳遞方法呼叫通知。 |
ICallFrameWalker | 逐步解說堆疊框架,尋找有趣的值。 |
ICallIndirect | 使用調用自變數的間接參考來叫用 物件,而不是傳統的直接呼叫。 |
ICallInterceptor | 支援想要直接在介面上收到呼叫通知的事件接收註冊和取消註冊。 此外,這個介面也提供一種方法,可透過調用自變數的間接參考來執行調用。 |
ICallUnmarshal | 用於遠端調用的伺服器(接收)端。 ICallUnmarshal 的適當實例可用來轉換回呼叫框架,方法調用先前由用戶端上對 ICallFrame::Marshal 的呼叫封送處理。 |
ICancelMethodCalls | 管理輸出方法呼叫上的取消要求,並監視伺服器線程上該方法呼叫的目前狀態。 |
ICatInformation | 取得特定類別所實作或所需類別的相關信息,以及指定計算機上註冊之類別的相關信息。 |
ICatRegister | 提供在登錄中註冊和取消註冊元件類別資訊的方法。 這包括人類可讀取的類別名稱,以及指定元件或類別所實作/所需的類別。 |
IClassActivator | 指定擷取類別物件的方法。 |
IClassFactory | 啟用要建立對象的類別。 |
IClassFactory2 | 啟用類別處理站物件,在任何類型的物件伺服器中,透過授權控制物件建立。 |
IClientSecurity | 提供客戶端對物件之每個個別介面 Proxy 的安全性設定的控制。 |
IComThreadingInfo | 可讓您取得呼叫端正在執行之 Apartment 和線程的下列資訊:Apartment 類型、線程類型和線程 GUID。 它也可讓您指定線程 GUID。 |
I 連線 ionPoint | 支援可連接對象的連接點。 |
I 連線 ionPointContainer | 支援可連接對象的連接點。 |
IContext | 支援設定 COM+ 內容屬性。 |
IContextCallback | 提供在特定 COM+ 物件內容內執行函式的機制。 |
IContinueCallback | 提供一般回呼機制,讓可中斷的進程定期詢問物件是否要繼續。 |
IEnumCATID | 列舉類別標識碼。 |
IEnumCLSID | 列舉類別標識碼。 |
IEnumCATEGORYINFO | 列舉系統中註冊的元件類別。 |
IEnum 連線 ionPoints | 列舉連接點。 |
IEnum 連線 ions | 列舉可連接物件的目前連接。 |
IEnumContextProps | 提供一個機制來列舉與 COM+ 對象內容相關聯的內容屬性。 |
IEnumGUID | 可讓用戶端列舉 COM 類別的類別標識元集合。 |
IEnumString | 列舉字串。 LPWSTR 是類型,表示寬字串或 Unicode 字元之零終止字串的指標。 |
IEnumUnknown | 列舉具有 IUnknown 介面的物件。 它可用來列舉包含多個物件之元件中的物件。 |
IEventProperty | 將具名事件屬性與其值產生關聯。 |
IEventPublisher | 註冊、修改、移除,並提供事件發行者的相關信息。 |
IExternal 連線 ion | 管理伺服器物件的封送處理或外部連接計數。 維護這類計數的伺服器可以在沒有外部連線且以有序的方式關閉本身時偵測到。 |
IFastRundown | 將介面標示為符合快速執行行為的資格。 |
IFileBasedLogInit | 初始化 ILog 檔案實作的實例。 |
IForegroundTransfer | 將前景視窗傳送至裝載 COM 伺服器的進程。 |
IGlobalInterfaceTable | 讓進程中的任何 Apartment 能夠存取進程中任何其他 Apartment 對象上實作的介面。 |
IGlobalOptions | 設定和查詢 COM 執行時間的特定全域屬性。 |
IInitializeSpy | 在進入或結束 COM Apartment 時執行初始化或清除。 |
IInternalUnknown | 專用於需要存取 Proxy 上某些內部介面的輕量型用戶端處理程式中。 |
ILog | 提供一般低階記錄功能。 |
IMalloc | 配置、釋放和管理記憶體。 |
IMallocSpy | 可讓應用程式開發人員監視 (spy on) 記憶體配置、偵測記憶體流失,以及模擬 IMalloc 方法呼叫中的記憶體失敗。 |
IMarshal | 可讓 COM 物件定義及管理其介面指標封送處理。 |
IMarshalingStream | 提供封送處理內容給自定義封送處理物件和非封送處理器的其他資訊。 |
IMessageFilter | 提供 COM 伺服器和應用程式,能夠選擇性地處理傳入和傳出 COM 訊息,同時等候來自同步呼叫的回應。 篩選訊息有助於確保以改善效能並避免死結的方式處理呼叫。 COM 訊息可以是同步、異步或輸入同步處理;大部分的介面呼叫都是同步的。 |
IMoniker | 可讓您使用Moniker物件,其中包含可唯一識別 COM 物件的資訊。 具有Moniker物件 IMoniker 介面指標的物件,可以找出、啟動及取得已識別物件的存取權,而不需要取得對象實際位於分散式系統中之位置的任何其他特定資訊。 |
IMultiQI | 可讓用戶端使用單一 RPC 呼叫查詢多個介面的物件 Proxy 或處理程式。 藉由使用此介面,用戶端不需要依賴對IUnknown::QueryInterface的個別呼叫,可以減少必須跨線程、進程或計算機界限的 RPC 呼叫數目,因此,取得要求介面指標所需的時間量。 |
IObjContext | 在內容上執行各種作業。 |
IOleItemContainer | 當專案Moniker系結至所識別的物件時,會使用它們。 |
IOrpcDebugNotify | 提供遠端偵錯功能。 |
IParseDisplayName | 剖析可顯示的名稱字串,將它轉換成自定義Moniker實作的Moniker。 |
IPersist | 提供可以持續儲存在系統中之物件的CLSID。 允許物件指定要在客戶端進程中使用的物件處理程式,因為它用於封送處理的預設實作中。 |
IPersistFile | 可讓物件從磁碟檔案載入或儲存至磁碟檔案,而不是儲存物件或數據流。 |
IPersist 儲存體 | 可讓容器應用程式將記憶體對象傳遞至其中一個自主物件,以及載入和儲存儲存物件。 |
IPersistStream | 啟用物件儲存和載入,這些物件會針對其儲存需求使用簡單的序列數據流。 |
IPersistStreamInit | 取代新增初始化方法的 IPersistStream。 |
IPipeByte | 傳輸位元組類型的數據(寬 8 位)。 |
IPipeDouble | 傳輸雙精度浮點數類型的數據(寬 64 位)。 |
IPipeLong | 傳輸長整數類型的數據(寬 32 位)。 |
IProcessInitControl | 指定行程初始化超時時間間隔。 |
IProcessLock | ISurrogateService 用來防止進程因為逾時而終止。 |
IProgressNotify | 可讓應用程式和其他物件接收下載作業進行中變更的通知。 |
IProvideClassInfo | 提供物件類型連結庫中coclass專案之型別資訊的存取權。 |
IProvideClassInfo2 | IProvideClassInfo 的延伸模組,可讓您更快速且更容易擷取對象的預設事件集的傳出介面 IID。 |
IProvideMultipleClassInfo | IProvideClassInfo2 的延伸模組,可讓您更快速且更輕鬆地從可能有多個 coclass 的元件擷取類型資訊,以判斷其行為。 |
IPSFactoryBuffer | 提供建立 COM 物件 Proxy 和存根的自定義方法。 這個介面無法封送處理。 |
IROTData | 由Moniker實作,讓執行中的對象資料表 (ROT) 相互比較Moniker。 |
IRpcChannelBuffer | 封送處理 COM 用戶端 Proxy 與 COM 伺服器存根之間的數據。 |
IRpcOptions | 可讓呼叫端設定或查詢各種屬性的值,以控制 COM 如何處理遠端過程調用 (RPC)。 |
IRpcProxyBuffer | 控制用來封送處理 COM 元件之間數據的 RPC Proxy。 |
IRpcStubBuffer | 控制用來封送處理 COM 元件之間數據的 RPC 存根。 |
IRunnableObject | 可讓容器控制其內嵌物件的執行。 如果是使用本地伺服器實作的物件,呼叫 Run 方法會啟動伺服器的.EXE檔案。 如果是使用同進程伺服器實作的物件,呼叫 Run 會導致物件.DLL檔案轉換成執行中狀態。 |
IRunningObjectTable | 管理對執行中對象數據表 (ROT) 的存取權,這是每個工作站上可全域存取的查閱數據表。 工作站的 ROT 會追蹤可由 Moniker 識別且目前正在工作站上執行的物件。 當客戶端嘗試將Moniker系結至物件時,Moniker會檢查 ROT,以查看物件是否已執行;這可讓Moniker系結至目前的實例,而不是載入新的實例。 |
IServerSecurity | 伺服器用來協助驗證用戶端,以及管理客戶端的模擬。 |
IStdMarshalInfo | 擷取 CLSID,識別在標準封送處理期間要用於目的地進程的處理程式。 |
ISurrogate | 用來將新的 DLL 伺服器動態載入現有的代理,並在不再需要代理時釋放代理。 |
ISurrogateService | 用來初始化、啟動和釋放 COM+ 應用程式。 您也可以重新整理目錄並關閉程式。 |
ISynchronize | 提供對象之間關於事件發生情況的異步通訊。 實 作 ISynchronize 的物件可以接收事件已發生的指示,而且可以回應有關事件的查詢。 如此一來,用戶端就可以在提交相依於第一個要求完成的後續要求之前,先確定已處理一個要求。 |
ISynchronizeContainer | 管理一組未對齊的同步處理物件。 |
ISynchronizeEvent | 將事件句柄指派給同步處理物件。 |
ISynchronizeHandle | 擷取與同步處理對象相關聯的句柄。 |
IUnknown | 可讓用戶端透過 QueryInterface 方法取得指定物件上其他介面的指標,並透過 AddRef 和 Release 方法管理物件是否存在。 所有其他 COM 介面都會直接或間接繼承自 IUnknown。 因此,IUnknown 中的三種方法是每個介面的 VTable 中的第一個專案。 |