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 | アクティブ オブジェクトのカウントを取得する。 |