Partager via


IEnumIDList ::Next, méthode (shobjidl_core.h)

Récupère le nombre spécifié d’identificateurs d’élément dans la séquence d’énumération et avance la position actuelle par le nombre d’éléments récupérés.

Syntaxe

HRESULT Next(
  [in]  ULONG         celt,
  [out] PITEMID_CHILD *rgelt,
  [out] ULONG         *pceltFetched
);

Paramètres

[in] celt

Type : ULONG

Nombre d’éléments dans le tableau référencés par le paramètre rgelt .

[out] rgelt

Type : LPITEMIDLIST*

Adresse d’un pointeur vers un tableau de pointeurs ITEMIDLIST qui reçoivent les identificateurs d’élément. L’implémentation doit allouer ces identificateurs d’élément à l’aide de CoTaskMemAlloc. L’application appelante est chargée de libérer les identificateurs d’élément à l’aide de CoTaskMemFree.

Les structures ITEMIDLIST retournées dans le tableau sont relatives au IShellFolder énuméré.

[out] pceltFetched

Type : ULONG*

Pointeur vers une valeur qui reçoit le nombre d’identificateurs d’élément réellement retournés dans rgelt. Le nombre peut être inférieur à la valeur spécifiée dans le paramètre celt . Ce paramètre peut être NULL à l’entrée uniquement si celt = 1, car dans ce cas, la méthode ne peut récupérer qu’un (S_OK) ou zéro (S_FALSE).

Valeur retournée

Type : HRESULT

Retourne S_OK si la méthode a correctement récupéré les éléments celtes demandés. Cette méthode retourne S_OK uniquement si le nombre total d’éléments demandés est récupéré avec succès.

S_FALSE indique que plus d’éléments ont été demandés qu’il n’en reste dans l’énumération. La valeur pointée par le paramètre pceltFetched spécifie le nombre réel d’éléments récupérés. Notez que la valeur sera 0 s’il n’y a plus d’éléments à récupérer.

Retourne une valeur d’erreur définie par COM dans le cas contraire.

Remarques

Si cette méthode retourne un code d’erreur COM (Component Object Model) (tel que déterminé par la macro FAILED ), aucune entrée du tableau rgelt n’est valide à la sortie. Si cette méthode retourne un code de réussite (tel que S_OK ou S_FALSE), l’ULONG vers lequel pointe le paramètre pceltFetched détermine le nombre d’entrées du tableau rgelt valides à la sortie.

La distinction est importante dans le cas où le celte> 1. Par exemple, si vous transmettez celt=10 et qu’il ne reste que 3 éléments, *pceltFetched aura la valeur 3 et la méthode retournera S_FALSE ce qui signifie que vous avez atteint la fin du fichier. Les trois éléments extraits sont stockés dans rgelt et sont valides.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête shobjidl_core.h (incluez Shobjidl.h)
DLL Shell32.dll (version 4.0 ou ultérieure)

Voir aussi

IEnumIDList