所有OLE接口

比較有用,記錄下來供查閱

常規

函數: lUnknown
目的: 控制的接口協商的對象生存期。普遍存在的任何組件,而不考慮實現。QueryInterface 公開傳入的接口。 

函數: IEnum
目的: 枚舉的各種類型的列表。在許多情況下,整個 OLE 中使用。 

函數: IProvideClassInfo
目的: 公開有關對象的傳入和傳出接口類型信息。 

函數: IConnectionPointContainer IEnumConnectionPoints,IConnectionPoint IEnumConnections 
目的: 公開對象的輸出接口。

初始化和內存管理

函數: CoBuildVersion OleBuildVersion
目的: 檢查 OLE 庫的版本號。 

函數: IMalloc
目的: 任務內存分配。 

函數: CoInitialize CoUninitialize,OleInitialize OleUninitialize
目的: 初始化/Uninitialize COM/OLE 庫和一個 OLE-提供的安裝任務分配器 (大多數 OLE 實現還允許自定義分配器的安裝)。

函數: CoCreateStandardMalloc
目的: 訪問標準任務內存分配器。 

函數: CoGetMalloc
目的: 訪問當前已安裝的任務分配器。

遠程處理

函數: IExternalConnection
目的: 通知-連接/斷開連接從遠程進程。 

函數: CoLockObjectExternal
目的: 鎖定一個遠程對象的實現。 

函數: CoDisconnectObject
目的: 強制斷開所有遠程連接。 

函數: IMarshal
目的: 此常用封送處理 (OLE 實現) ; 此自定義封送處理 (自定義實現)。 

函數: CoGetStandardMarshal
目的: 訪問標準實現的 IMarshal。 

函數: IStdMarshalInfo
目的: 自定義接口的支持。 

函數: CoMarshalHresult,CoUnmarshalHresult,CoMarshalInterface,CoUnmarshalInterface,CoReleaseMarshalData
爲標準和自定義封送處理的用途: 幫助者。 例如對於 CoMarshalInterface,始終調用時需要創建到一個新的對象接口指針的遠程處理服務器端支持的任何對象。CoUnmarshalInterface 創建客戶端以匹配。 

函數: CoIsHandlerConnected
若要確定是否一個進程內組件連接到遠程進程的用途: 幫助器。 

函數: 自定義接口
目的: 安裝自定義 IMessageFilter 實現。 

函數: IMessageFilter
目的: Helper 函數以 OLE 1 容器文檔兼容性。 

函數: CoRegisterMessageFilter
目的: 併發管理處理接口。遠程處理髮生時,始終被安裝默認實現。

自定義服務

函數: CoCreateInstance
提供一個 CLSID 目的: 訪問自定義組件實現。 

函數: IClassFactory [2]
目的: 創建基於 CLSID 的自定義組件。 

函數: CoGetClassObject
提供一個 CLSID 目的: 訪問自定義類工廠實現。 

函數: DllGetClassObject
目的: 公開一個自定義類工廠實現從一個 DLL。 

函數: CoRegisterClassObject CoRevokeClassObject
目的: 安裝/刪除一個自定義類工廠實現。

服務註冊

函數: CoCreateGuid IsEqualGUID,IsEqualIID IsEqualCLSID
用於創建和 guid 進行比較的用途: 幫助器。 

函數: DllRegisterServer DllUnregisterServer
目的: 公開自注冊功能從 DLL 服務器模塊。 

函數: CoGetTreatAsClass,CoTreatAsClass,OleDoAutoConvert,OleGetAutoConvert,OleSetAutoConvert,GetConvertStg SetConvertStg 
目的: 轉換/仿真操作 (僅自定義爲描述哪些類的註冊表信息是可以互換)。

DLL 服務器管理

函數: DllCanUnloadNow
目的: 控制 DLL 服務器卸載。 

函數: CoLoadLibrary,CoFreeLibrary,CoFreeAllLibraries CoFreeUnusedLibraries
目的: 加載和卸載進程內服務器模塊。

雜項的 COM 函數

函數: CLSIDFrom [程序 id | 字符串],[程序 id | 字符串] FromCLSID,IIDFromString,StringFromIID StringFromGUID2 
目的: Helper 函數 guid、 字符串,和 ProgIDs 之間的轉換。 

函數: CoGetCurrentProcess
目的: 雜項幫助器。 

函數: CoDosDateTimeToFileTime,CoFileTimeToDosDateTime,CoFileTimeNow
日期/時間轉換的的目的: 雜項 helper 函數。(是 Win32 API 更適合)。 

函數: IsValidIid IsValidInterface,IdValidPtrIn IsValidPtrOut
目的: 其他的驗證函數 (僅限於 16 位)。

命名 (名字對象)

