CBaseObject 클래스
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
CBaseObject 클래스는 DirectShow 개체를 구현하기 위한 추상 클래스입니다. COM(구성 요소 개체 모델) 개체를 구현하려면 CBaseObject에서 파생된 CUnknown 클래스를 사용합니다.
클래스 메서드 | Description |
---|---|
CBaseObject | 생성자 메서드입니다. |
~CBaseObject | 소멸자 메서드입니다. |
ObjectsActive | 활성 개체의 수를 검색합니다. |
설명
대부분의 DirectShow 기본 클래스는 CBaseObject에서 파생됩니다. 이 클래스는 런타임 동안 모든 DirectShow 개체 수를 활성 상태로 유지하여 디버깅 지원을 제공합니다. 개체 수는 클래스 정적 멤버 변수에 저장됩니다.
class CBaseObject
{
private:
static LONG m_cObjects; // Total number of objects active.
/* ... */
};
디버그 빌드에서 DLL은 개체 수가 0보다 큰 동안 언로드되면 어설션됩니다. 이렇게 하면 참조 계산 문제로 인한 누수를 더 쉽게 추적할 수 있습니다.
CBaseObject 생성자는 개체의 디버깅 이름인 하나의 인수를 사용합니다. 이 이름은 DLL의 전역 테이블에 저장됩니다. DbgDumpObjectRegister 함수는 DLL에서 활성 상태인 개체 목록의 형식을 지정하고 디버그 출력으로 보냅니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
라이브러리 |
|