CBaseObject クラス
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
CBaseObject クラスは、DirectShow オブジェクトを実装するための抽象クラスです。 コンポーネント オブジェクト モデル (COM) オブジェクトを実装するには、CBaseObject から派生した CUnknown クラスを使用します。
クラス メソッド | 説明 |
---|---|
CBaseObject | コンストラクター メソッド。 |
~CBaseObject | デストラクター メソッド。 |
ObjectsActive | アクティブなオブジェクトの数を取得します。 |
解説
DirectShow 基底クラスのほとんどは 、CBaseObject から派生します。 このクラスは、実行時にすべての DirectShow オブジェクトの数をアクティブにすることで、デバッグの支援を提供します。 オブジェクト数は、クラス静的メンバー変数に格納されます。
class CBaseObject
{
private:
static LONG m_cObjects; // Total number of objects active.
/* ... */
};
デバッグ ビルドでは、オブジェクト数が 0 より大きい間にアンロードされた場合、DLL はアサートします。 これにより、参照カウントの問題によって発生するリークを簡単に追跡できます。
CBaseObject コンストラクターは、オブジェクトのデバッグ名である 1 つの引数を受け取ります。 この名前は、DLL のグローバル テーブルに格納されます。 DbgDumpObjectRegister 関数は、DLL でアクティブなオブジェクトの一覧を書式設定し、デバッグ出力に送信します。
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|