_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 CLSID または ProgID の指定により、オブジェクトの新しいインスタンスを作成します。
[デタッチ] カプセル化されたインターフェイス ポインターを抽出して返します。
GetActiveObject CLSID または ProgID の指定により、オブジェクトの既存のインスタンスにアタッチします。
GetInterfacePtr カプセル化されたインターフェイス ポインターを返します。
QueryInterface カプセル化されたインターフェイス ポインターで IUnknownQueryInterface メンバー関数を呼び出します。
リリース カプセル化されたインターフェイス ポインターで IUnknownRelease メンバー関数を呼び出します。

演算子

名前 説明
operator = 既存の _com_ptr_t オブジェクトに新しい値を代入します。
operators ==, !=, <, >, <=, >= スマート ポインター オブジェクトを別のスマート ポインター、生のインターフェイス ポインター、または NULL と比較します。
抽出 カプセル化された COM インターフェイス ポインターを抽出します。

Microsoft 固有の仕様はここまで

必要条件

ヘッダー:<comip.h>

ライブラリ: comsuppw.lib または comsuppwd.lib (詳細については、「/Zc:wchar_t (wchar_t Is Native Type)」を参照してください)

関連項目

コンパイラ COM サポート クラス