Función SHGetDataFromIDListW (shlobj_core.h)

Recupera los datos de propiedad extendida de una lista de identificadores relativos.

Sintaxis

SHSTDAPI SHGetDataFromIDListW(
  [in]  IShellFolder    *psf,
  [in]  PCUITEMID_CHILD pidl,
        int             nFormat,
  [out] void            *pv,
        int             cb
);

Parámetros

[in] psf

Tipo: IShellFolder*

Dirección de la interfaz IShellFolder primaria. Debe ser el elemento primario inmediato de la estructura ITEMIDLIST a la que hace referencia el parámetro pidl .

[in] pidl

Tipo: PCUITEMID_CHILD

Puntero a una estructura ITEMIDLIST que identifica el objeto relativo a la carpeta especificada en psf.

nFormat

Tipo: int

Formato en el que se solicitan los datos. Este parámetro debe establecerse en uno de los valores siguientes.

SHGDFIL_FINDDATA

Formato usado para objetos del sistema de archivos. El parámetro pv es la dirección de una estructura de WIN32_FIND_DATA .

SHGDFIL_NETRESOURCE

Formato usado para los recursos de red. El parámetro pv es la dirección de una estructura NETRESOURCE .

SHGDFIL_DESCRIPTIONID

Versión 4.71. Formato usado para los recursos de red. El parámetro pv es la dirección de una estructura SHDESCRIPTIONID .

[out] pv

Tipo: void*

Puntero a un búfer que, cuando esta función vuelve correctamente, recibe los datos solicitados. El formato de este búfer viene determinado por nFormat.

Si nFormat es SHGDFIL_NETRESOURCE, hay dos casos posibles. Si el búfer es lo suficientemente grande, la información de cadena del recurso neto (campos para el nombre de red, el nombre local, el proveedor y los comentarios) se colocarán en el búfer. Si el búfer no es lo suficientemente grande, solo la estructura de recursos netos se colocará en el búfer y los punteros de información de cadena serán NULL.

cb

Tipo: int

Tamaño del búfer en pv, en bytes.

Valor devuelto

Tipo: HRESULT

Devuelve S_OK si se ejecuta correctamente o E_INVALIDARG de lo contrario.

Comentarios

Esta función extrae solo la información que está presente en el puntero a una lista de identificadores de elemento (PIDL). Puesto que el contenido de un PIDL depende del objeto de carpeta que creó el PIDL, no hay ninguna garantía de que toda la información solicitada estará disponible. Además, la información que se devuelve refleja el estado del objeto en el momento en que se creó el PIDL. El estado actual del objeto podría ser diferente. Por ejemplo, si establece nFormat en SHGDFIL_FINDDATA, la función podría asignar valores significativos solo a algunos de los miembros de la estructura WIN32_FIND_DATA . Los miembros restantes se establecerán en cero. Para recuperar información actual completa sobre un archivo o carpeta del sistema de archivos, use funciones estándar del sistema de archivos como GetFileTime o FindFirstFile.

E_INVALIDARG se devuelve si el parámetro psf, pidl, pv o cb no coincide con el parámetro nFormat o si nFormat no es uno de los valores de SHGDFIL_ específicos mostrados anteriormente.

Nota

El encabezado shlobj_core.h define SHGetDataFromIDList como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

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 shlobj_core.h (incluya Shlobj.h, Shlobj_core.h)
Library Shell32.lib
Archivo DLL Shell32.dll (versión 4.0 o posterior)
Conjunto de API ext-ms-win-shell-shell32-l1-2-1 (introducido en Windows 10, versión 10.0.10240)