Partager via


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

Voir aussi

Codes d’erreur et de réussite

IAsyncReader, interface