Класс CBaseDispatch
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Класс CBaseDispatch является базовым классом для реализации интерфейса IDispatch в фильтре DirectShow.
Этот класс ограничен поддержкой интерфейсов, совместимых с автоматизацией, экспортируемых библиотекой типов DirectShow, QuartzTypeLib. Например, классы CMediaControl и CMediaPosition используют CBaseDispatch для реализации IMediaControl и IMediaPosition соответственно. Из-за этого ограничения, вероятно, нет причин использовать CBaseDispatch непосредственно в собственных фильтрах.
Чтобы использовать этот класс, выполните следующие действия.
- Объявите новый класс, поддерживающий IDispatch.
- Присвойте новому классу частную переменную-член типа CBaseDispatch.
- Реализуйте методы IDispatch .
- В методах IDispatch вызовите методы CBaseDispatch .
Дополнительные сведения см. в исходном коде любого из примеров классов, объявленных в Ctlutil.h.
Открытые методы | Описание |
---|---|
CBaseDispatch | Метод конструктора. |
~CBaseDispatch | Метод деструктора. |
GetIDsOfNames | Сопоставляет набор имен с соответствующим набором DISPID. |
GetTypeInfo | Извлекает сведения о типе для объекта , которые затем можно использовать для получения сведений о типе для интерфейса. |
GetTypeInfoCount | Извлекает количество интерфейсов сведений о типах, которые предоставляет объект . |
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|