Condividi tramite


Gestione degli eventi in AVStream

I filtri e i pin AVStream descrivono proprietà, eventi e metodi supportati fornendo una struttura KSAUTOMATION_TABLE nel membro AutomationTable di una struttura KSFILTER_DESCRIPTOR o di una struttura KSPIN_DESCRIPTOR_EX . Per altre informazioni, vedere Descrittori AVStream.

Per supportare gli eventi, un minidriver AVStream fornisce una matrice di strutture KSEVENT_SET in una tabella di automazione. Ogni struttura KSEVENT_SET contiene una matrice di strutture KSEVENT_ITEM . Ogni KSEVENT_ITEM struttura descrive come il minidriver supporta un evento specifico.

Il minidriver può personalizzare il comportamento degli eventi fornendo i gestori AVStrMiniAddEvent e AVStrMiniRemoveEvent nelle strutture KSEVENT_ITEM.

Quando AVStream riceve una richiesta di abilitazione dell'evento, genera una struttura KSEVENT_ENTRY. Se il minidriver ha fornito un gestore AVStrAddEvent , AVStream passa un puntatore alla struttura KSEVENT_ENTRY nella chiamata a AVStrAddEvent.

Se non si specifica un gestore AVStrAddEvent , per impostazione predefinita AVStream aggiunge l'evento all'elenco di oggetti. Il minidriver non riceve un puntatore KSEVENT_ENTRY . Il minidriver può attivare l'evento chiamando KsFilterGenerateEvents o KsPinGenerateEvents.