Freigeben über


IAsyncReader-Schnittstelle (strmif.h)

[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 IAsyncReader Schnittstelle führt eine asynchrone Datenanforderung für einen Filter aus.

Diese Schnittstelle wird von Ausgabepins verfügbar gemacht, die asynchrone Lesevorgänge ausführen. Die Schnittstelle wird vom Eingabenadel im downstream-Filter verwendet. Anwendungen verwenden diese Schnittstelle nicht. Der Filter "Asynchrone Dateiquelle " macht diese Schnittstelle an ihrem Ausgabepin verfügbar.

Filterentwickler: Implementieren Sie diese Schnittstelle, wenn Ihr Ausgabepin Daten in Form eines Bytestreams (MEDIATYPE_Stream) übermittelt und das Pullmodell unterstützt. Überprüfen Sie während des Verbindungsvorgangs, ob der Downstream-Pin Abfragen für die IAsyncReader Schnittstelle angibt. Wenn dies nicht der Fall ist, sollte der Pin entweder die Verbindung nicht herstellen oder einen anderen Transport einrichten. (Wenn Ihre Pin von CBasePin abgeleitet ist, führen Sie diese Überprüfung in der CBasePin::CheckConnect-Methode aus.)

Weitere Informationen zur Verwendung dieser Schnittstelle finden Sie in den folgenden Themen:

Vererbung

Die IAsyncReader-Schnittstelle erbt von der IUnknown-Schnittstelle . IAsyncReader verfügt auch über folgende Membertypen:

Methoden

Die IAsyncReader-Schnittstelle verfügt über diese Methoden.

 
IAsyncReader::BeginFlush

Die BeginFlush-Methode beginnt mit einem Leerungsvorgang. (IAsyncReader.BeginFlush)
IAsyncReader::EndFlush

Die EndFlush-Methode beendet einen Leerungsvorgang. (IAsyncReader.EndFlush)
IAsyncReader::Length

Die Length-Methode ruft die Gesamtlänge des Datenstroms ab.
IAsyncReader::Request

Die Request-Methode stellt eine asynchrone Anforderung für Daten in die Warteschlange.
IAsyncReader::RequestAllocator

Die RequestAllocator-Methode fordert während der Pinverbindung eine Zuweisung an.
IAsyncReader::SyncRead

Die SyncRead-Methode führt einen synchronen Lesevorgang aus. Die -Methode blockiert, bis die Anforderung abgeschlossen ist. Die Dateipositionen und die Pufferadresse müssen nicht ausgerichtet werden. Wenn die Anforderung nicht ausgerichtet ist, führt die -Methode einen gepufferten Lesevorgang aus.
IAsyncReader::SyncReadAligned

Die SyncReadAligned-Methode führt einen synchronen Lesevorgang aus. Die -Methode blockiert, bis die Anforderung abgeschlossen ist. Die Dateipositionen und die Pufferadresse müssen ausgerichtet werden. Überprüfen Sie die Zuweisungseigenschaften auf die erforderliche Ausrichtung.
IAsyncReader::WaitForNext

Die WaitForNext-Methode wartet auf den Abschluss der nächsten ausstehenden Leseanforderung.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile strmif.h (include Dshow.h)