複合檔介面
下表列出 OLE 容器、OLE 伺服器和複合檔案物件所實作的介面。 必要的介面必須實作在列出這些介面的元件上。 所有其他功能都是選擇性的。 不過,如果您想要在應用程式中包含特定功能,您必須實作下表中針對該功能顯示的介面。 只有在您包含特定功能時,才需要所有其他介面。
下表列出 OLE 容器的必要和選擇性行為,以及您必須針對每個容器實作哪些介面。
行為 | 介面 |
---|---|
必要行為 |
IOleClientSite IAdviseSink |
訊息篩選 |
IMessageFilter |
正在連結 |
none |
連結至內嵌物件 |
IOleItemContainer IPersistFile IClassFactory |
就地啟用 |
IOleInPlaceSite IOleInPlaceFrame IOleInPlaceObject |
拖放 |
IDropSource IDropTarget IDataObject |
下表列出 OLE 伺服器及其複合檔案物件的必要和選擇性行為,以及您必須針對每個伺服器實作哪些介面。 數據表會區分 OLE 伺服器及其物件,以釐清哪些元件會實作哪些介面。 數據表也會指出跨進程與進程內伺服器所提供的物件不同需求。
功能 | OLE Server | 物件 (跨行程) | 物件 (處理中) |
---|---|---|---|
必要行為 | IClassFactory |
IOleObject IDataObject IPersist 儲存體 |
IOleObject IDataObject IPersist 儲存體 IViewObject2 IOleCache2 |
訊息篩選 |
IMessageFilter |
||
正在連結 |
IOleItemContainer IPersistFile |
IOleLink IExternal 連線 ion |
|
就地啟用 |
IOleInPlaceObject IOleInPlaceActiveObject |
IOleInPlaceObject IOleInPlaceActiveObject |
|
拖放 |
IDropSource IDropTarget IDataObject |