CComCachedTearOffObject选件类

此选件类实现拖曳接口的 IUnknown

template <
   class contained
>
class CComCachedTearOffObject : public IUnknown,
   public CComObjectRootEx< contained::_ThreadModel::ThreadModelNoCS >

参数

  • contained
    您的拖曳选件类,从派生 CComTearOffObjectBase,您希望接口拖曳对象支持。

成员

csx8h562.collapse_all(zh-cn,VS.110).gif公共构造函数

名称

说明

CComCachedTearOffObject::CComCachedTearOffObject

构造函数。

CComCachedTearOffObject::~CComCachedTearOffObject

该析构函数。

csx8h562.collapse_all(zh-cn,VS.110).gif公共方法

名称

说明

CComCachedTearOffObject::AddRef

增加 CComCachedTearOffObject 对象的引用计数。

CComCachedTearOffObject::FinalConstruct

调用 m_contained::FinalConstruct (拖曳选件类的方法)。

CComCachedTearOffObject::FinalRelease

调用 m_contained::FinalRelease (拖曳选件类的方法)。

CComCachedTearOffObject::QueryInterface

返回指向 CComCachedTearOffObject 对象的 IUnknown,或者对请求的接口为拖曳选件类(选件类 contained)。

CComCachedTearOffObject::Release

如果引用计数为0,CComCachedTearOffObject 递减对象的引用计数并销毁它。

csx8h562.collapse_all(zh-cn,VS.110).gif公共数据成员

名称

说明

CComCachedTearOffObject::m_contained

从从派生的 CComContainedObject 对象拖曳选件类(选件类 contained)。

备注

拖曳接口的CComCachedTearOffObject 实现 IUnknown。 此选件类与 CComTearOffObject 不同 CComCachedTearOffObject 具有自己的 IUnknown,与所有者对象的 IUnknown (所有者是拖曳创建的对象)。 在其引用计数为零时,CComCachedTearOffObject 保持自己对其 IUnknown 的计数和删除它。 但是,因此,如果您为任何其他查询的拖曳接口,对象的 IUnknown 将增加所有者的引用计数。

如果实现拖曳的 CComCachedTearOffObject 对象实例化,因此,拖曳接口为再次查询,重用同一 CComCachedTearOffObject 对象。 相反,因此,如果 CComTearOffObject 实现的拖曳接口为通过所有者对象被再次查询,另一 CComTearOffObject 将实例化。

所有者选件类必须实现 FinalRelease,并调用缓存的 IUnknownReleaseCComCachedTearOffObject的,将递减其引用计数。 这将导致CComCachedTearOffObjectFinalRelease 调用和删除拖曳。

继承层次结构

CComObjectRootBase

CComObjectRootEx

IUnknown

CComCachedTearOffObject

要求

Header: atlcom.h

请参见

参考

CComTearOffObject选件类

CComObjectRootEx选件类

其他资源

ATL选件类概述