Freigeben über


CTransInPlaceFilter.Receive-Methode

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Die Receive -Methode empfängt ein Medienbeispiel, verarbeitet es und übermittelt es an den nachgeschalteten Filter.

Syntax

HRESULT Receive(
   IMediaSample *pSample
);

Parameter

pSample

Zeiger auf die IMediaSample-Schnittstelle im Beispiel.

Rückgabewert

Gibt einen HRESULT-Wert zurück. Mögliche Werte sind die in der folgenden Tabelle gezeigten Werte.

Rückgabecode BESCHREIBUNG
S_OK
Erfolgreich
E_UNEXPECTED
Unerwarteter Fehler

Bemerkungen

Der Eingabenadel des Filters ruft diese Methode auf, wenn er ein Beispiel empfängt. Der Filter ruft die Transform-Methode auf, die von der abgeleiteten Klasse implementiert werden muss. Die Transform-Methode verarbeitet die Daten. Wenn der Filter nur einen Zuweisungsator verwendet, übergibt er pSample direkt an die Transform-Methode . Andernfalls wird pSample kopiert und die Kopie übergeben.

Wenn die Transform-Methode S_FALSE zurückgibt, löscht die Receive Methode das Beispiel. Beim ersten gelöschten Beispiel sendet der Filter ein EC_QUALITY_CHANGE-Ereignis an den Filterdiagramm-Manager. Andernfalls liefert der Filter das Ausgabebeispiel, wenn die Transform-Methode S_OK zurückgibt. Dazu wird die IMemInputPin::Receive-Methode auf dem Downstreameingabenadel aufgerufen.

Anforderungen

Anforderung Wert
Header
Transip.h (include Streams.h)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

CTransInPlaceFilter-Klasse