_com_ptr_t 类

Microsoft 专用

_com_ptr_t 对象封装 COM 接口指针,被称为“智能”指针。 此模板类通过对 IUnknown 成员函数的函数调用来管理资源分配和解除分配:QueryInterfaceAddRefRelease

智能指针通常由 _COM_SMARTPTR_TYPEDEF 宏提供的 typedef 定义引用。 此宏采用接口名称和 IID,并利用接口名称与后缀 Ptr 声明 _com_ptr_t 的专用化。 例如:

_COM_SMARTPTR_TYPEDEF(IMyInterface, __uuidof(IMyInterface));

声明 _com_ptr_t 专用化 IMyInterfacePtr

函数模板集(而非此模板类的成员),支持与比较运算符右侧的智能指针进行比较。

建筑

名称 描述
_com_ptr_t 构造 _com_ptr_t 对象

低级别运算

名称 描述
AddRef 调用封装的接口指针上的 IUnknownAddRef 成员函数。
附加 封装此智能指针的类型的原始接口指针。
CreateInstance 创建给定了 CLSIDProgID 的对象的新实例。
分离 提取并返回封装的接口指针。
GetActiveObject 附加到给定 CLSIDProgID 的对象的现有实例。
GetInterfacePtr 返回封装的接口指针。
QueryInterface 调用封装的接口指针上的 IUnknownQueryInterface 成员函数。
版本 调用封装的接口指针上的 IUnknownRelease 成员函数。

运算符

名称 描述
operator = 将新值赋给现有 _com_ptr_t 对象。
operators ==, !=, <, >, <=, >= 将智能指针对象与另一个智能指针、原始接口指针或 NULL 进行比较。
提取器 提取封装的 COM 接口指针。

结束 Microsoft 专用

要求

标头:<comip.h>

Lib:comsuppw.lib 或 comsuppwd.lib(有关详细信息,请参阅 /Zc:wchar_t(wchar_t 为本机类型)

另请参阅

编译器 COM 支持类