Compartilhar via


Manipulação de eventos no AVStream

Os filtros e pinos do AVStream descrevem propriedades, eventos e métodos aos quais dão suporte fornecendo uma estrutura KSAUTOMATION_TABLE no membro AutomationTable de uma estrutura KSFILTER_DESCRIPTOR ou uma estrutura KSPIN_DESCRIPTOR_EX . Para obter mais informações, consulte Descritores AVStream.

Para dar suporte a eventos, um minidriver AVStream fornece uma matriz de estruturas KSEVENT_SET em uma tabela de automação. Cada estrutura KSEVENT_SET contém uma matriz de estruturas de KSEVENT_ITEM . Cada estrutura KSEVENT_ITEM descreve como o minidriver dá suporte a 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 habilitação de evento, ele gera uma estrutura de 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 minidriver não está recebendo um ponteiro do tipo KSEVENT_ENTRY. O minidriver pode disparar o evento chamando KsFilterGenerateEvents ou KsPinGenerateEvents.