Partager via


Méthode IShellIcon ::GetIconOf (shobjidl_core.h)

Obtient une icône pour un objet à l’intérieur d’un dossier spécifique.

Syntaxe

HRESULT GetIconOf(
  PCUITEMID_CHILD pidl,
  UINT            flags,
  int             *pIconIndex
);

Paramètres

pidl

Type : LPCITEMIDLIST

Adresse de la structure ITEMIDLIST qui spécifie l’emplacement relatif du dossier.

flags

Type : UINT

Indicateurs spécifiant le mode d’affichage de l’icône. Ce paramètre peut être égal à zéro ou à l’une des valeurs suivantes.

GIL_FORSHELL

L’icône doit être affichée dans un dossier Shell.

GIL_OPENICON

L’icône doit être à l’état ouvert si les images à état ouvert et à état fermé sont disponibles. Si cet indicateur n’est pas spécifié, l’icône doit être à l’état fermé. Cet indicateur est généralement utilisé pour les objets de dossier.

pIconIndex

Type : LPINT

Adresse de l’index de l’icône dans la liste d’images système. Les index de liste d’images standard suivants peuvent être retournés.

0

Document (page vide, non associée)

1

Document (avec des données sur la page)

2

Application (l’extension de nom de fichier doit être .exe, .com ou .bat)

3

Dossier (brut)

4

Dossier (ouvert)

Valeur retournée

Type : HRESULT

Renvoie S_OK si lpIconIndex contient l’index de liste d’images système correct ou S_FALSE si une icône ne peut pas être obtenue pour cet objet.

Remarques

Si vous ne parvenez pas à récupérer une icône pour cet objet à l’aide de GetIconOf, utilisez la méthode GetUIObjectOf pour récupérer un objet qui prend en charge la méthode Extract .

IShellIcon ::GetIconOf échoue si CoInitialize n’est pas appelé en premier.

Remarque concernant l’appel d’applications

L’index retourné provient de la liste d’images système.

Remarque à l’attention des implémenteurs

Si l’index d’icône utilisé n’est pas l’une des images standard répertoriées, il incombe à l’implémenteur d’ajouter l’image à la liste d’images système, puis de placer l’index dans le paramètre lpIconIndex . Pour éviter que la liste d’images système ne s’agrandisse trop, chaque image ne doit être ajoutée qu’une seule fois.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête shobjidl_core.h (inclure Shobjidl.h)
DLL Shell32.dll (version 4.0 ou ultérieure)

Voir aussi

IShellIcon