Partager via


Méthode IShellIconOverlay ::GetOverlayIndex (shlobj_core.h)

Obtient l’index de superposition dans la liste d’images système.

Syntaxe

HRESULT GetOverlayIndex(
  [in]      PCUITEMID_CHILD pidl,
  [in, out] int             *pIndex
);

Paramètres

[in] pidl

Type : PCUITEMID_CHILD

Pointeur vers une structure ITEMIDLIST qui identifie l’objet dont l’icône est affichée.

[in, out] pIndex

Type : int*

Pointeur vers une valeur qui indique l’index de superposition (base un) dans la liste d’images système. Cet index équivaut à la valeur iOverlay spécifiée lorsque vous ajoutez une image superposée à une liste d’images privées avec la fonction ImageList ::SetOverlayImage .

Valeur retournée

Type : HRESULT

Cette méthode peut retourner l’une de ces valeurs.

Code de retour Description
S_OK
L’index d’une superposition a été trouvé.
S_FALSE
Il n’existe aucune superposition pour ce fichier.
E_FAIL
Le PIDL n’est pas valide.
E_INVALIDARG
L’argument n’est pas valide, par exemple, si pIndex a la valeur NULL.
E_PENDING
L’application appelante a passé OI_ASYNC pour indiquer que l’opération de calcul de l’index de superposition prendra un certain temps.

Remarques

Pour récupérer l’index de superposition dans la liste d’images système, appelez SHGetIconOverlayIndex.

Si vous définissez pIndex pour qu’il pointe vers OI_ASYNC lorsque vous appelez cette méthode, le gestionnaire de superposition d’icônes shell peut retourner E_PENDING au lieu de stocker l’index de superposition dans pIndex. Cette valeur de retour indique que le calcul de la superposition est une opération lente qui doit être gérée en arrière-plan. Lorsqu’une implémentation IShellIconOverlay retourne E_PENDING, elle est rappelée sur un thread de travail en arrière-plan sans l’indicateur OI_ASYNC. Si vous n’utilisez pas OI_ASYNC lorsque vous appelez GetOverlayIndex, le gestionnaire de superposition doit calculer l’index de superposition et stocker la valeur dans pIndex avant de retourner.

Configuration requise

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

Voir aussi

IShellIconOverlay