Freigeben über


CBaseInputPin.EndFlush-Methode

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Die EndFlush -Methode beendet einen Leerungsvorgang. Implementiert die IPin::EndFlush-Methode .

Syntax

HRESULT EndFlush();

Parameter

Diese Methode hat keine Parameter.

Rückgabewert

Gibt S_OK zurück.

Bemerkungen

Diese Methode legt das Flag CBaseInputPin::m_bFlushing auf TRUE fest, wodurch die CBaseInputPin::Receive-Methode Beispiele akzeptiert.

Die abgeleitete Klasse muss diese Methode überschreiben und die folgenden Schritte ausführen:

  1. Geben Sie alle gepufferten Daten frei, und warten Sie, bis alle Beispiele in der Warteschlange verworfen wurden.
  2. Löschen Sie alle ausstehenden EC_COMPLETE Benachrichtigungen.
  3. Rufen Sie die Basisklassenmethode auf.
  4. Rufen Sie IPin::EndFlush auf downstream-Eingabepins auf. Wenn die Pin noch keine Medienbeispiele nachgeschaltet hat, können Sie diesen Schritt überspringen. Wenn Ihre Ausgabepins von der CBaseOutputPin-Klasse abgeleitet sind, können Sie die CBaseOutputPin::D eliverEndFlush-Methode aufrufen.

Anforderungen

Anforderung Wert
Header
Amfilter.h (streams.h einschließen)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

CBaseInputPin-Klasse