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


Обработка событий в AVStream

Фильтры и закрепления AVStream описывают свойства, события и методы, которые они поддерживают, предоставляя структуру KSAUTOMATION_TABLE в элементе AutomationTableструктуры KSFILTER_DESCRIPTOR или структуры KSPIN_DESCRIPTOR_EX . Дополнительные сведения см. в разделе Дескрипторы AVStream.

Для поддержки событий мини-накопитель AVStream предоставляет массив KSEVENT_SET структур в таблице автоматизации. Каждая KSEVENT_SET структура содержит массив KSEVENT_ITEM структур. Каждая KSEVENT_ITEM структура описывает, как мини-диск поддерживает определенное событие.

Мини-driver может настраивать поведение событий, предоставляя обработчики AVStrMiniAddEvent и AVStrMiniRemoveEvent в структурах KSEVENT_ITEM.

Когда AVStream получает запрос на включение события, он создает KSEVENT_ENTRY структуру. Если мини-диск предоставил обработчик AVStrAddEvent , AVStream передает указатель на структуру KSEVENT_ENTRY в вызове AVStrAddEvent.

Если обработчик AVStrAddEvent не указан, то по умолчанию AVStream добавляет событие в список объектов. Ваш мини-диск не получает указатель KSEVENT_ENTRY . Мини-диск может активировать событие, вызвав KsFilterGenerateEvents или KsPinGenerateEvents.