CUnknown クラス
CUnknown オブジェクトは IUnknown インターフェイスを実装する。Microsoft® DirectShow® のほとんどのコンポーネント オブジェクト モデル (COM) オブジェクトは CUnknown から派生する。
COM オブジェクトを実装する場合は、CUnknown から派生させることを推奨する。CUknown から派生させると、スレッド対応の実装が提供されるほか、IUnknown を実装する面倒がなくなる。
この基底クラスの使い方については、「IUnknown の実装方法」を参照すること。以下にその概要を示す。
- クラス定義の public セクションに DECLARE_IUNKNOWN マクロをインクルードする。このマクロは、IUnknown インターフェイスの 3 つのメソッドを宣言する。
- NonDelegatingQueryInterface メソッドをオーバーライドして、IUnknown 以外のインターフェイスをサポートする。このメソッド内で GetInterface 関数を呼び出して、インターフェイス ポインタを取得する。
- クラス コンストラクタ内で CUnknown コンストラクタ メソッドを呼び出す。
要件
ヘッダー : Combase.h 内で宣言し、Streams.h をインクルードする。
ライブラリ : Strmbase.lib (リテール ビルド) または Strmbasd.lib (デバッグ ビルド) を使う。
プロテクト メンバ変数 m_cRef 参照カウント。 パブリック メソッド CUnknown コンストラクタ メソッド。 ~CUnknown デストラクタ メソッド。仮想。 GetOwner 制御する IUnknown へのポインタを取得する。 INonDelegatingUnknown メソッド NonDelegatingAddRef 参照カウントをインクリメントする。 NonDelegatingQueryInterface インターフェイス ポインタを取得し、参照カウントをインクリメントする。 NonDelegatingRelease 参照カウントをデクリメントする。