OLE接口详解

C++ Win32 API实现Windows文件拖放功能:从WM_DROPFILES到OLE拖放 在Windows桌面应用开发中,消息机制是GUI编程的核心基础,它构成了事件驱动模型的骨架。其原理在于系统将用户操作(如鼠标点击、键盘输入)转化为消息,通过消息队列传递给窗口过程函数进行处理。掌握这一机制的技术价值在于能够实现高度定制化的交互功能,例如文件拖放操作,这对于提升软件的专业性和用户体验至关重要。在应用场景上,无论是资源管理器、设计工具还是内部系统,都需要支持直观的拖拽交互。本文聚焦于使用C++和Win32 API实现文件拖放功能,详细解析了WM_DROPFILES消息的处理流程,并进阶介绍了基于 阅读详情

所有 OLE Api 和接口的目的


本页

概要

OLE 是一套实施的服务、 自定义这些服务的机制和安装自定义服务进行各种协议的机制。 每个 OLE API 函数和每个当前定义的接口 (即,在那些传送 OLE 技术) 具有在此框架中的目的。 下面列出了 API 函数和接口,以及它们的用途,分为以下功能组:

  • 常规
  • 初始化和内存管理
  • 远程处理
  • 自定义服务
  • 服务注册
  • DLL 服务器管理
  • 杂项 COM 函数
  • 命名 (名字对象)
  • 结构化的存储
  • 永久对象
  • 每个事件的通知
  • 统一数据传输
  • 可查看对象
  • 标准类型
  • OLE 剪贴板
  • OLE 拖放
  • 类型库
  • OLE 自动化
  • OLE 属性页
  • OLE 文档: 常规
  • OLE 文档: 处理程序和缓存
  • OLE 文档: 嵌入
  • OLE 文档: 链接
  • OLE 文档: 就地激活
  • OLE 文档: OLE 1 兼容性
  • OLE 控件

更多信息

下面的列表有助于阐明为何存在不同的 Api 和接口,并包括以下信息:
函数: < OLE API 函数和接口的列表 >
目的: < 用途说明 >
注意: OLE UI 库中的函数集合不包括这一次。 此外缺少一些最近添加的接口。

常规

函数: 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 impl) ; 此自定义封送处理 (自定义实现)。

函数: CoGetStandardMarshal
目的: 访问标准实现 IMarshal。

函数: IStdMarshalInfo
目的: 支持自定义接口。

函数: CoMarshalHresult、 CoUnmarshalHresult、 CoMarshalInterface、 CoUnmarshalInterface、 CoReleaseMarshalData
目的: 标准和自定义封送的帮助。 例如,CoMarshalInterface,总是调用时需要创建新对象的接口指针的远程服务器端处理支持的任何对象。 CoUnmarshalInterface 创建的客户端,以匹配。

函数: CoIsHandlerConnected
若要确定是否已连接到远程进程的进程内组件的用途: 帮助器。

自定义接口函数:
目的: 安装自定义 IMessageFilter 实现。

函数: IMessageFilter
目的: OLE 1 容器文档相兼容的 Helper 函数。

函数: 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 [ProgID | 字符串] [ProgID | 字符串] 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
目的: 实现一个自定义的对象,以分析为标记对象、 标准或自定义的用户可读的显示名称上。

函数: 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
目的: 创建或打开使用默认的基于文件的 ILockBytes 实现 OLE 的复合文件 (IStorage/IRootStorage) 实现。

函数: StgCreateDocfileOnILockBytes StgOpenStorageOnILockBytes
目的: 创建或打开使用自定义的 ILockBytes 实现 OLE 的复合文件 (IStorage/IRootStorage) 实现。

函数: StgIsStorageFile StgIsStorageILockBytes
目的: 检查文件是否为 ILockBytes 的默认实现或自定义实现的复合文件。

函数: CreateILockBytesOnHGlobal GetHGlobalFromILockBytes
目的: 访问基于内存的 ILockBytes 实现。

函数: CreateStreamOnHGlobal,GetHGlobalFromStream。
目的: 访问基于内存的 IStream 实施。

函数: [读取 | 编写] 类 [Stg | Stm] [读取 | 写] FmtUserTypeStg GetClassFile
目的: 检索或保存到存储或流的 CLSID、 数据格式和用户类型信息。

函数: StgSetTimes
目的: Helper 函数来处理复合文件时间戳。

永久对象

函数: IPersist,IPersistFile,IPersist-存储,Μ [初始]
目的: 从基于存储模型的持久对象公开: 文件-基于、 基于 IStorage、 IStream 基于 (有或没有初始化)。

