Класс CBaseObject
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Класс CBaseObject является абстрактным классом для реализации объектов DirectShow. Для реализации объектов COM используйте класс CUnknown , производный от CBaseObject.
Методы класса | Описание |
---|---|
CBaseObject | Метод конструктора. |
~CBaseObject | Метод деструктора. |
ObjectsActive | Извлекает количество активных объектов. |
Комментарии
Большинство базовых классов DirectShow являются производными от CBaseObject. Этот класс предоставляет помощь в отладке, сохраняя количество всех объектов DirectShow, активных во время выполнения. Число объектов хранится в переменной-члене класса static:
class CBaseObject
{
private:
static LONG m_cObjects; // Total number of objects active.
/* ... */
};
В отладочных сборках библиотека DLL будет утверждать, если она выгружена, а число объектов больше нуля. Это упрощает отслеживание утечек, вызванных проблемами подсчета ссылок.
Конструктор CBaseObject принимает один аргумент — имя отладки для объекта . Это имя хранится в глобальной таблице в библиотеке DLL. Функция DbgDumpObjectRegister форматирует список объектов, активных в библиотеке DLL, и отправляет его в выходные данные отладки.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|