Partager via


IEnumFilters ::Next, méthode (strmif.h)

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation au lieu de DirectShow, si possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

La Next méthode récupère le nombre spécifié de filtres dans la séquence d’énumération.

Syntaxe

HRESULT Next(
  [in]  ULONG       cFilters,
  [out] IBaseFilter **ppFilter,
  [out] ULONG       *pcFetched
);

Paramètres

[in] cFilters

Nombre de filtres à récupérer.

[out] ppFilter

Tableau de taille cFilters rempli avec des pointeurs d’interface IBaseFilter . L’appelant doit libérer les interfaces.

[out] pcFetched

Reçoit le nombre de filtres récupérés. Peut être NULL si cFilters a la valeur 1.

Valeur retournée

Valeur Description
S_FALSE N’a pas récupéré autant de filtres que demandé.
S_OK Réussite.
E_INVALIDARG Argument non valide.
E_POINTER Argument pointeur NULL .
VFW_E_ENUM_OUT_OF_SYNC Le graphique a changé et est désormais incohérent avec l’énumérateur.

Remarques

Si la méthode réussit, les pointeurs IBaseFilter ont tous des nombres de références en attente. Veillez à les libérer lorsque vous avez terminé.

Si le graphique de filtre change (par exemple, l’application supprime un filtre), l’énumérateur n’est plus cohérent avec le graphe et la méthode retourne VFW_E_ENUM_OUT_OF_SYNC. Ignorez toutes les données obtenues à partir des appels précédents à l’énumérateur, car elles peuvent ne pas être valides. Mettez à jour l’énumérateur en appelant la méthode IEnumFilters ::Reset . Vous pouvez ensuite appeler la Next méthode en toute sécurité.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête strmif.h (include Dshow.h)
Bibliothèque Strmiids.lib

Voir aussi

Codes d’erreur et de réussite

IEnumFilters, interface