每个事件的通知

函数: IAdviseSink [2]
目的: 接收通知的数据更改,更改视图、 复合文档对象的更改。

函数: IPropertyNotifySink
目的: 接收属性更改和控制可重写更改的通知。

函数: 事件集
目的: 接口对象所定义的、 由外部事件接收器。

统一数据传输

IDataObject,(IAdviseSink),IEnumFORMATETC 函数:
目的: 公开交换格式的数据结构和通知数据更改的通知接收器的能力。

函数: OleDuplicateData
目的: Helper 函数,用于复制的数据结构。

函数: ReleaseStgMedium
目的: 帮助者释放数据结构。

可查看对象

函数: IViewObject [2],(IAdviseSink)
目的: 公开到设备上下文中绘制可视演示文稿并通知视图更改的通知接收器的能力。

函数: OleDraw
目的: IViewObject::Draw 的简单包装。

函数: OleGetIconOfFile,OleMetafilePictFromIconAnd 标签,OleGetIconOfClass
目的: Helper 函数,用于操作对象的图标视图。

函数: 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 [Sys]
目的: 创建在 ITypeComp 函数中使用的哈希值。

函数: LoadTypeLib、 LoadRegTypeLib、 LoadTypeLibFromResource、 RegisterTypeLib、 QueryPathOfRegTypeLib
目的: 用于注册和加载类型库的帮助。 正在加载类型库表示实例化类型库的对象与 ITypeLib 在其上。 换句话说,负载 [标准] 的类型库 [FromResource] 访问标准的 ITypeLib 实现。

函数: CreateTypeLib
目的: 创建新的类型库 (而不是加载一个现有)。 类型库实现 ICreateTypeLib。 通常使用从类型库编译器。

函数: ICreateTypeLib ICreateTypeInfo
目的: 实现 OLE 用于创建类型库中。 从类型库编译器使用。

函数: CreateDispTypeInfo
目的: 创建具有 ITypeInfo INTERFACEDATA 结构所基于的类型信息对象。

函数: CompareStringA,LCMap StringA,GetLocaleInfoA,Get StringTypeA,GetSystemDefault-[LangID | LCID] GetUser 默认 [LangID | LCID]
目的: Helper 函数使用 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 函数用于操作数组传递。

Sys-AllocString、 AllocStringLen、 FreeString、 ReAllocString、 ReAllocStringLen、 StringLen 函数:
目的: Helper 函数以操纵 BSTR 类型。

函数: [Ex] 的 variant 类型的值的误差清除,请复制、 CopyInf、 初始化、 TimeToDosDateTime ; () DosDateTimeToVarantTime
目的: Helper 函数以操纵变量传入的变量结构如类型转换和复制)。

OLE 属性页

函数: OleCreatePropertyFrame-[间接]
目的: 实现 IPropertyPageSite 的属性页框架的访问标准实现。

函数: IPropertyPageSite
目的: 公开的功能作为属性页框架。

函数: ISpecifyPropertyPages
目的: 公开的对象的属性页 (它们是单独的对象) 的 Clsid。

函数: IPropertyPage [2]
目的: 公开属性页的功能。

函数: IPerPropertyBrowsing
目的: 公开操纵单个属性的能力。

OLE 文档: 常规

函数: OleRegGetUserType,OleRegGetMiscStatus,OleRegEnumFormatEtc OleRegEnumVerbs
目的: 对于默认注册表处理 Helper 函数 (主要是 OLE 文档)。

函数: IRunnableObject
目的: 当将一个对象的通知之间加载并正在运行。

函数: OleIsRunning、 OleLockRunning、 OleRun、 OleNoteObjectVisible、 OleSetContainedObject
在复合文档中运行对象的控件的用途: 帮助。 其中的大部分功能调用 IRunnableObject 成员。

函数: IOleAdviseHolder
目的: Helper 函数,用于管理从复合文档对象实现内的 IAdviseSink 指针。

函数: CreateOleAdviseHolder
目的: 访问 IOleAdviseHolder 对象的 OLE 实现。 没有自定义项。

函数: OleLoad,OleLoadFromStream,OleSave OleSaveToStream
目的: 函数,以加载和保存在 IStorage 或 IStream 实例中的复合文档对象。 IPersistStorage 和 Μ 呼叫的包装。

函数: OleCreateStaticFromData
目的: 访问的静态对象的 OLE 实现。

OLE 文档: 处理程序和缓存

函数: OleCreateDefaultHandler OleCreateEmbeddingHelper
目的: 访问 OLE 实施的默认处理程序或"嵌入帮助器"(cut-rate 的默认处理程序相同进程对象)。

