当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

北京大学:《组件技术》课程教学资源(讲义课件)第十讲 COM:moniker、UT、control

资源类别:文库,文档格式:PDF,文档页数:96,文件大小:912.13KB,团购合买
一、/复习:COM可连接对象、结构化存储 二、COM命名服务: moniker 三、UDT:统一数据传输 四、Active Control
点击下载完整版文档(PDF)

COM: moniker、UDT、 control 潘爱民 http://www.icst.pkueducn/compcourse

             

内 复习:COM可连接对象、结构化存储 COM命名服务: moniker ·UDT:统一数据传输 Active Control

               

复习:可连接对象的基本结构 COnnection PointContainer 可连接对象 接收器 I Connection Poin 连接点对象 枚举器 I Connection Point 连接点对象 接收器

             

复合文档模型 root Lock Byte Disk Memory 其他

      

命名和绑定技术( moniker) 内容 名字技术基础 MOniker接口 复合名字对象 COM名字对象分类和应用

             !"#$% 

名字技术基础 Moniker:名字对象(也是COM对象)为组 件对象提供了符号化的表示方法 名 名字空间 绑定 对象的状态:激活状态或者运行状态、被动状态 绑定:使对象从被动态自动进入运行态—一激活、 连接 所以也被称为“永久智能对象

      &' () * +,-./ 01234      56             !"#

名字对象的作用 Class Factor 类厂 客户 +COM对象 (2) MOnika moniker 客户 CM对象

   $%      $%    

概念:COM名字对象 名字对象与文件名的比较 名字对象表达的是com对象智能启动 文件名表达的是文件 名字对象封装了组件对象的状态处理 封装性带来了一致性和多态性 标准接口 MOniker 客户通过名字对象建立与com对象的连接 名字对象是客户与对象之间的桥梁

      &'( "#)  *+&'(*+     ,-./0123.45 .  678     ($%9:;<

使用名字对象:绑定过程 客户创建名字对象 API函数,如 Create FileMoniker 绑定到名字对象所指的对象 调用 Moniker: BindToobject 举例: 名字路径 C: My Documents My Doc. xls TABLEl RICI: R2C2 文件名字对象 单项名字对象单项名字对象 名字对象类型 FileMoniker ItemMoniker) (temMoniker) 复合名字对象

                 !!              => ?        @A     !"

MOniker接口 class Moniker: public IPer virtual HRESULT BindToObject(IBindContext pbc, IMoniker "pmkToLeft, REFIID riid, void**ppvObj)=0; virtual HRESULT BindToStorage(IBindContext'pbc, IMoniker 'pmkToLeft, REFIID rid, void**ppvObj)=0 virtual HRESULT Reduce (IBind Context"pbc, DWORD dwReduceHow Far MOniker**ppmkToLeft, IMoniker*ppmkReduced)=0; virtual HRESULT Compose With(MOniker pmkRight, BOOL fOnlylfNotGeneric, MOniker* *ppmkComposite virtual HRESULT Enum(BOOL fForward, IEnumMoniker **pp Enum)=0 virtual HRESULT Is Equal(Moniker pmkOtherMoniker)=0 virtual HRESULT Hash(DWORD 'pdw Hash)=0 virtual HRESULT ISRunning(IBindContext * pbc, IMoniker " pmkToLeft, IMoniker ' pmkNewlyRunning)=0 virtual HRESULT Get TimeOfLastChange(BInd Context"pbc, IMoniker 'pmkToLeft, FILETIME pFileTime)=0 virtual HRESULT Inverse(MOniker **ppmk)=0 virtual HRESULT Common Prefix With( MOniker 'pmkOther, IMoniker *"ppmkPrefix) virtual HRESULT RelativePathTo(MOniker ' pmkOther, IMoniker ppmkRelPath)=0; virtual HRESULT Get Display Name(bInd Context pbc, IMoniker pmkToLeft, LPOLESTR'ppszDisplayName)=0 virtual HRESULT Parse DisplayName(IBindContext "pbc, IMoniker *pmkToLeft, LPOLESTR PSZDisplayName, ULONG pchEaten, MOniker **ppmkOut)=0 virtual HRESULT Is SystemMoniker(DWORD 'pdwMksys)=0; };

              ! " #  $%& %  '&() & %% !*+,-    . " #  $%& %  '&() & %% !*+,-    " #  $%&)/ )0  0( &  %%  '& %%   *+,-  # / 1" %  .1& ' 2'34 & %% #  *+,-   " '( 0 &  %% *+,-  5" % 1  *+,-  1")/ )%01*+,-   ." #  $%& %  '& % 3 02 .*+,-  4   '#1 . " #  $%& %  '&(%(   *+,-     " %% *+,-  #  ' $/ 1" % 1 & %%  ' $*+,-     1" % 1 & %%  1*+,-  4 ) 23 " #  $%& %  '& %6) 23 *+,-    ) 23 " #  $%& %  '&  6) 23 & 34%1 & %% *+,-  2  ")/ )%0 2*+,- 7-

点击下载完整版文档(PDF)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共96页,可试读20页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有