IMemInputPin::Receive-Methode (strmif.h)
[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 das nächste Medienbeispiel im Stream.
Syntax
HRESULT Receive(
[in] IMediaSample *pSample
);
Parameter
[in] pSample
Zeiger auf die IMediaSample-Schnittstelle des Beispiels.
Rückgabewert
Gibt einen HRESULT-Wert zurück. Mögliche Werte sind die in der folgenden Tabelle gezeigten Werte.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Erfolg. |
|
Das Beispiel wurde abgelehnt. |
|
NULL-Zeigerargument. |
|
Ungültiger Medientyp. |
|
Ein Laufzeitfehler ist aufgetreten. |
|
Der Pin wird beendet. |
Hinweise
Diese Methode ist synchron und möglicherweise blockierend. Der Pin führt eine der folgenden Aktionen aus:
- Lehnt das Beispiel ab.
- Gibt sofort zurück und verarbeitet das Beispiel in einem Workerthread.
- Verarbeitet das Beispiel vor der Rückgabe.
Wenn der Pin einen Workerthread zum Verarbeiten des Beispiels verwendet, enthält er eine Verweisanzahl für das Beispiel. In jedem Fall kann der Ausgabenadel dieses Beispiel nicht direkt wiederverwenden. Sie muss die IMemAllocator::GetBuffer-Methode aufrufen, um ein neues Beispiel zu erhalten.
Wenn diese Methode S_FALSE oder einen Fehlercode zurückgibt, sollte der Upstream Filter das Senden von Beispielen beenden, bis das Diagramm einen Löschvorgang beendet oder abgeschlossen hat. Typische Gründe für einen S_FALSE Rückgabewert sind:
- Der Nachgeschaltete Pin wird geleert. Das heißt, es hat einen BeginFlush-Anruf erhalten und noch keinen EndFlush-Anruf erhalten.
- Der Downstreamfilter hat das Ende des Datenstroms erkannt. (Siehe Benachrichtigungen zum Ende der Stream.)
Anforderungen
Anforderung | Wert |
---|---|
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) |
Bibliothek | Strmiids.lib |