函数: IOleCache [2]
目的: 实现由 OLE 提供的默认情况下,进程内处理程序和使用可自定义的复合文档中的服务器。

函数: CreateDataCache
目的: 访问 OLE 的数据高速缓存的实现 (服务)。 缓存对象实现的接口包括 [2] IOleCache、 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 控件只是一个可视图文筛选邮件转到其中的控件提供的一组控件 (如单选按钮) 的组行为的其他控件的一组。


VC++操作Excel自动填充:COM接口与AutoFill方法实战指南 在数据处理和报表生成领域,自动化办公是提升效率的关键技术。其核心原理是通过程序接口模拟人工操作,实现批量、规则化的文档处理。在Windows平台,COM(Component Object Model)技术为应用程序间通信提供了标准化机制,使得C++等语言能够深度操作Office套件。通过COM接口调用Excel对象模型,开发者可以编程方式控制工作簿、工作表和单元格,实现复杂的数据填充与格式设置。其中,Range对象的AutoFill方法是模拟Excel填充柄行为的核心技术,它能智能识别数字序列、日期、公式和 阅读详情

相关推荐

OLE系统简述与方法

<br />Excel的操作目前一般两种方式:OLE,DOI;这里简单介绍一下OLE;<br />ABAP支持基于开放对象数据接口自动连接技术,提供了调用功能的桌面应用程序被整合到ABAP系统作为OLE2的自动服务器(如:excel, word)。 当一个ABAP程序调用OLE的时候,SAPGUI充当OLE的客户端,桌面应用程序为OLE(如Excel,word等)的服务器端;<br /><br />所有的ABAP操作都将写入表TOLE中维护视图:T_code: SOLE ;<br />      TOLE

SAP_Leon 6447

转贴:[转]所有 OLE api接口的目的

转自http://support.microsoft.com/kb/126157/zh-cn http://apps.hi.baidu.com/share/detail/18909481 比较有用,记录下来供查阅 常规 函数: lUnknown目的: 控制的接口协商的对象生存期。普遍存在的任何组件,而不考虑实现。QueryInterface 公开传入的接口。 函数: IEnum目的...

weixin_30448603的博客 379

OLE应用小记

 若应用程序要支持OLE功能和特性,其文档类需要继承自COleServerDoc.在OLE的应用中有如下三个名词:OLE条目  插入到服务器中的一个OLE对象,有时简称为条目包容器  可以装在OLE对象的应用程序服务器  提供条目的程序为服务器OLE的应用可以分为:包容器和服务器。当在一应用程序中嵌入其他应用程序,如画笔时,那么该应用程序就充当包容器的角色;当其他应用程序,如Word,嵌入

feijj2002_的专栏 2903

OLE接口用法

转载请标明是引用于 http://blog.csdn.net/chenyujing1234  例子代码:(编译工具:VS2005) http://www.rayfile.com/zh-cn/files/4468c85c-7a4e-11e1-8329-0015c55db73d/   // 第一步得初始化COM环境 HRESULT hr = CoInitialize(NULL); if

chenyujing1234的专栏 3098

获取图标(失真)

//在客户端上一级目录创建一个文件夹 //inloadName 创建的文件夹名称 //outFileload 文件夹的路径 int SoftInfosetDownloadLoad(std::string inloadName, std::string& outFileload) { //用于存储模块路径 CHAR szMoudlePath[MAX_PATH]; //使用NULL参数,获取本模块路径 if (!GetModuleFileNameA(NULL, szMoudlePath, MA

weixin_41167925的博客 341

OLE技术专题——第三讲:虚表和接口

在WORD 复合文件中,已经解决了保存 xls(Excel) 数据的问题了。 那么,接下来又要解决另2个问题:1.当 WORD 程序读取复合文件,遇到了 xls 数据的时候,它该如何去读入、解析、显示 xls 的数据呢?如何启动EXCEL程序的呢? 2.作为容器的WORD程序是怎样与作为提供OLE服务的Excel 程序进行交互的呢?一、        CLSID引入 解决启动EXCEL程序问题: 

feijj2002_的专栏 3656

<span class=“js_title_inner“>何用 OLE Automation 打印指定范围的 Word 文档</span>

用VFP的人,有专业的,有非专业了,很多人其实是小白,问出的问题是小白,如果问题不对,我们引导他们问正确的问题。关于 Word 95 的 FilePrint 和 Word 97 的 PrintOut 命令的更多信息, 参见 Word 文档. Word 97 的。值的参数不需要包括在命令中. 例如, 如果在范围值后没有其它有值的参数, 范围值可以是传递到 PrintOut。中的第三个参数. 因此, 参数 1 和 2 必须有适当的值而不能不留下为空. 但是, 最后一个参数后面的没有。

