Поделиться через


Перечисление устройств и фильтров

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Иногда приложению требуется найти определенный фильтр в системе пользователя. Например, приложение для захвата видео может отображать список доступных устройств захвата. Так как DirectShow использует архитектуру на основе компонентов, во время разработки невозможно узнать, какие фильтры установлены в системе пользователя. Это особенно верно для фильтров, представляющих аппаратные устройства. DirectShow предоставляет два компонента, которые находят зарегистрированные фильтры:

Перечислители, описанные в этом разделе, следуют стандартной форме, используемой интерфейсами перечисления COM. Дополнительные сведения см. в разделе "IEnumXXXXX" в пакете средств разработки программного обеспечения платформы Майкрософт (SDK).

В этом разделе рассматриваются следующие вопросы.

Основные задачи DirectShow