DirectShow DirectShow 레퍼런스 DirectShow base class base class 레퍼런스 CBaseObject   [목차열람] [주소복사] [슬롯비우기]
CBaseObject 클래스
 
Microsoft DirectX 9.0

CBaseObject 클래스

CBaseObject 클래스는, Microsoft® DirectShow® 개체를 처리 하는 추상 클래스이다. Component Object Model (COM) 개체를 처리 하려면 ,CBaseObject 로부터 파생한 CUnknown 클래스를 사용한다.

DirectShow 클래스의 대부분은 CBaseObject 로부터 파생한다. 이 클래스는, 실행시에 액티브한 모든 DirectShow 개체의 수를 보관 유지해 디버그를 지원한다. 개체의 수 (카운트)는 클래스의 정적 멤버 변수에 저장 된다.

class CBaseObject
{
private:
        static LONG m_cObjects;  // 액티브 개체의 합계수.  
/* ... */
};

디버그 빌드에서는, DLL 는 개체 카운트가 제로보다 클 때에 언로드될지 어떨지를 Assert 한다. 이것에 의해, 참조 카운트의 문제를 원인으로 하는 누수의 추적이 용이하게 된다.

CObject 생성자의 인수는 1 개로, 그것은 개체의 디버그명이다. 이 이름은 DLL 의 글로벌 테이블에 저장 된다. DbgDumpObjectRegister 함수는 DLL 내의 액티브한 개체의 리스트를 포맷 해, 그것을 디버그 출력에 송신한다.

요건

헤더 : Combase.h 로 선언해, Streams.h 를 인클루드 한다.

라이브러리 : Strmbase.lib (리테일 빌드) 또는 Strmbasd.lib (디버그 빌드).

클래스 메서드  
CBaseObject 생성자 메서드.
~CBaseObject 소멸자 메서드.
ObjectsActive 액티브 개체의 카운트를 얻어온다.

↑TOP