COM 接口 Interface

来源:互联网 发布:android开发入门软件 编辑:程序博客网 时间:2024/06/04 19:00

CComObjectRootEx<> //ATL中实现IUnknown的关键在于CComObjectRootBase 和CComObjectRootEx
CStockPropImpl<> //CstockPropImpl是Idispatch的一个实现
CComControl<>,//Atl做的ActiveX控件响应Windows消息
IPersistStreamInitImpl<>,//IPersistStreamInitImpl::Save IPersistStreamInitImpl::Load
IOleControlImpl<>,//ATL生成的嵌入IE的activex控件 LitControl
IOleObjectImpl<>,//IOleObjectImpl 的SetClientSite,DoVerb
IOleInPlaceActiveObjectImpl<>,//在控件中控制键盘
IViewObjectExImpl<>,//通过IViewObject接口,取浏览器的图象,实现SNAP, Draw
IOleInPlaceObjectWindowlessImpl<>, //实现的ACTIVEX无法刷新..

 

IRunningObjectTable 成员 

提供 IRunningObjectTable 接口的托管定义。
公共方法

  名称  说明 
  EnumRunning  枚举当前注册为运行对象的对象。 
  GetObject  如果提供的对象名注册为运行对象,则返回该注册对象。 
  GetTimeOfLastChange  在运行对象表 (ROT) 中搜索此名字对象并报告所记录的更改时间(如果存在的话)。 
  IsRunning  确定指定名字对象当前是否在运行对象表 (ROT) 中注册。 
  NoteChangeTime  记录特定对象发生更改的时间,以便 IMoniker::GetTimeOfLastChange 可以报告相应更改时间。 
  Register  注册提供的对象已进入运行状态。 
  Revoke  从运行对象表 (ROT) 中注销指定的对象。 


IAdviseSink 成员 

提供 IAdviseSink 接口的托管定义。

下表列出了由 IAdviseSink 类型公开的成员。

公共方法

  名称  说明 
  OnClose  向所有已注册的通知接收器通知以下情况:对象已从运行状态更改为加载状态。此方法由服务器调用。 
  OnDataChange  向当前已注册通知接收器的所有数据对象通知以下情况:对象中的数据已更改。 
  OnRename  向所有已注册的通知接收器通知以下情况:对象已重命名。此方法由服务器调用。 
  OnSave  向所有已注册的通知接收器通知以下情况:对象已保存。此方法由服务器调用。 
  OnViewChange  向对象的已注册通知接收器通知以下情况:其视图已更改。此方法由服务器调用。 

 

IConnectionPoint 成员
提供 IConnectionPoint 接口的托管定义。

下表列出了由 IConnectionPoint 类型公开的成员。

公共方法

  名称  说明 
   Advise  在连接点和调用方的接收器对象之间建立一个通知连接。 
   EnumConnections  创建枚举数对象,以便循环访问到此连接点的现有连接。 
   GetConnectionInterface  返回由此连接点管理的输出接口的 IID。 
   GetConnectionPointContainer  检索指向在概念上拥有此连接点的可连接对象的 IConnectionPointContainer 接口指针。 
   Unadvise  终止先前通过 Advise 方法建立的顾问连接。 


IConnectionPointContainer 成员 

提供 IConnectionPointContainer 接口的托管定义。

下表列出了由 IConnectionPointContainer 类型公开的成员。

公共方法

  名称  说明 
   EnumConnectionPoints  创建在可连接对象中支持的所有连接点的枚举数,每个 IID 一个连接点。 
   FindConnectionPoint  询问可连接对象是否具有某个特定 IID 的连接点,如果是,则返回指向此连接点的 IConnectionPoint 接口指针。 


IEnumConnections 成员 
IEnumConnectionPoints 成员
公共方法

  名称  说明 
   Clone  创建与当前枚举数包含相同枚举状态的一个新枚举数。 
   Next  检索枚举序列中指定数目的项。 
   Reset  将枚举序列重置到开始处。 
   Skip  跳过枚举序列中指定数目的项。 

IDataObject 成员
提供 IDataObject 接口的托管定义。

下表列出了由 IDataObject 类型公开的成员。

