Vue d’ensemble de la notification d’événements

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation au lieu de DirectShow, si possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

Un filtre avertit le Gestionnaire de graphe de filtre à propos d’un événement en publiant une notification d’événement. L’événement peut être quelque chose d’attendu, comme la fin d’un flux, ou il peut représenter une erreur, telle qu’un échec de rendu d’un flux. Le Gestionnaire de graphe de filtre gère certains événements de filtre par lui-même, et en laisse d’autres à l’application. Si le Gestionnaire de graphe de filtre ne gère pas d’événement de filtre, il place la notification d’événement dans une file d’attente. Le graphique de filtre peut également mettre en file d’attente ses propres notifications d’événements pour l’application.

Une application récupère les événements de la file d’attente et y répond en fonction du type d’événement. La notification d’événement dans DirectShow est donc similaire au schéma de mise en file d’attente des messages Microsoft Windows. Une application peut également annuler le comportement par défaut du Gestionnaire de graphes de filtre pour un type d’événement donné. Le Gestionnaire de graphe de filtre place ensuite ces événements directement dans la file d’attente que l’application doit gérer.

Ce mécanisme permet

  • Gestionnaire de graphe de filtre pour communiquer avec l’application.
  • Filtres pour communiquer à la fois avec l’application et le Gestionnaire de graphe de filtres.
  • Application pour déterminer son degré d’implication dans la gestion des événements.