函數: IMoniker
目的: 公開名字對象的功能。OLE 提供的五個名字對象實現 (五個不同的類)。可以通過對象創建函數或自定義的 API 公開自定義實現。 

函數: BindMoniker
目的: IMoniker::BindToObject 的包裝。 

函數: CreateFileMoniker,CreateItemMoniker,CreateAntiMoniker,CreatePointerMoniker,CreateGenericComposite
目的: 訪問 OLE 標準的名字對象實現。 

函數: IParseDisplayName
目的: 在分析 user-readable 顯示名稱到標準或自定義名字對象的自定義對象上實現。 

函數: IOleContainer IOleItemContainer
目的: 時通常與 OLE 文檔,這些接口實現中包含的項,需要將綁定項名字對象的對象。 

函數: IBindCtx
目的: 實現 OLE 標準"綁定上下文"對象上。 

函數: CreateBindCtx
目的: 實例化一個綁定上下文對象,返回一個 IBindCtx 指針。 

函數: IRunningObjectTable
目的: 從公開 OLE 實現"正在運行對象表"的服務。 沒有自定義設置。 

函數: GetRunningObjectTable
目的: 訪問運行對象表。 

函數: MkParseDisplayName
目的: 轉換到包括以確定其實現 IParseDisplayName 來使用的智能標記的字符串。 

函數: MonikerRelativePathTo MonikerCommonPrefixWith
操作要創建絕對和相對路徑使用 IMoniker::RelativePathTo 和 IMoniker::CommonPrefixWith 文件名字對象的用途: 幫助者。

結構化的存儲

函數: IStorage
目的: 公開存儲對象功能 (目錄)。 

函數: IStream
目的: 公開流對象功能 (文件)。 

函數: IRootStorage
目的: 控制基礎文件附加到一個 IStorage 複合文件中。 

函數: ILockBytes
目的: 自定義複合文件中的基礎存儲媒體。 

函數: StgCreateDocfile StgOpenStorage
目的: 創建或打開 OLE 的複合文件 (IStorage/IRootStorage) 實現使用默認的基於文件的 ILockBytes 實現。 

函數: StgCreateDocfileOnILockBytes StgOpenStorageOnILockBytes
目的: 創建或打開 OLE 的複合文件 (IStorage/IRootStorage) 使用自定義 ILockBytes 實現的實現。 

函數: StgIsStorageFile StgIsStorageILockBytes
目的: 檢查文件是否與 ILockBytes 的默認實現或自定義實現複合文件。 

函數: CreateILockBytesOnHGlobal GetHGlobalFromILockBytes
目的: 訪問基於內存的 ILockBytes 實施。 

函數: CreateStreamOnHGlobal GetHGlobalFromStream。
目的: 訪問基於內存的 IStream 實施。 

函數: [讀取 | 寫入] 類 [Stg | Stm],[讀取 | 寫入] FmtUserTypeStg,GetClassFile
目的: 檢索或保存到存儲或流的 CLSID、 數據格式和類型的用戶信息。 

函數: StgSetTimes
目的: Helper 函數操作複合文件時間戳。

永久對象

函數: IPersist,IPersistFile,IPersist 存儲,IPersistStream [初始化]
目的: 從一個存儲模型所基於的持久對象公開: 文件-基於、 基於 IStorage、 IStream 基於 (帶有或不初始化)。

通知/事件

函數: IAdviseSink [2]
目的: 接收的數據更改的通知查看複合文檔對象發生更改的更改。 

函數: IPropertyNotifySink
目的: 接收的屬性更改和控制可重寫更改的通知。 

函數: 事件集
目的: 接口定義由某個對象,由外部事件接收器實現。

統一數據傳輸

函數: IDataObject,(IAdviseSink) IEnumFORMATETC
目的: 公開交換格式的數據結構和一個向數據更改的通知接收器通知的能力。 

函數: OleDuplicateData
用於複製的數據結構的用途: 幫助器函數。 

函數: ReleaseStgMedium
若要釋放的數據結構的用途: 幫助器。

可查看的對象

函數: IViewObject [2] (IAdviseSink)
目的: 公開繪製到設備上下文的可視化的演示文稿,並通知向視圖的更改的通知接收器的能力。 

函數: OleDraw
目的: IViewObject::Draw 的簡單包裝。 

函數: OleGetIconOfFile OleGetIconOfClass 在 OleMetafilePictFromIconAnd-標籤
用於操作的對象的圖標視圖的用途: 幫助器函數。 

函數: OleTranslateColor
目的: 到 COLORREF 和 OLE_COLOR 類型之間進行轉換的幫助。

標準的類型

函數: IFont IFontDisp
目的: 公開標準字體對象實現 (OLE 控件)。 

函數: OleCreateFontIndirect
目的: 訪問標準字體對象實現。 

