Partilhar via


Visão geral da notificação de eventos

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

Um filtro notifica o Gerenciador de Grafo de Filtro sobre um evento postando uma notificação de evento. O evento pode ser algo esperado, como o fim de um fluxo, ou pode representar um erro, como uma falha ao renderizar um fluxo. O Gerenciador de Grafo de Filtro manipula alguns eventos de filtro por si só e deixa outros para o aplicativo manipular. Se o Gerenciador de Grafo de Filtro não manipular um evento de filtro, ele colocará a notificação de evento em uma fila. O grafo de filtro também pode enfileirar suas próprias notificações de evento para o aplicativo.

Um aplicativo recupera eventos da fila e responde a eles com base no tipo de evento. A notificação de eventos no DirectShow é, portanto, semelhante ao esquema de enfileiramento de mensagens do Microsoft Windows. Um aplicativo também pode cancelar o comportamento padrão do Gerenciador de Grafo de Filtro para um determinado tipo de evento. Em seguida, o Gerenciador de Grafo de Filtro coloca esses eventos diretamente na fila para o aplicativo manipular.

Esse mecanismo permite

  • O Gerenciador de Grafo de Filtro para se comunicar com o aplicativo.
  • Filtros para se comunicar com o aplicativo e o Gerenciador de Grafo de Filtro.
  • O aplicativo para determinar seu grau de envolvimento na manipulação de eventos.