Freigeben über


IEnumMediaTypes::Next-Methode (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 Next-Methode ruft eine angegebene Anzahl von Medientypen ab.

Syntax

HRESULT Next(
  [in]  ULONG         cMediaTypes,
  [out] AM_MEDIA_TYPE **ppMediaTypes,
  [out] ULONG         *pcFetched
);

Parameter

[in] cMediaTypes

Die Anzahl der abzurufenden Medientypen.

[out] ppMediaTypes

Die Adresse eines Arrays von AM_MEDIA_TYPE Zeigern. Die Anzahl der Elemente im Array wird im cMediaTypes-Parameter angegeben.

[out] pcFetched

Empfängt die Anzahl von Medientypen, die in ppMediaTypes zurückgegeben werden. Dieser Parameter kann NULL sein, wenn cMediaTypes 1 ist.

Rückgabewert

Gibt einen der folgenden HRESULT-Werte zurück.

Rückgabecode Beschreibung
S_FALSE
Es wurden nicht so viele Medientypen wie angefordert abgerufen.
S_OK
Erfolg.
E_INVALIDARG
Ungültiges Argument.
E_POINTER
NULL-Zeigerargument.
VFW_E_ENUM_OUT_OF_SYNC
Der Status des Pins hat sich geändert und ist jetzt mit dem Enumerator inkonsistent.

Hinweise

Der Aufrufer übergibt ein Array von AM_MEDIA_TYPE Zeigern in ppMediaTypes. Die -Methode ordnet eine Anzahl AM_MEDIA_TYPE Strukturen zu, die cMediaTypes oder der Anzahl der Medientypen entsprechen, die in der Enumeration verbleiben, je nachdem, welcher Wert kleiner ist. Die Anzahl der zugeordneten Strukturen wird in pcFetched zurückgegeben. Löschen Sie jede Struktur, indem Sie die DeleteMediaType-Funktion aufrufen.

Wenn sich der Satz von Medientypen ändert, wird der Enumerator mit dem besitzenden Pin inkonsistent. In diesem Fall gibt die Methode VFW_E_ENUM_OUT_OF_SYNC zurück. Verwerfen Sie alle Daten, die von vorherigen Aufrufen des Enumerators abgerufen wurden, da sie möglicherweise ungültig sind. Aktualisieren Sie den Enumerator, indem Sie die IEnumMediaTypes::Reset-Methode aufrufen. Anschließend können Sie die Next-Methode sicher aufrufen.

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

Weitere Informationen

Auflisten von Medientypen

Fehler- und Erfolgscodes

IEnumMediaTypes-Schnittstelle