公共方法

  名称  说明 
  DAdvise  在数据对象和通知接收器之间创建连接。此方法由对象进行调用,该对象支持通知接收器并使通知接收器能收到有关对象数据中的更改的通知。 
  DUnadvise  销毁以前建立的通知连接。 
  EnumDAdvise  创建可用于对当前的通知连接进行枚举的对象。 
  EnumFormatEtc  创建一个用于枚举数据对象的 FORMATETC 结构的对象。这些结构用于对 GetData 或 SetData 的调用中。 
  GetCanonicalFormatEtc  提供一个在逻辑上与更复杂的结构等效的标准 FORMATETC 结构。使用此方法可以确定两个不同的 FORMATETC 结构是否将返回相同的数据,从而无需重复呈现。 
  GetData  从源数据对象中获取数据。数据使用者调用的 GetData 方法将呈现指定的 FORMATETC 结构中描述的数据,并通过指定的 STGMEDIUM 结构传输该数据。然后,调用方对释放 STGMEDIUM 结构的责任进行假定。 
  GetDataHere  从源数据对象中获取数据。数据使用者调用的此方法与 GetData 方法的区别在于调用方必须分配并释放指定的存储介质。 
  QueryGetData  确定数据对象是否能够呈现 FORMATETC 结构中所描述的数据。尝试执行粘贴或删除操作的对象可以在调用 GetData 来获取操作是否成功的指示之前调用此方法。 
  SetData  将数据传输至实现此方法的对象。此方法由包含数据源的对象调用。 


IMoniker 成员 

提供 IMoniker 接口的托管定义,具有 IPersist 和 IPersistStream 中的 COM 功能。

下表列出了由 IMoniker 类型公开的成员。

公共方法

  名称  说明 
  BindToObject  使用名字对象绑定到它所标识的对象。 
  BindToStorage  检索指向存储(该存储包含名字对象所标识的对象)的接口指针。 
  CommonPrefixWith  基于此名字对象与另一名字对象共有的公共前缀创建新的名字对象。 
  ComposeWith  将当前名字对象与另一名字对象组合,创建一个新的复合名字对象。 
  Enum  提供一个指向枚举器(该枚举器可枚举复合名字对象的组件)的指针。 
  GetClassID  检索对象的类标识符 (CLSID)。 
  GetDisplayName  获取显示名称,该名称是当前名字对象的用户可读表示形式。 
  GetSizeMax  返回保存该对象所需的流的大小(以字节为单位)。 
  GetTimeOfLastChange  提供一个数字,该数字表示当前名字对象所标识的对象的上次更改时间。 
  Hash  使用该名字对象的内部状态计算 32 位整数。 
  Inverse  提供一个名字对象,该名字对象在被复合到当前名字对象或一个结构相似的名字对象的右边时,将不复合到任何对象。 
  IsDirty  检查该对象自上次保存以来所发生的更改。 
  IsEqual  将当前名字对象与指定的名字对象进行比较,并指示它们是否相同。 
  IsRunning  确定由当前名字对象标识的对象当前是否已加载并正在运行。 
  IsSystemMoniker  指示该名字对象是否是系统提供的名字对象类之一的对象。 
  Load  从以前保存对象的流中初始化对象。 
  ParseDisplayName  读取指定的显示名称中 ParseDisplayName 能够理解的全部字符并生成一个与读取的部分相对应的名字对象。 
  Reduce  返回简化的名字对象,它是与当前名字对象引用同一对象但能够用相等或更高的效率绑定的另一个名字对象。 
  RelativePathTo  提供一个名字对象,该名字对象在被追加到当前名字对象(或一个有相似结构的名字对象)时生成指定名字对象。 
  Save  将对象保存到指定流。 


IStream 成员 

提供具有 ISequentialStream 功能的 IStream 接口的托管定义。

下表列出了由 IStream 类型公开的成员。

公共方法

  名称  说明 
  Clone  创建一个新的流对象,该流对象具有自己的查找指针且该指针与原始流引用相同的字节。 
  Commit  确保对在事务处理模式下打开的流对象所做的任何更改都能反映在父级存储中。 
  CopyTo  将指定数量的字节从该流中的当前查找指针复制到另一个流中的当前查找指针。 
  LockRegion  限制对流中指定字节范围的访问。 
  Read  将指定的字节数从流对象读入从当前查找指针开始的内存。 
  Revert  放弃自从上次 Commit 调用以来对事务处理流所做的所有更改。 
  Seek  将查找指针更改到相对于流的开头、流的结尾或当前查找指针的新位置。 
  SetSize  更改流对象的大小。 
  Stat  检索此流的 STATSTG 结构。 
  UnlockRegion  移除对先前使用 LockRegion 方法限制的字节范围的访问限制。 
  Write  将指定数量的字节写入从当前查找指针开始的流对象。 


ITypeComp 成员
提供 ITypeComp 接口的托管定义。

下表列出了由 ITypeComp 类型公开的成员。

公共方法

  名称  说明 
  Bind  将名称映射到类型的成员,或者绑定类型库中包含的全局变量和函数。 
  BindType  绑定到包含在类型库中的类型说明。 

 

ITypeInfo 成员 

提供 ITypeInfo 接口的托管定义。

下表列出了由 ITypeInfo 类型公开的成员。

ITypeInfo2 方法 

