OLE 背景:MFC 實作
由於原始 OLE API 的大小和複雜度的關係,直接呼叫它來寫入 OLE 應用程式可能會非常耗時。 OLE 的 MFC 程式庫實作的目標是要減少寫入功能完整、具 OLE 功能之應用程式的工作量。
本文說明未在 MFC 內部實作的 OLE API 部分。 討論也會說明實作的內容如何對應至 Windows SDK 的 OLE 區段。
類別庫未實作 OLE 的部分
MFC 不會直接提供一些 OLE 介面和功能。 如果您要使用這些功能,您可以直接呼叫 OLE API。
IMoniker 介面 介面 IMoniker
介面是由類別庫實作的(例如 COleServerItem
類別),但先前尚未公開給程式設計人員。 如需此介面的詳細資訊,請參閱 Windows SDK 中 OLE Moniker 實作一節。 不過,另請參閱 CMonikerFile 和 CAsyncMonikerFile 類別。
IUnknown 和 IMarshal 介面 介面 IUnknown
是由類別庫實作,但不會向程式設計人員公開。 介面 IMarshal
不是由類別庫實作,而是在內部使用。 使用類別庫所建置的 Automation 伺服器,已經內建封送處理功能。
類別庫部分支援 Docfiles (複合檔案) 複合檔案。 直接操作建立範圍外之複合檔案的函式都不受支援。 MFC 使用 類別 COleFileStream
來支援使用標準檔案函式運算元據流。 如需詳細資訊,請參閱容器:複合檔案 一文 。
進程內伺服器和物件處理常式進程伺服器和物件處理常式允許在動態連結程式庫 (DLL) 中實作視覺編輯資料或完整的元件物件模型 (COM) 物件。 若要這樣做,您可以直接呼叫 OLE API 實作您的 DLL。 然而,如果您正在撰寫 Automation 伺服程式,且您的伺服程式沒有使用者介面,您可以使用 AppWizard 將您的伺服器製作成同處理序伺服器,並將其完整地置入 DLL。 如需這些主題的詳細資訊,請參閱 自動化伺服器 。
提示
實作 Automation 伺服程式的最簡單方法是將它放置在 DLL 中。 MFC 支援這個方法。
如需 Microsoft Foundation OLE 類別如何實作 OLE 介面的詳細資訊,請參閱 MFC Technical Notes 38 、 39 和 40 。