Méthode IPin ::BeginFlush (strmif.h)

[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.]

La BeginFlush méthode commence une opération de vidage.

Les applications ne doivent pas appeler cette méthode. Cette méthode est appelée par d’autres filtres pour vider les données du graphique.

Syntaxe

HRESULT BeginFlush();

Valeur de retour

Retourne une valeur HRESULT . Les valeurs possibles sont les suivantes.

Code de retour Description
S_OK
Réussite.
E_UNEXPECTED
La broche est une broche de sortie.

Remarques

Appelez cette méthode uniquement sur les broches d’entrée. Les broches de sortie retournent E_UNEXPECTED.

Dans une opération de vidage, un filtre ignore les données qu’il a traitées. Il rejette les nouvelles données jusqu’à ce que le vidage soit terminé. Le vidage est terminé lorsque l’épingle amont appelle la méthode IPin ::EndFlush. Le vidage permet au graphique de filtre d’être plus réactif lorsque des événements modifient le flux de données normal. Par exemple, le vidage se produit pendant une recherche.

Quand BeginFlush est appelé, le filtre effectue les étapes suivantes :

  1. Passe l’appel IPin::BeginFlush en aval.
  2. Définit un indicateur interne qui provoque l’échec de toutes les méthodes de diffusion en continu de données, telles que IMemInputPin ::Receive.
  3. Retourne à partir de tous les appels bloqués à la méthode Receive .
Lorsque la BeginFlush notification atteint un filtre de renderer, le convertisseur libère tous les échantillons qu’il contient.

Une BeginFlush fois appelé, l’épingle rejette tous les échantillons de amont, avec une valeur de retour S_FALSE, jusqu’à ce que la méthode IPin ::EndFlush soit appelée.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête strmif.h (include Dshow.h)
Bibliothèque Strmiids.lib

Voir aussi

Data Flow dans le graphe de filtres

Codes d’erreur et de réussite

IPin Interface