_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 成员函数。

Attach

封装此智能指针的类型的原始接口指针。

CreateInstance

创建一个给定了 CLSIDProgID 的对象的新实例。

Detach

提取并返回封装的接口指针。

GetActiveObject

根据 CLSIDProgID 附加到一个对象的现有实例。

GetInterfacePtr

返回封装的接口指针。

QueryInterface

调用封装的接口指针上的 IUnknownQueryInterface 成员函数。

Release

调用封装的接口指针上的 IUnknownRelease 成员函数。

运算符

operator =

将新值赋给现有 _com_ptr_t 对象。

operators ==, !=, <, >, <=, >=

将智能指针对象与另一个智能指针、原始接口指针或 NULL 进行比较。

Extractors

提取封装的 COM 接口指针。

要求

**标题:**comip.h

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

请参见

参考

编译器 COM 支持类