zoukankan      html  css  js  c++  java
  • CComObject 。。。(转)

    1、CComObject :为独立激活的COM组件提供服务,功能包涵:

      (1)锁服务器。

      (2)正常的引用计数。

      (3)正常的QueryInterface。

    2、CComAggObject :为被聚合激活的COM组件提供服务,功能包涵:

      (1)锁服务器。

      (2)包容接口实际类。

      (3)正常的引用计数。

      (4)将调用转发给内部包容对象的QueryInterface。(除了IUnknown请求外)

    3、CComContainedObject :为被聚合海派的COM组件提供服务,功能包涵:

      (1)将调用转发给外部组件的引用计数。

      (2)将调用转发给外部组件的QueryInterface。

    4、CComPolyObject :为既会被聚合激活也会被独立激活的COM组件提供服务,功能包涵:

      (1)在有外部指针传入的时候,表现行为同CComAggObject。

      (2)在没外部指针传入的时候,表现行为同CComObject。

    5、CComObjectCached :当组件引用计数为1时,不影响服务器的生命周期,功能包涵:

      (1)修改的引用计数,在引用大于1时,才锁住服务器。

      (2)正常的QueryInterface。

    6、CComObjectNoLock :不锁服务器的组件,功能包涵:

      (1)正常的引用计数。(不锁服务器)

      (2)正常的QueryInterface。

    7、CComObjectGlobal :为全局变量提供服务,功能包涵:

      (1)在构造函数中完成通常在CComCreator::CreateInstance中的组件调用。

      (2)引用计数变形为锁服务器。

      (3)正常的QueryInterface。

    8、CComObjectStack :为局部COM组件提供服务,功能包涵:

      (1)禁止引用计数。

      (2)禁止QueryInterface。

    9、CComObjectStackEx :为局部COM组件提供更好的服务,功能包涵:

      (1)正常的引用计数。

      (2)正常的QueryInterface。

      (3)在析构函数中断言(dwRef == 0)。(以此保证当组件释放时不存在对其的引用)

  • 相关阅读:
    Oracle数据库的权限、用户、角色管理
    linux address already in use:make_sock:could not bind to address [::]:80
    linux上ln命令详细说明
    IPhone多线程下载器,支持多种主题
    Android 开发从入门到精通
    iOS开发视频教程下载/iphone开发视频教程下载
    oscocos2d游戏开发基础进度条开发笔记
    分享10个Android游戏源码,要的赶紧来哈
    android中点中overlay弹出带尾巴的气泡的实现
    分享20个Android游戏源码,希望大家喜欢哈!
  • 原文地址:https://www.cnblogs.com/newlist/p/2582426.html
Copyright © 2011-2022 走看看