Метод ICodecAPI::RegisterForEvent (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Метод RegisterForEvent регистрирует приложение для получения событий от кодека.
Синтаксис
HRESULT RegisterForEvent(
[in] const GUID *Api,
[out] LONG_PTR userData
);
Параметры
[in] Api
Указатель на GUID, указывающий событие. Существует три категории событий:
Значение | Значение |
---|---|
|
Кодек уведомляет приложение при изменении свойств кодека. Данные события — это список идентификаторов GUID для измененных свойств. |
|
Кодек уведомляет приложение при изменении указанного свойства. Как правило, кодек поддерживает этот тип уведомления для ограниченного набора свойств, если таковые имеются. |
|
не зависит от реализации. |
[out] userData
Указатель на данные, определяемые вызывающим абонентом. Приложение получает этот указатель в параметре события lParam1 .
Возвращаемое значение
Этот метод может возвращать одно из этих значений.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
Не реализован. Кодек не поддерживает уведомление о событиях или guid события, указанный в параметре API . |
Комментарии
Приложение получает уведомление о событии EC_CODECAPI_EVENT всякий раз, когда кодек кодировщика отправляет событие. Чтобы получить событие, использует интерфейс IMediaEventEx .
Параметр lParam2 события является указателем на структуру CodecAPIEventData . За этой структурой могут следовать дополнительные данные в зависимости от GUID события. Размер этих данных определяется элементом dataLength .
GUID | Данные о событиях |
---|---|
CODECAPI_CHANGELISTS | Массив GUID. Каждый GUID указывает свойство кодека, текущее значение или допустимый диапазон которого были изменены. Размер массива — dataLength / sizeof(GUID) . |
ИДЕНТИФИКАТОР GUID свойства, определенный в codecapi.h. | Нет. |
Идентификатор GUID собственного события. | не зависит от реализации. |
Если кодек не поддерживает указанное событие, метод возвращает E_NOTIMPL. Кодек может поддерживать другие события.
Чтобы отключить уведомления для события, вызовите ICodecAPI::UnregisterForEvent.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP с пакетом обновления 2 (SP2) [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 R2 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |
Библиотека | Strmiids.lib |