函數: IPicture IPictureDisp
目的: 公開標準圖片對象實現 (OLE 控件)。 

函數: OleCreatePictureIndirect
目的: 訪問標準圖片對象實現。 

函數: OleLoadPicture
目的: 從流的信息創建圖片對象。 

函數: OleIconToCursor
目的: Helper 函數以圖標轉變爲遊標簡單的 win32 API 基於拖放 (不是 OLE 拖動和放置)。 >

OLE 剪貼板

函數: OleSetClipboard,OleGetClipboard,OleFlushClipboard OleIsCurrentClipboard
目的: 用於處理服務通過 IDataObject 剪貼板的 API。除了爲涉及任何 IDataObject 實現,則沒有自定義。

OLE 拖放

函數: IDropSource
目的: 公開拖動和拖放操作中的源端功能。 

函數: IDropTarget
目的: 公開拖動和拖放操作中的目標端功能。 

函數: DoDragDrop
目的: 安裝 IDropSource (和 IDataObject) 實現,以開始拖動和拖放操作。 

函數: RegisterDragDrop RevokeDragDrop
目的: 安裝/卸載一個拖放目標的實現。僅向 DoDragDrop 公開拖放目標。

類型庫

函數: ITypeLib ITypeInfo
目的: 標準 OLE 實現類型庫結構中導航。 

函數: ITypeComp
若要將綁定到一個有用的編譯器的效率更高方式在類型庫中定義的接口函數的用途: 標準 OLE 實現。 

函數: LHashValOfName [系統]
目的: 創建 ITypeComp 函數中使用的哈希值。 

函數: LoadTypeLib,LoadRegTypeLib,LoadTypeLibFromResource,RegisterTypeLib,QueryPathOfRegTypeLib
用於註冊和加載類型庫的用途: 幫助者。正在加載類型庫表示類型庫的對象與 ITypeLib 對其進行實例化。也就負載 [註冊表] 類型庫 [FromResource] 訪問標準 ITypeLib 實現。 

函數: CreateTypeLib
目的: 創建一個新的類型庫 (而不是以加載一個現有)。類型庫實現 ICreateTypeLib。 通常從類型庫編譯器使用。 

函數: ICreateTypeLib ICreateTypeInfo
OLE 用於創建類型庫中的用途: 實現。從類型庫編譯器使用。 

函數: CreateDispTypeInfo
目的: 創建與 ITypeInfo 基於 INTERFACEDATA 結構的類型信息對象。 

函數: CompareStringA、 LCMap StringA、 GetLocaleInfoA、 獲取 StringTypeA、 GetSystemDefault [LangID | LCID],GetUser 默認 [LangID | LCID]
用於使用 OLE 自動化中的特定於區域設置的信息的用途: 幫助器函數。它們主要用於 Win16 平臺爲相同的功能是標準的 Win32 API 的一部分。

OLE 自動化

函數: IDispatch IEnumVARIANT
目的: 公開方法和屬性通過調度 (DISPID) 機制,以及"集合。 

函數: CreateStdDispatch
目的: 標準 IDispatch 到安裝自定義的接口實現。也就將訪問一個標準的 IDispatch 內部依賴於自定義接口實現的。 

函數: DispGetIDOfNames,DispGetParams,DispInvoke
目的: 幫助器直接實現的功能或 IDispatch 的使用。 

函數: RegisterActiveObject,RevokeActiveObject,GetActiveObject
目的: Helper 函數以註冊爲運行和 $ 訪問運行對象的自動化對象。基本上包裝運行對象表。 

函數: safearray 之所以-AccessData、 AllocData、 AllocDescriptor,複製、 創建和銷燬,DestroyData、 DestroyDescriptor、 GetDim、 GetElement、 GetElemSize、 GetLBound、 GetUBound、 鎖定、 PutElement,Redim,UnAccessData,解除
目的: 通過 IDispatch 的 Helper 函數用於操作數組傳遞。 

函數: 系統-AllocString AllocStringLen,FreeString,ReAllocString,ReAllocStringLen StringLen
目的: Helper 函數以操作 BSTR 類型。 

函數: [Ex] ChangeType Variant-清除,副本,CopyInf,初始化 TimeToDosDateTime ; (DosDateTimeToVarantTime)
目的: Helper 函數以處理變量傳入的 VARIANT 類型轉換和複製等的結構。

OLE 屬性頁

函數: OleCreatePropertyFrame-[間接]
目的: 訪問標準實現的屬性頁的框架實現 IPropertyPageSite 的。 

函數: IPropertyPageSite
目的: 公開的功能作爲屬性頁面框架。 

函數: ISpecifyPropertyPages
目的: 暴露 CLSIDs 的對象的屬性頁 (它們是單獨的對象)。 

函數: IPropertyPage [2]
目的: 公開屬性頁功能。 

