Udostępnij przez


Obsługa zdarzeń w usłudze AVStream

Filtry i piny AVStream opisują właściwości, zdarzenia i metody obsługiwane poprzez dostarczenie struktury KSAUTOMATION_TABLE jako elementu AutomationTable w strukturze KSFILTER_DESCRIPTOR lub w strukturze KSPIN_DESCRIPTOR_EX. Aby uzyskać więcej informacji, zobacz AvStream Descriptors (Deskryptory avStream).

Aby obsługiwać zdarzenia, minidriver AVStream udostępnia tablicę struktur KSEVENT_SET w tabeli automatyzacji. Każda struktura KSEVENT_SET zawiera tablicę struktur KSEVENT_ITEM . Każda struktura KSEVENT_ITEM opisuje sposób obsługi określonego zdarzenia przez minidriver.

Minidriver może dostosować zachowanie zdarzeń, dostarczając procedury obsługi AVStrMiniAddEvent i AVStrMiniRemoveEvent w strukturach KSEVENT_ITEM.

Gdy usługa AVStream odbiera żądanie włączenia zdarzenia, generuje strukturę KSEVENT_ENTRY. Jeśli minidriver dostarczył program obsługi AVStrAddEvent, AVStream przekazuje wskaźnik do struktury KSEVENT_ENTRY w wywołaniu avStrAddEvent.

Jeśli nie podasz obsługi zdarzeń AVStrAddEvent, domyślnie AVStream dodaje zdarzenie do listy obiektów. Minidriver nie otrzymuje wskaźnika KSEVENT_ENTRY. Twój minidriver może wyzwolić zdarzenie, wywołując polecenie KsFilterGenerateEvents lub KsPinGenerateEvents.