Compartir a través de


Método IEnumIDList::Next (shobjidl_core.h)

Recupera el número especificado de identificadores de elemento en la secuencia de enumeración y avanza la posición actual por el número de elementos recuperados.

Sintaxis

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

Parámetros

[in] celt

Tipo: ULONG

Número de elementos de la matriz a los que hace referencia el parámetro rgelt .

[out] rgelt

Tipo: LPITEMIDLIST*

Dirección de un puntero a una matriz de punteros ITEMIDLIST que reciben los identificadores de elemento. La implementación debe asignar estos identificadores de elemento mediante CoTaskMemAlloc. La aplicación que realiza la llamada es responsable de liberar los identificadores de elemento mediante CoTaskMemFree.

Las estructuras ITEMIDLIST devueltas en la matriz son relativas a la enumeración IShellFolder .

[out] pceltFetched

Tipo: ULONG*

Puntero a un valor que recibe un recuento de los identificadores de elemento devueltos realmente en rgelt. El recuento puede ser menor que el valor especificado en el parámetro celt . Este parámetro solo puede ser NULL en la entrada si celt = 1, porque en ese caso el método solo puede recuperar uno (S_OK) o cero (S_FALSE).

Valor devuelto

Tipo: HRESULT

Devuelve S_OK si el método recuperó correctamente los elementos celt solicitados . Este método solo devuelve S_OK si el recuento completo de elementos solicitados se recupera correctamente.

S_FALSE indica que se solicitaron más elementos que en la enumeración. El valor al que apunta el parámetro pceltFetched especifica el número real de elementos recuperados. Tenga en cuenta que el valor será 0 si no hay más elementos que recuperar.

Devuelve un valor de error definido por COM; de lo contrario, devuelve un valor de error definido por COM.

Comentarios

Si este método devuelve un código de error del Modelo de objetos componentes (COM) (determinado por la macro FAILED ), no hay entradas en la matriz rgelt válidas al salir. Si este método devuelve un código correcto (como S_OK o S_FALSE), el ULONG al que apunta el parámetro pceltFetched determina cuántas entradas de la matriz rgelt son válidas al salir.

La distinción es importante en el caso de que celt> 1. Por ejemplo, si pasa celt=10 y solo quedan 3 elementos, *pceltFetched será 3 y el método devolverá S_FALSE lo que significa que alcanzó el final del archivo. Los tres elementos capturados se almacenarán en rgelt y son válidos.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shobjidl_core.h (incluya Shobjidl.h)
Archivo DLL Shell32.dll (versión 4.0 o posterior)

Consulte también

IEnumIDList