Méthode IAsyncReader ::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.
Syntaxe
HRESULT BeginFlush();
Valeur de retour
Retourne S_OK en cas de réussite, ou S_FALSE autrement.
Remarques
Cette méthode interrompt toutes les demandes de lecture en attente. Pendant le vidage de l’épingle, la méthode IAsyncReader ::Request échoue et la méthode IAsyncReader ::WaitForNext retourne immédiatement, éventuellement avec le code de retour VFW_E_TIMEOUT.
La broche d’entrée en aval doit appeler cette méthode chaque fois que le filtre en aval vide le graphique de filtre. Après avoir appelé cette méthode, appelez la méthode WaitForNext jusqu’à ce qu’elle retourne NULL dans le paramètre ppSample , pour effacer la file d’attente des exemples en attente. Ignorez les codes d’erreur et libérez chaque exemple. Appelez ensuite la méthode IAsyncReader ::EndFlush pour mettre fin à l’opération de vidage.
Pour plus d’informations, consultez Vidage.
Exemples
L’exemple suivant montre comment une broche d’entrée en aval doit appeler cette méthode :
C++ |
---|
m_pReader->BeginFlush(); while (1) { IMediaSample *pSample; DWORD_PTR dwUnused; m_pReader->WaitForNext(0, &pSample, &dwUnused); if(pSample) { pSample->Release(); } else { // No more samples. break; } } m_pReader->EndFlush(); |
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 |