Share via


IEnumIDList::Next-Methode (shobjidl_core.h)

Ruft die angegebene Anzahl von Elementbezeichnern in der Enumerationssequenz ab und erhöht die aktuelle Position um die Anzahl der abgerufenen Elemente.

Syntax

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

Parameter

[in] celt

Typ: ULONG

Die Anzahl der Elemente im Array, auf die vom rgelt-Parameter verwiesen wird.

[out] rgelt

Typ: LPITEMIDLIST*

Die Adresse eines Zeigers auf ein Array von ITEMIDLIST-Zeigern , die die Elementbezeichner empfangen. Die Implementierung muss diese Elementbezeichner mithilfe von CoTaskMemAlloc zuordnen. Die aufrufende Anwendung ist dafür verantwortlich, die Elementbezeichner mithilfe von CoTaskMemFree frei zu geben.

Die im Array zurückgegebenen ITEMIDLIST-Strukturen sind relativ zum aufgezählten IShellFolder .

[out] pceltFetched

Typ: ULONG*

Ein Zeiger auf einen Wert, der die Anzahl der tatsächlich in rgelt zurückgegebenen Elementbezeichner empfängt. Die Anzahl kann kleiner als der im celt-Parameter angegebene Wert sein. Dieser Parameter kann beim Eintrag nur null sein, wenn celt = 1 ist, da die Methode in diesem Fall nur ein (S_OK) oder null (S_FALSE) Elemente abrufen kann.

Rückgabewert

Typ: HRESULT

Gibt S_OK zurück, wenn die Methode die angeforderten celt-Elemente erfolgreich abgerufen hat. Diese Methode gibt nur S_OK zurück, wenn die vollständige Anzahl der angeforderten Elemente erfolgreich abgerufen wurde.

S_FALSE gibt an, dass mehr Elemente angefordert wurden, als in der Enumeration verblieben sind. Der Wert, auf den der Parameter pceltFetched verweist, gibt die tatsächliche Anzahl der abgerufenen Elemente an. Beachten Sie, dass der Wert 0 ist, wenn keine weiteren Elemente abgerufen werden können.

Gibt andernfalls einen COM-definierten Fehlerwert zurück.

Hinweise

Wenn diese Methode einen COM-Fehlercode (Component Object Model) zurückgibt (wie durch das Makro FAILED bestimmt), sind beim Beenden keine Einträge im rgelt-Array gültig. Wenn diese Methode einen Erfolgscode zurückgibt (z. B. S_OK oder S_FALSE), bestimmt die ULONG , auf die der parameter pceltFetched verweist, wie viele Einträge im rgelt-Array beim Beenden gültig sind.

Die Unterscheidung ist wichtig, wenn celt> 1. Wenn Sie z. B. celt=10 übergeben und nur noch drei Elemente vorhanden sind, ist *pceltFetched 3, und die Methode gibt S_FALSE zurück, was bedeutet, dass Sie das Ende der Datei erreicht haben. Die drei abgerufenen Elemente werden in rgelt gespeichert und sind gültig.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shobjidl_core.h (shobjidl.h einschließen)
DLL Shell32.dll (Version 4.0 oder höher)

Weitere Informationen

IEnumIDList