创建smart pointer是一种智能指针类型,表示由模板参数指定的接口。 ComPtr会自动维护基础接口指针的引用计数,并在引用计数变为零时发布接口。
template <
typename T
>
class ComPtr;
template<
class U
>
friend class ComPtr;
参数
T
表示 ComPtr 的接口。U
当前 ComPtr 为友元的类。(使用此参数的模板受保护。)
备注
声明 ComPtr<> 表示基础接口指针的类型。 使用声明变量 ComPtr<> 然后使用箭头成员访问运算符 (->) 对接口成员函数。
有关智能指针的更多信息,请参见 COM Coding Practices 主题中的“COM、聪明指针”小节在 MSDN Library 中。
成员
公共 Typedef
名称 |
说明 |
---|---|
InterfaceType |
T 模板参数指定类型的同义词。 |
公共构造函数
名称 |
说明 |
---|---|
初始化 ComPtr 类的新实例。 重载提供默认,复制个,、移动和转换该构造函数。 |
|
Deinitializes ComPtr 实例。 |
公共方法
名称 |
说明 |
---|---|
返回表示指定的模板参数标识的接口的 ComPtr 对象。 |
|
返回表示指定的接口ID的接口的 ComPtr 对象。 |
|
检索对当前项的弱引用。 |
|
将此 ComPtr 与当前模板类型参数指定的接口类型。 |
|
复制当前或指定接口与此 ComPtr 对输出的指针。 |
|
离散从它表示此接口的 ComPtr。 |
|
检索指向与此 ComPtr 关联的接口。 |
|
ptr_ 检索数据成员的地址,包含指针到此 ComPtr 表示的接口。 |
|
释放接口与此 ComPtr 然后检索 ptr_ 数据成员的地址,包含一个指向接口被释放。 |
|
交换当前 ComPtr 托管接口具有指定的 ComPtr 托管接口。 |
受保护的方法
名称 |
说明 |
---|---|
添加接口的引用计数与此 ComPtr。 |
|
对接口的 COM 版本操作与此 ComPtr。 |
公共运算符
名称 |
说明 |
---|---|
指示是否 ComPtr 管理接口的对象生存期。 |
|
检索当前 ComPtr 的地址。 |
|
将值分配给当前 ComPtr。 |
|
为当前模板参数检索的类型的指针。 |
|
指示两个ComPtr对象是否相等。 |
|
指示两个ComPtr对象是否不相等。 |
受保护的数据成员
名称 |
说明 |
---|---|
包含一个指向相关,并由此 ComPtr 托管接口。 |
继承层次结构
ComPtr
要求
**标头:**client.h
命名空间: Microsoft::WRL