_com_ptr_t クラス
Microsoft 固有の仕様 →
_com_ptr_t のオブジェクトは COM インターフェイス ポインターをカプセル化し「 " の」ポインターと呼ばれます。このテンプレート クラスは関数呼び出しによる IUnknown のメンバー関数のリソース割り当てと解放を管理します : QueryInterfaceAddRef と 解放 。
スマート ポインターは**_COM_SMARTPTR_TYPEDEF** マクロによって提供された typedef 定義で参照されます。このマクロではインターフェイス名と IID を受け取りPtr のサフィックスとインターフェイスの名前で _com_ptr_t の特殊化を宣言します。次に例を示します。
_COM_SMARTPTR_TYPEDEF(IMyInterface, __uuidof(IMyInterface));
_com_ptr_t から特化した IMyInterfacePtr を宣言します。
このテンプレート クラスのセットの 関数テンプレートメンバー比較演算子の右側のスマート ポインターとの比較をサポートする。
構築
_com_ptr_t オブジェクトを構築します。 |
低水準の操作
カプセル化されたインターフェイス ポインターの IUnknown の AddRef のメンバー関数を呼び出します。 |
|
このスマート ポインター型の生のインターフェイス ポインターをカプセル化します。 |
|
CLSID または ProgID のオブジェクトの新しいインスタンスを作成します。 |
|
抽出しカプセル化されたインターフェイス ポインター。 |
|
CLSID または ProgID のオブジェクトの既存のインスタンスにアタッチされます。 |
|
カプセル化のインターフェイス ポインターを返します。 |
|
カプセル化されたインターフェイス ポインターの IUnknown の QueryInterface のメンバー関数を呼び出します。 |
|
カプセル化されたインターフェイス ポインターの IUnknown の 解放 のメンバー関数を呼び出します。 |
演算子
_com_ptr_t の既存のオブジェクトに新しい値を割り当てます。 |
|
別のスマート ポインター生のインターフェイス ポインターまたは null にスマート ポインター オブジェクトを比較します。 |
|
カプセル化された COM インターフェイス ポインターを抽出します。 |
要件
ヘッダー : comip.h
ライブラリ : comsuppw.lib または comsuppwd.lib (詳細については /Zc:wchar_t (wchar_t をネイティブ型として認識) を参照してください)