Freigeben über


IEnumRegFilters::Next-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.]

Hinweis Die IEnumRegFilters-Schnittstelle ist veraltet.
 
Füllt das Array mit Beschreibungen des nächsten Satz von Filtern (angegeben durch den Parameter cFilters ), die die beim Erstellen des Enumerators angegebenen Anforderungen erfüllen.

Syntax

HRESULT Next(
  [in]  ULONG     cFilters,
  [out] REGFILTER **apRegFilter,
  [out] ULONG     *pcFetched
);

Parameter

[in] cFilters

Anzahl der Filter.

[out] apRegFilter

Adresse eines Zeigers auf ein Array von REGFILTER-Zeigern .

[out] pcFetched

Zeiger auf die tatsächliche Anzahl der übergebenen Filter.

Rückgabewert

Gibt einen der folgenden HRESULT-Werte zurück.

Rückgabecode Beschreibung
E_INVALIDARG
Ungültiges Argument.
E_OUTOFMEMORY
Nicht genügend Arbeitsspeicher.
E_POINTER
NULL-Zeigerargument.
E_UNEXPECTED
Unerwarteter Fehler.
S_FALSE
Es wurden weniger Filter abgerufen als angefordert.
S_OK
Erfolg.
VFW_E_ENUM_OUT_OF_SYNC
Der Enumerator ist ungültig. Weitere Informationen finden Sie in den Hinweisen.

Hinweise

Die aufrufende Anwendung muss die Microsoft Win32 CoTaskMemFree-Funktion verwenden, um jeden im Array zurückgegebenen REGFILTER-Zeiger freizugeben. Geben Sie den Namensmember der REGFILTER-Struktur nicht separat frei, da IEnumRegFilters::Next arbeitsspeicher für diese Zeichenfolge als Teil der REGFILTER-Struktur zugewiesen wird.

Wenn sich die Anzahl der registrierten Filter ändert, ist der Zustand des Enumerators nicht mehr mit dem Status der Registrierung konsistent. Daher gibt diese Methode VFW_E_ENUM_OUT_OF_SYNC zurück. Sie sollten alle Daten verwerfen, die aus vorherigen Aufrufen des Enumerators abgerufen wurden, da er möglicherweise ungültig ist, und den Enumerator aktualisieren, indem Sie die Reset-Methode aufrufen. Anschließend können Sie die Next Methode sicher aufrufen.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile strmif.h (include Dshow.h)

Weitere Informationen

Fehler- und Erfolgscodes

IEnumRegFilters-Schnittstelle