Partilhar via


Tratamento de eventos no AVStream

Os filtros e pinos AVStream descrevem propriedades, eventos e métodos que suportam, fornecendo uma estrutura KSAUTOMATION_TABLE no membro AutomationTable de uma estrutura KSFILTER_DESCRIPTOR ou de uma estrutura KSPIN_DESCRIPTOR_EX. Para obter mais informações, consulte Descritores AVStream.

Para suportar eventos, um minidriver AVStream fornece, numa tabela de automação, uma matriz de estruturas KSEVENT_SET. Cada estrutura KSEVENT_SET contém uma matriz de KSEVENT_ITEM estruturas. Cada estrutura KSEVENT_ITEM descreve como o minidriver suporta um evento específico.

O minidriver pode personalizar o comportamento do evento fornecendo manipuladores AVStrMiniAddEvent e AVStrMiniRemoveEvent nas estruturas KSEVENT_ITEM.

Quando o AVStream recebe uma solicitação de ativação de evento, ele gera uma estrutura KSEVENT_ENTRY. Se o minidriver tiver fornecido um manipulador AVStrAddEvent, o AVStream passará um ponteiro para a estrutura KSEVENT_ENTRY na chamada para AVStrAddEvent.

Se você não fornecer um manipulador AVStrAddEvent , por padrão, o AVStream adicionará o evento à lista de objetos. O seu minidriver não recebe um ponteiro KSEVENT_ENTRY. Seu minidriver pode acionar o evento chamando KsFilterGenerateEvents ou KsPinGenerateEvents.