次の方法で共有


CComObjectStack クラス

このクラスは、一時的な COM オブジェクトを作成し、そのオブジェクトに IUnknown のスケルトン実装を提供します。

template< 
   class Base  
> 
class CComObjectStack : 
   public Base

パラメーター

  • Base
    CComObjectRootCComObjectRootExから、または他のインターフェイスからクラスが派生したオブジェクトでサポートする必要があります。

メンバー

パブリック コンストラクター

名前

説明

CComObjectStack::CComObjectStack

コンストラクターです。

CComObjectStack::~CComObjectStack

デストラクターです。

パブリック メソッド

名前

説明

CComObjectStack::AddRef

ゼロを返します。 デバッグ モードでは、呼び出し _ASSERTE

CComObjectStack::QueryInterface

E_NOINTERFACE返します。 デバッグ モードでは、呼び出し _ASSERTE

CComObjectStack::Release

ゼロを返します。 デバッグ モードでは、呼び出し _ASSERTE。 ~

パブリック データ メンバー

名前

説明

CComObjectStack::m_hResFinalConstruct

CComObjectStack のオブジェクトの構築時に返される HRESULT が含まれます。

解説

CComObjectStack が一時的な COM オブジェクトを作成し、オブジェクトを提供するために IUnknownのスケルトン実装が使用されます。 通常、オブジェクトはように、1 種類の関数内のローカル変数使用されます (つまり、スタックに押された状態)。 関数が終了したらオブジェクトが破棄されるため効率を高めるために、参照カウントは実行されません。

次の例では、関数の中で使用する COM オブジェクトを作成する方法を示しています:

void MyFunc()
{
   CComObjectStack<CMyClass2> Tempobj;
   //...
}

関数の終了が一時オブジェクト Tempobj がスタックにプッシュされ、自動的に無効になります。

継承階層

Base

CComObjectStack

必要条件

ヘッダー : atlcom.h

参照

関連項目

CComAggObject クラス

CComObject クラス

CComObjectGlobal クラス

その他の技術情報

ATL クラスの概要