Partager via


Gestion des événements dans AVStream

Les filtres et broches AVStream décrivent les propriétés, les événements et les méthodes qu'ils supportent en fournissant une structure KSAUTOMATION_TABLE dans le membre AutomationTable d'une structure KSFILTER_DESCRIPTOR ou d'une structure KSPIN_DESCRIPTOR_EX. Pour plus d’informations, consultez les descripteurs AVStream.

Pour prendre en charge les événements, un minidriver AVStream fournit un tableau de structures KSEVENT_SET dans une table d'automatisation. Chaque structure KSEVENT_SET contient un tableau de structures KSEVENT_ITEM . Chaque structure KSEVENT_ITEM décrit comment le minidriver prend en charge un événement spécifique.

Le minidriver peut personnaliser le comportement des événements en fournissant des gestionnaires AVStrMiniAddEvent et AVStrMiniRemoveEvent dans les structures KSEVENT_ITEM.

Quand AVStream reçoit une demande d’activation d’événement, elle génère une structure KSEVENT_ENTRY. Si le minidriver a fourni un gestionnaire AVStrAddEvent, AVStream transmet un pointeur vers la structure KSEVENT_ENTRY lors de l’appel à AVStrAddEvent.

Si vous ne fournissez pas de gestionnaire AVStrAddEvent , AVStream ajoute l’événement à la liste d’objets par défaut. Votre minidriver ne reçoit pas de pointeur KSEVENT_ENTRY . Votre minidriver peut déclencher l’événement en appelant KsFilterGenerateEvents ou KsPinGenerateEvents.