公共方法

  名称  说明 
  AddressOfMember  检索静态函数或变量(如那些在 DLL 中定义的静态函数或变量)的地址。 
  CreateInstance  创建描述组件类 (coclass) 的类型的新实例。 
  GetAllCustData  为该库获取所有自定义数据项。 
  GetAllFuncCustData  从指定函数中获取所有自定义数据。 
  GetAllImplTypeCustData  为指定的实现类型获取所有自定义数据。 
  GetAllParamCustData  为指定的函数参数获取所有自定义数据。 
  GetAllVarCustData  为自定义数据获取变量。 
  GetContainingTypeLib  检索类型库,该类型库包含此类型说明和它在该类型库中的索引。 
  GetCustData  获取自定义数据。 
  GetDllEntry  检索 DLL 中函数的入口点的说明或规范。 
  GetDocumentation  从文档字符串、完整的帮助文件名和路径以及帮助主题的上下文 ID 中检索指定的类型说明。 
  GetDocumentation2  检索文档字符串、完整的帮助文件名和路径、要使用的本地化上下文,以及帮助文件中的库帮助主题的上下文 ID。 
  GetFuncCustData  从指定函数中获取自定义数据。 
  GetFuncDesc  检索包含有关指定函数的信息的 FUNCDESC 结构。 
  GetFuncIndexOfMemId  基于已知 DISPID 绑定至特定成员,其中成员名称是未知的(例如,绑定至默认成员时)。 
  GetIDsOfNames  在成员名和成员 ID 之间以及参数名和参数 ID 之间映射。 
  GetImplTypeCustData  获取自定义数据的实现类型。 
  GetImplTypeFlags  在类型说明中检索某个已实现的接口或基接口的 IMPLTYPEFLAGS 值。 
  GetMops  检索封送处理信息。 
  GetNames  检索具有与指定函数 ID 相对应的指定成员 ID(或者属性或方法的名称及其参数)的变量。 
  GetParamCustData  获取指定的自定义数据参数。 
  GetRefTypeInfo  检索被引用的类型说明(如果该类型说明引用其他类型说明)。 
  GetRefTypeOfImplType  检索已实现接口类型的类型说明(如果类型说明描述 COM 类)。 
  GetTypeAttr  检索包含类型说明的属性的 TYPEATTR 结构。 
  GetTypeComp  检索类型说明的 ITypeComp 接口,此接口使客户端编译器可以绑定到类型说明的成员。 
  GetTypeFlags  返回类型标志,而不进行任何分配。此方法返回 DWORD 类型标志,该标志将扩展类型标志,而不会增加 TYPEATTR(类型属性)。 
  GetTypeKind  快速返回 TYPEKIND 枚举,而不进行任何分配。 
  GetVarCustData  为自定义数据获取变量。 
  GetVarDesc  检索描述指定变量的 VARDESC 结构。 
  GetVarIndexOfMemId  基于已知 DISPID 绑定至特定成员,其中成员名称是未知的(例如,绑定至默认成员时)。 
  Invoke  调用对象的方法或访问对象的属性,该方法或属性实现由类型说明描述的接口。 
  ReleaseFuncDesc  释放先前由 GetFuncDesc 方法返回的一个 FUNCDESC 结构。 
  ReleaseTypeAttr  释放先前由 GetTypeAttr 方法返回的一个 TYPEATTR 结构。 
  ReleaseVarDesc  释放先前由 GetVarDesc 方法返回的一个 VARDESC 结构。


ITypeLib2 成员
提供 ITypeLib2 接口的托管定义。

下表列出了由 ITypeLib2 类型公开的成员。

公共方法

  名称  说明 
  FindName  在类型库中查找类型说明的匹配项。 
  GetAllCustData  获取库的所有自定义数据项。 
  GetCustData  获取自定义数据。 
  GetDocumentation  检索库的文档字符串、完整的帮助文件名和路径以及帮助文件中的库帮助主题的上下文标识符。 
  GetDocumentation2  检索库的文档字符串、完整的帮助文件名和路径、要使用的本地化上下文以及帮助文件中的库帮助主题的上下文标识符。 
  GetLibAttr  检索包含库的属性的结构。 
  GetLibStatistics  返回有关类型库的统计信息,该信息是有效调整哈希表的大小所必需的。 
  GetTypeComp  使客户端编译器能够绑定到库的类型、变量、常数和全局函数。 
  GetTypeInfo  在库中检索指定的类型说明。 
  GetTypeInfoCount  返回类型库中的类型说明的数量。 
  GetTypeInfoOfGuid  检索与指定的 GUID 相对应的类型说明。 
  GetTypeInfoType  检索类型说明的类型。 
  IsName  指示传入的字符串是否包含库中描述的类型或成员的名称。 
  ReleaseTLibAttr  释放最初通过 GetLibAttr 方法获取的 TYPELIBATTR 结构。
0 0
原创粉丝点击