Método IShellIcon::GetIconOf (shobjidl_core.h)
Obtiene un icono para un objeto dentro de una carpeta específica.
Sintaxis
HRESULT GetIconOf(
PCUITEMID_CHILD pidl,
UINT flags,
int *pIconIndex
);
Parámetros
pidl
Tipo: LPCITEMIDLIST
Dirección de la estructura ITEMIDLIST que especifica la ubicación relativa de la carpeta.
flags
Tipo: UINT
Marcas que especifican cómo se va a mostrar el icono. Este parámetro puede ser cero o uno de los valores siguientes.
GIL_FORSHELL
El icono se mostrará en una carpeta shell.
GIL_OPENICON
El icono debe estar en estado abierto si están disponibles las imágenes de estado abierto y cerrado. Si no se especifica esta marca, el icono debe estar en estado cerrado. Esta marca se usa normalmente para objetos de carpeta.
pIconIndex
Tipo: LPINT
Dirección del índice del icono en la lista de imágenes del sistema. Se pueden devolver los siguientes índices de lista de imágenes estándar.
0
Documento (página en blanco, no asociado)
1
Documento (con datos en la página)
2
Aplicación (la extensión de nombre de archivo debe ser .exe, .com o .bat)
3
Carpeta (sin formato)
4
Carpeta (abierta)
Valor devuelto
Tipo: HRESULT
Devuelve S_OK si lpIconIndex contiene el índice de lista de imágenes del sistema correcto o S_FALSE si no se puede obtener un icono para este objeto.
Comentarios
Si no puede recuperar un icono para este objeto mediante GetIconOf, use el método GetUIObjectOf para recuperar un objeto que admita el método Extract .
Se produce un error en IShellIcon::GetIconOf si no se llama primero a CoInitialize.
Nota para llamar a aplicaciones
El índice devuelto procede de la lista de imágenes del sistema.Nota para los implementadores
Si el índice de icono usado no es una de las imágenes estándar enumeradas, es responsabilidad del implementador agregar la imagen a la lista de imágenes del sistema y, a continuación, colocar el índice en el parámetro lpIconIndex . Para evitar que la lista de imágenes del sistema crezca demasiado grande, cada imagen solo se debe agregar una vez.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 (include Shobjidl.h) |
Archivo DLL | Shell32.dll (versión 4.0 o posterior) |