次の方法で共有


CUnknown クラス

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

cunknown クラス階層

CUnknown クラスは IUnknown インターフェイスを実装します。 DirectShow のほとんどのコンポーネント オブジェクト モデル (COM) オブジェクトは 、CUnknown から派生します。

COM オブジェクトを実装する場合は、 CUnknown から派生させる必要があります。 CUnknown から派生すると、スレッド セーフな実装が提供され、IUnknown を実装する手間が省けます。

この基底クラスの使用方法の詳細については、「 IUnknown を実装する方法」を参照してください。 次に簡単な概要を示します。

  • クラス定義の public セクションに DECLARE_IUNKNOWN マクロを含めます。 このマクロは、 IUnknown インターフェイスの 3 つのメソッドを宣言します。
  • IUnknown 以外のインターフェイスをサポートするには、NonDelegatingQueryInterface メソッドをオーバーライドします。 このメソッド内で GetInterface 関数を呼び出して、インターフェイス ポインターを取得します。
  • クラス コンストラクターで、 CUnknown コンストラクター メソッドを呼び出します。
保護されたメンバー変数 説明
m_cRef 参照カウント。
パブリック メソッド 説明
CUnknown コンストラクター メソッド。
~ CUnknown デストラクター メソッド。 仮想。
GetOwner 制御する IUnknown へのポインターを取得します。
INonDelegatingUnknown メソッド 説明
NonDelegatingAddRef 参照カウントをインクリメントします。
NonDelegatingQueryInterface インターフェイス ポインターを取得し、参照カウントをインクリメントします。
NonDelegatingRelease 参照カウントをデクリメントします。

要件

要件
ヘッダー
Combase.h (Stream.h を含む)
ライブラリ
Strmbase.lib (小売ビルド);
Strmbasd.lib (デバッグ ビルド)

関連項目

DirectShow 基本クラス