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) |