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


Класс CBaseDispatch

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

Иерархия классов cbasedispatch

Класс CBaseDispatch является базовым классом для реализации интерфейса IDispatch в фильтре DirectShow.

Этот класс ограничен поддержкой интерфейсов, совместимых с автоматизацией, экспортируемых библиотекой типов DirectShow, QuartzTypeLib. Например, классы CMediaControl и CMediaPosition используют CBaseDispatch для реализации IMediaControl и IMediaPosition соответственно. Из-за этого ограничения, вероятно, нет причин использовать CBaseDispatch непосредственно в собственных фильтрах.

Чтобы использовать этот класс, выполните следующие действия.

  • Объявите новый класс, поддерживающий IDispatch.
  • Присвойте новому классу частную переменную-член типа CBaseDispatch.
  • Реализуйте методы IDispatch .
  • В методах IDispatch вызовите методы CBaseDispatch .

Дополнительные сведения см. в исходном коде любого из примеров классов, объявленных в Ctlutil.h.

Открытые методы Описание
CBaseDispatch Метод конструктора.
~CBaseDispatch Метод деструктора.
GetIDsOfNames Сопоставляет набор имен с соответствующим набором DISPID.
GetTypeInfo Извлекает сведения о типе для объекта , которые затем можно использовать для получения сведений о типе для интерфейса.
GetTypeInfoCount Извлекает количество интерфейсов сведений о типах, которые предоставляет объект .

Требования

Требование Значение
Заголовок
Ctlutil.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)

См. также раздел

Базовые классы DirectShow