CComObjectNoLock クラス
このクラスは、非集計オブジェクトの IUnknown
を実装します。ただし、コンストラクターでのモジュール ロック数のインクリメントはしません。
構文
template<class Base>
class CComObjectNoLock : public Base
パラメーター
Base
CComObjectRoot または CComObjectRootEx から、およびオブジェクトでサポートするその他のインターフェイスから派生したクラス。
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
CComObjectNoLock::CComObjectNoLock | コンストラクターです。 |
CComObjectNoLock::~CComObjectNoLock | デストラクター。 |
パブリック メソッド
名前 | 説明 |
---|---|
CComObjectNoLock::AddRef | オブジェクトの参照カウントをインクリメントします。 |
CComObjectNoLock::QueryInterface | 要求されたインターフェイスへのポインターを返します。 |
CComObjectNoLock::Release | オブジェクトの参照カウントをデクリメントします。 |
解説
CComObjectNoLock
は、非集約オブジェクトに対して IUnknown を実装している点で CComObject と似ていますが、CComObjectNoLock
によってコンストラクターのモジュール ロック数を増加させることはありません。
ATL では、クラス ファクトリに対して内部的に CComObjectNoLock
を使用します。 一般に、このクラスは直接使用しません。
継承階層
Base
CComObjectNoLock
要件
ヘッダー: atlcom.h
CComObjectNoLock::AddRef
オブジェクトの参照カウントをインクリメントします。
STDMETHOD_(ULONG, AddRef)();
戻り値
診断またはテストに役立つ可能性がある値。
CComObjectNoLock::CComObjectNoLock
コンストラクター。 CComObject とは異なり、モジュール ロック数を増加させません。
CComObjectNoLock(void* = NULL);
パラメーター
void*
[入力] この名前なしのパラメーターは使用されません。 これは、他の CComXXXObjectXXX
コンストラクターとの対称のために存在します。
CComObjectNoLock::~CComObjectNoLock
デストラクター。
~CComObjectNoLock();
解説
割り当て済みのすべてのリソースを解放し、FinalRelease を呼び出します。
CComObjectNoLock::QueryInterface
要求されたインターフェイスへのポインターを取得します。
STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);
パラメーター
iid
[入力] 要求されるインターフェイスの識別子。
ppvObject
[出力] iid によって識別されるインターフェイス ポインターへのポインター。 オブジェクトでこのインターフェイスがサポートされていない場合、ppvObject は NULL に設定されます。
戻り値
標準の HRESULT 値。
CComObjectNoLock::Release
オブジェクトの参照カウントをデクリメントします。
STDMETHOD_(ULONG, Release)();
戻り値
デバッグ ビルドでは、診断またはテストに役立つ可能性のある値が、Release
から返されます。 デバッグ以外のビルドでは、Release
から常に 0 が返されます。