CComObjectStack クラス
このクラスは、一時的な COM オブジェクトを作成し、そのオブジェクトに IUnknown のスケルトン実装を提供します。
template<
class Base
>
class CComObjectStack :
public Base
パラメーター
- Base
CComObjectRoot か CComObjectRootExから、または他のインターフェイスからクラスが派生したオブジェクトでサポートする必要があります。
メンバー
パブリック コンストラクター
名前 |
説明 |
---|---|
コンストラクターです。 |
|
デストラクターです。 |
パブリック メソッド
名前 |
説明 |
---|---|
ゼロを返します。デバッグ モードでは、呼び出し _ASSERTE。 |
|
E_NOINTERFACE返します。デバッグ モードでは、呼び出し _ASSERTE。 |
|
ゼロを返します。デバッグ モードでは、呼び出し _ASSERTE。~ |
パブリック データ メンバー
名前 |
説明 |
---|---|
CComObjectStack のオブジェクトの構築時に返される HRESULT が含まれます。 |
解説
CComObjectStack が一時的な COM オブジェクトを作成し、オブジェクトを提供するために IUnknownのスケルトン実装が使用されます。通常、オブジェクトはように、1 種類の関数内のローカル変数使用されます (つまり、スタックに押された状態)。関数が終了したらオブジェクトが破棄されるため効率を高めるために、参照カウントは実行されません。
次の例では、関数の中で使用する COM オブジェクトを作成する方法を示しています:
void MyFunc()
{
CComObjectStack<CMyClass2> Tempobj;
//...
}
関数の終了が一時オブジェクト Tempobj がスタックにプッシュされ、自動的に無効になります。
継承階層
Base
CComObjectStack
必要条件
ヘッダー : atlcom.h