ComPtr 类

创建表示模板参数指定的接口的智能 指针 类型。,当引用计数为零时, ComPtr 自动维护基接口指针的引用计数并释放接口。

template <
   typename T
>
class ComPtr;

template<
   class U
>
friend class ComPtr;

参数

  • T
    ComPtr 表示的接口。

  • U
    当前 ComPtr 是一个 friends 的类。(使用此参数的模板保护。)

备注

ComPtr<> 声明一个基接口指针的类型。使用 ComPtr<> 声明变量并使用箭头成员访问运算符 (->) 对接口成员函数。

有关智能指针的更多信息,请参见主题中的 “的 COM 聪明指针”小节 COM Coding Practices MSDN Library 中的。

成员

BR244983.collapse_all(zh-cn,VS.110).gif公共 Typedef

名称升级过程中或新数据库需要 -ra 参数

说明

InterfaceType

T 模板参数指定类型的同义词。

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

名称升级过程中或新数据库需要 -ra 参数

说明

ComPtr::ComPtr 构造函数

Intializes ComPtr 类的新实例。重载提供默认值,复制,移动和转换构造函数。

ComPtr::~ComPtr 析构函数

Deinitializes ComPtr 实例。

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

名称升级过程中或新数据库需要 -ra 参数

说明

ComPtr::As 方法

返回表示指定的模板参数标识的接口的 ComPtr 对象。

ComPtr::AsIID 方法

返回表示指定接口 ID. 确定接口的 ComPtr 对象

ComPtr::AsWeak 方法

检索弱引用当前对象。

ComPtr::Attach 方法

关联此 ComPtr 与当前模板类型指定的接口类型参数。

ComPtr::CopyTo 方法

复制当前或指定接口与此 ComPtr 到指定的输出指针。

ComPtr::Detach 方法

分离它表示接口的此 ComPtr。

ComPtr::Get 方法

检索指向与此 ComPtr 的接口。

ComPtr::GetAddressOf 方法

检索 ptr_ 数据成员的地址,包含指向此 ComPtr 表示的接口。

ComPtr::ReleaseAndGetAddressOf 方法

释放接口与此 ComPtr 然后检索 ptr_ 数据成员的地址,包含指向接口释放。

ComPtr::Swap 方法

交换当前 ComPtr 托管接口与指定的 ComPtr 托管接口。

BR244983.collapse_all(zh-cn,VS.110).gif受保护的方法

名称升级过程中或新数据库需要 -ra 参数

说明

ComPtr::InternalAddRef 方法

增加接口的引用计数与此 ComPtr。

ComPtr::InternalRelease 方法

对接口的 COM 版本操作与此 ComPtr。

BR244983.collapse_all(zh-cn,VS.110).gif公共运算符

名称升级过程中或新数据库需要 -ra 参数

说明

ComPtr::operator Microsoft::WRL::Details::BoolType 运算符

指示是否 ComPtr 管理接口的对象生存期。

ComPtr::operator& 运算符

检索当前 ComPtr 的地址。

ComPtr::operator= 运算符

将值分配给当前 ComPtr。

ComPtr::operator-> 运算符

检索指向当前模板参数指定的类型。

ComPtr::operator== 运算符

指示两 ComPtr 对象是否相等。

ComPtr::operator!= 运算符

指示两 ComPtr 对象是否不相等。

BR244983.collapse_all(zh-cn,VS.110).gif受保护的数据成员

名称升级过程中或新数据库需要 -ra 参数

说明

ComPtr::ptr_ 数据成员

包含指向关联,并由此 ComPtr 托管接口。

继承层次结构

ComPtr

要求

标题: client.h

命名空间: Microsoft:: WRL

请参见

参考

Microsoft::WRL 命名空间