次の方法で共有


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 が返されます。

関連項目

クラスの概要