CComCachedTearOffObject选件类
此选件类实现拖曳接口的 IUnknown。
template <
class contained
>
class CComCachedTearOffObject : public IUnknown,
public CComObjectRootEx< contained::_ThreadModel::ThreadModelNoCS >
参数
- contained
您的拖曳选件类,从派生 CComTearOffObjectBase,您希望接口拖曳对象支持。
成员
公共构造函数
名称 |
说明 |
---|---|
构造函数。 |
|
该析构函数。 |
公共方法
名称 |
说明 |
---|---|
增加 CComCachedTearOffObject 对象的引用计数。 |
|
调用 m_contained::FinalConstruct (拖曳选件类的方法)。 |
|
调用 m_contained::FinalRelease (拖曳选件类的方法)。 |
|
返回指向 CComCachedTearOffObject 对象的 IUnknown,或者对请求的接口为拖曳选件类(选件类 contained)。 |
|
如果引用计数为0,CComCachedTearOffObject 递减对象的引用计数并销毁它。 |
公共数据成员
名称 |
说明 |
---|---|
从从派生的 CComContainedObject 对象拖曳选件类(选件类 contained)。 |
备注
拖曳接口的CComCachedTearOffObject 实现 IUnknown。 此选件类与 CComTearOffObject 不同 CComCachedTearOffObject 具有自己的 IUnknown,与所有者对象的 IUnknown (所有者是拖曳创建的对象)。 在其引用计数为零时,CComCachedTearOffObject 保持自己对其 IUnknown 的计数和删除它。 但是,因此,如果您为任何其他查询的拖曳接口,对象的 IUnknown 将增加所有者的引用计数。
如果实现拖曳的 CComCachedTearOffObject 对象实例化,因此,拖曳接口为再次查询,重用同一 CComCachedTearOffObject 对象。 相反,因此,如果 CComTearOffObject 实现的拖曳接口为通过所有者对象被再次查询,另一 CComTearOffObject 将实例化。
所有者选件类必须实现 FinalRelease,并调用缓存的 IUnknown 的 ReleaseCComCachedTearOffObject的,将递减其引用计数。 这将导致CComCachedTearOffObject的 FinalRelease 调用和删除拖曳。
继承层次结构
CComObjectRootBase
IUnknown
CComCachedTearOffObject
要求
Header: atlcom.h