加菲猫的VFP 37

所有 OLE API接口的用途

所有 OLE API接口的用途 概要 OLE 是一套实施的服务、 机制可以自定义这些服务,以及安装自定义的服务,根据各种协议的机制。每个 OLE API 函数和每个当前定义的接口 (即那些发现的运输费 OLE 技术) 在这一框架目的。下面列出了 API 函数和接...

dizhi5320的博客 668

mysql的ole db 访问接口msdasql的数据源对象_数据库访问接口(ODBC、OLE DB、ADO)

最近在学C#的数据库编程,对于数据库接口技术这块的知识一直比较模糊,网上查了不少资料,看了几天还是朦朦胧胧的,只能做些笔记再研究了。我们都知道,“数据库”是指一组相关信息的集合,最早的计算机应用之一也是开发数据库系统,即通过计算机来存储和检索数据的机制。在数据库发展的前几十年里,数据以各种不同的方式存储并展现给用户,比如:层次数据库、网状数据库,这些都是非关系数据库。直到1970年,才出现了“关系...

weixin_39841717的博客 900

mysql的ole db 访问接口msdasql的数据源对象_数据库访问接口(ODBC,OLEDB,ADO)

目录数据库访问接口发展历史ODBC历史ODBC(Open Database Connectivity,开放数据库互连)。要了解ODBC是什么,先了解一下数据库连接的相关知识。在最开始连接数据库时,由于数据库种类繁多,各种数据库连接有不同的需求,这个时期,数据库连接主要依靠各种API函数来进行连接。在这种背景下,微软于1992年发表了ODBC, ODBC就是将这些API函数封装起来形成统一的接口。当...

weixin_33330157的博客 1199

oracle objects for ole,运用Oracle Object for OLE开发数据库应用

Oracle以OLE的方式提供了一套对象(类库)访问数据库,他们简化了编写与Oracle数据库通信的程序, 这套对象由三种原理的组件组成:The Oracle Server,The Oracle DataContral 和Oracle Object OLE C++ Class Library。此处讨论第三种:Oracle Object For OLE C++ Class Library。1.实现原...

weixin_29079743的博客 406

AccessDatabaseEngine 2007与2010版安装与使用指南

本文还有配套的精品资源,点击获取 简介:AccessDatabaseEngine 2007和2010是微软提供的关键组件,用于处理Microsoft Access数据库文件,尤其是在没有安装完整Office套件的环境中。这些组件支持新旧格式的数据库文件(.mdb和.accdb),提供了OLE DB提供程序接口,使得开发者能够编程连接和操作Access数据库。本文详细介绍了两...

weixin_35045970的博客 3962

深入了解OLE DB架构与COM接口

本文旨在解读OLE DB架构中数据提供者与数据消费者的角色,以及COM架构中接口的定义和使用。我们将探讨接口分解、确定COM对象支持特定接口的方法、以及OLE DB应用程序中信息流动的基本流程。文章还将详细介绍枚举器对象、数据源对象及其支持的接口,并提供将错误处理集成到COM应用程序的技巧。

weixin_36019375的博客 1112

SpringBoot 读取 iHistorian 实时历史数据库

iHistorian数据访问方案对比与实现 核心方案:GE Proficy Historian(iHistorian)提供三种主流数据访问方式: REST API(推荐跨平台方案):通过HTTP接口获取实时/历史数据,支持JSON返回,Spring Boot集成示例包含鉴权、实体映射与分页处理 JDBC-ODBC桥接(仅Windows):通过OLEDB驱动+UCanAccess实现标准SQL查询,但存在32/64位兼容性问题 OPC UA(工业标准协议):适合复杂工业场景,需Eclipse Milo客户端支

285

OLE技术专题——第一讲:OLE概述

引言-概述OLE/ActiveX/COM技术是MS的核心应用技术,只有彻底洞察其理论精髓,才能以不变应万变。我们首先从OLE谈起。   一、过去的OLE和今天的OLE        作为COM技术前身的OLE,其最初含义是指在程序之间链接和嵌入对象数据(Object Link Embeded)。它提供了建立混合文档的手段(资深Windows 3.X 用户可能记得当初在Word6.0中插入一个图形的

feijj2002_的专栏 4346
上一篇: IE打开Office文档
下一篇: Sandbox—沙箱技术[翻译chromium开发文档]
ljmwork
博客等级 码龄21年 40粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值