次の方法で共有


CBaseObject クラス

CBaseObject クラスは、Microsoft® DirectShow® オブジェクトを実装する抽象クラスである。Component Object Model (COM) オブジェクトを実装するには、CBaseObject から派生した CUnknown クラスを使う。

DirectShow クラスの大部分は CBaseObject から派生する。このクラスは、実行時にアクティブなすべての DirectShow オブジェクトの数を保持してデバッグを支援する。オブジェクトの数 (カウント) はクラスの静的メンバ変数に格納される。

class CBaseObject
{
private:
        static LONG m_cObjects;  // アクティブ オブジェクトの合計数。 
/* ... */
};

デバッグ ビルドでは、DLL はオブジェクト カウントがゼロより大きいときにアンロードされるかどうかをアサートする。これにより、参照カウントの問題を原因とするリークの追跡が容易になる。

CObject コンストラクタの引数は 1 つで、それはオブジェクトのデバッグ名である。この名前は DLL のグローバル テーブルに格納される。DbgDumpObjectRegister 関数は DLL 内のアクティブなオブジェクトのリストをフォーマットし、それをデバッグ出力に送信する。

要件

ヘッダー : Combase.h で宣言し、Streams.h をインクルードする。

ライブラリ : Strmbase.lib (リテール ビルド) または Strmbasd.lib (デバッグ ビルド)。

クラス メソッド  
CBaseObject コンストラクタ メソッド。
~CBaseObject デストラクタ メソッド。
ObjectsActive アクティブ オブジェクトのカウントを取得する。