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 |
---|---|
|
L’index d’une superposition a été trouvé. |
|
Il n’existe aucune superposition pour ce fichier. |
|
Le PIDL n’est pas valide. |
|
L’argument n’est pas valide, par exemple, si pIndex a la valeur NULL. |
|
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) |