函數: IPerPropertyBrowsing
目的: 公開該操作的各個屬性的能力。

OLE 文檔: 常規

函數: OleRegGetUserType,OleRegGetMiscStatus,OleRegEnumFormatEtc OleRegEnumVerbs
對於默認註冊表處理的用途: 幫助器函數 (OLE 文檔多數情況下)。 

函數: IRunnableObject
當將一個對象的目的: 通知之間加載並正在運行。 

函數: OleIsRunning,OleLockRunning,OleRun,OleNoteObjectVisible OleSetContainedObject
正在運行的對象的複合文檔中的控件的的用途: 幫助者。 這些函數中的大多數調用 IRunnableObject 成員。 

函數: IOleAdviseHolder
用於管理 IAdviseSink 指針從一個複合文檔對象實現內的用途: 幫助器函數。 

函數: CreateOleAdviseHolder
目的: 訪問 IOleAdviseHolder 對象的 OLE 實現。沒有自定義。 

函數: OleLoad OleLoadFromStream,OleSave OleSaveToStream
目的: 函數加載和保存在 IStorage 或 IStream 實例中的複合文檔對象。IPersistStorage 和 IPersistStream 調用的包裝。 

函數: OleCreateStaticFromData
目的: 訪問的靜態對象的 OLE 實現。

OLE 文檔: 處理程序和緩存

函數: OleCreateDefaultHandler OleCreateEmbeddingHelper
目的: 訪問的默認處理程序或 $"嵌入幫助器"的 OLE 實現 (cut-rate 的默認處理程序相同進程對象)。 

函數: IOleCache [2]
目的: 實現默認情況下,只要通過 OLE、 進程內處理程序和複合文檔中的服務器使用可以自定義。 

函數: CreateDataCache
目的: 訪問 OLE 數據的緩存實現 (服務)。高速緩存對象實現接口包括 IOleCache [2]、 IOleCacheControl、 IDataObject、 IViewObject [2] 和 IPersistStorage 一個的數字。 

函數: IOleCacheControl
目的: 實現 OLE 的默認處理程序來訪問遠程服務器的 IDataObject 實現中。在 OLE 文檔中使用。

OLE 文檔: 嵌入

函數: IOleObject
目的: 公開復合文檔對象功能。 

函數: IOleClientSite
目的: 提供容器端信息和到複合文檔對象的函數。 

函數: OleCreate OleCreate-FromData OleCreateFromFile ; OleQueryCreateFromData
目的: 訪問的具體情況取決於源信息所在的嵌入複合文檔對象的自定義實現)。 OleQueryCreate FromData 檢查是否 OleCreateFromData 將起作用。

OLE 文檔: 鏈接

函數: IOleLink
目的: 從進程內實現的 (通常來自 OLE 的默認處理程序) 的鏈接的複合文檔對象公開。 

函數: OleCreateLink OleCreateLinkFromData,OleCreateLinkToFile ; OleQueryCreateLinkFromData
目的: 訪問的具體情況取決於源信息所在的鏈接的複合文檔對象的自定義實現)。 檢查是否 OleCreateLinkFromData 起一個 OleQueryCreate LinkFromDat。 

函數: IOleContainer IOleItemContainer
目的: 枚舉泛型容器內的對象 (通常複合文檔容器但不是一定)。 IOleItemContainer 支持綁定一個項名字對象的額外的步驟。

OLE 文檔:-當前位置激活

函數: IOleInPlaceObject IOleInPlaceActiveObject
目的: 公開對象端 (從 IOleWindow 派生接口) 的就地激活模式支持的功能。 

函數: IOleInPlaceFrame,IOleInPlaceUIWindow,IOleInPlaceSite
目的: 公開爲就地激活模式支持 (從 IOleWindow 派生接口) 的容器端功能。 

函數: OleCreateMenuDescriptor OleDestroyMenuDescriptor,OleSetMenuDescriptor OleTranslateAccelerator
在就地激活的目的: 提供 OLE helper 函數。

OLE 文檔: OLE 1 兼容性

函數: CoIsOle1Class

若要檢查類是否 OLE 1 複合文檔對象的用途: 

函數: OleConvertIStorageToOLE 流 [Ex],OleConvertOLE STREAMToIStorage [Ex]
目的: Helper 函數提供與 OLE 1 兼容性的容器的複合文檔。

OLE 控件

函數: IOleControl
目的: 公開 OLE 控件詳細信息,以處理鍵盤助記鍵和環境屬性的更改之間的容器。 

函數: IOleControlSite
目的: 到 OLE 控件公開 OLE 控件容器細節。 

函數: ISimpleFrameSite
目的: 公開一個 OLE 控件是隻是一個視覺圖文篩選郵件,轉到其內部控件 (如單選按鈕) 的控件的一組提供組行爲的其他控件的一組。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章