CComObjectGlobal クラス
このクラスは、Base
オブジェクトを含むモジュールの参照カウントを管理します。
構文
template<class Base>
class CComObjectGlobal : public Base
パラメーター
Base
CComObjectRoot または CComObjectRootEx から、およびオブジェクトでサポートするその他のインターフェイスから派生したクラス。
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
CComObjectGlobal::CComObjectGlobal | コンストラクター。 |
CComObjectGlobal::~CComObjectGlobal | デストラクター。 |
パブリック メソッド
名前 | 説明 |
---|---|
CComObjectGlobal::AddRef | グローバルな AddRef を実装します。 |
CComObjectGlobal::QueryInterface | グローバルな QueryInterface を実装します。 |
CComObjectGlobal::Release | グローバルな Release を実装します。 |
パブリック データ メンバー
名前 | 説明 |
---|---|
CComObjectGlobal::m_hResFinalConstruct | CComObjectGlobal オブジェクトの構築中に返される HRESULT を格納します。 |
解説
CComObjectGlobal
は、Base
オブジェクトを含むモジュールの参照カウントを管理します。 CComObjectGlobal
では、モジュールが解放されない限り、オブジェクトは削除されません。 オブジェクトは、モジュール全体の参照カウントが 0 になった場合にのみ削除されます。
たとえば、CComObjectGlobal
を使用すると、クラス ファクトリは、すべてのクライアントによって共有される共通のグローバル オブジェクトを保持できます。
継承階層
Base
CComObjectGlobal
要件
ヘッダー: atlcom.h
CComObjectGlobal::AddRef
オブジェクトの参照カウントを 1 ずつインクリメントします。
STDMETHOD_(ULONG, AddRef)();
戻り値
診断やテストに役立つ可能性がある値。
解説
既定では、AddRef
は _Module::Lock
を呼び出します。ここで、_Module
は、CComModule またはそれから派生したクラスのグローバル インスタンスです。
CComObjectGlobal::CComObjectGlobal
コンストラクター。 FinalConstruct
を呼び出した後、m_hResFinalConstruct を FinalConstruct
によって返された HRESULT
に設定します。
CComObjectGlobal(void* = NULL));
解説
CComObjectRoot から基底クラスを派生していない場合は、独自の FinalConstruct
メソッドを指定する必要があります。 このデストラクターは FinalRelease
を呼び出します。
CComObjectGlobal::~CComObjectGlobal
デストラクター。
CComObjectGlobal();
解説
割り当て済みのすべてのリソースを解放し、FinalRelease を呼び出します。
CComObjectGlobal::m_hResFinalConstruct
CComObjectGlobal
オブジェクトの構築中に、FinalConstruct
の呼び出しから得た HRESULT を格納します。
HRESULT m_hResFinalConstruct;
CComObjectGlobal::QueryInterface
要求されたインターフェイス ポインターへのポインターを取得します。
STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);
パラメーター
iid
[入力] 要求されているインターフェイスの GUID。
ppvObject
[出力] iid で識別されるインターフェイス ポインターへのポインター。インターフェイスが見つからない場合は NULL。
戻り値
標準の HRESULT 値。
解説
QueryInterface
が処理するのは、COM マップ テーブル内のインターフェイスのみです。
CComObjectGlobal::Release
オブジェクトの参照カウントを 1 ずつデクリメントします。
STDMETHOD_(ULONG, Release)();
戻り値
デバッグ ビルドでは、診断とテストに役立つ可能性のある値が、Release
から返されます。 デバッグ以外のビルドでは、Release
から常に 0 が返されます。
解説
既定では、Release
は _Module::Unlock
を呼び出します。ここで、_Module
は、CComModule またはそれから派生したクラスのグローバル インスタンスです。