Interface IExtractIconA (shlobj_core.h)

Expose les méthodes qui permettent à un client de récupérer l’icône associée à l’un des objets d’un dossier.

Héritage

L’interface IExtractIcon hérite de l’interface IUnknown. IExtractIcon a également les types de membres suivants :

Méthodes

L’interface IExtractIconA possède ces méthodes.

 
IExtractIconA::Extract

Extrait une image d’icône de l’emplacement spécifié. (ANSI)
IExtractIconA::GetIconLocation

Obtient l’emplacement et l’index d’une icône. (ANSI)

Remarques

Il existe deux façons de récupérer l’icône d’un objet. Le moyen le plus simple consiste à appeler SHGetFileInfo. Toutefois, cette approche est inflexible et peut être lente. Un moyen plus flexible et plus efficace de récupérer l’icône d’un élément consiste à utiliser IExtractIcon. L’interpréteur de commandes utilise IExtractIcon pour récupérer des icônes lorsqu’il affiche le contenu d’un dossier. Pour utiliser IExtractIcon pour récupérer l’icône d’un objet, procédez comme suit :

  1. Obtenez un pointeur vers l’interface IShellFolder du dossier qui contient l’objet.
  2. Appelez IShellFolder::GetUIObjectOf avec le pointeur vers une liste d’identificateur d’élément (PIDL) de l’objet et l’ID d’interface de IExtractIcon (IID_IExtractIcon). Le dossier crée un objet pour gérer l’extraction de l’icône et retourne le pointeur d’interface IExtractIcon de l’objet .
  3. Appelez IExtractIcon::GetIconLocation pour récupérer l’emplacement de l’icône.
  4. Appelez IExtractIcon::Extract pour récupérer le handle de l’icône.
Il peut également être possible d’extraire des icônes de manière asynchrone sur un thread d’arrière-plan. Cette approche est utile lorsque l’extraction est une opération chronophage. Pour plus d’informations, consultez IExtractIcon::GetIconLocation.

Les extensions d’espace de noms implémententIExtractIcon pour fournir des icônes pour leurs objets. Un client obtient un pointeur d’interface IExtractIcon pour un objet dans un dossier en appelant la méthode IShellFolder::GetUIObjectOf du dossier. L’implémentation IShellFolder::GetUIObjectOf doit créer un objet pour gérer l’extraction de l’icône et retourner un pointeur vers l’interface IExtractIcon de l’objet.

Les gestionnaires d’icônes implémentent également IExtractIcon. Un gestionnaire d’icônes est un type de gestionnaire d’extension Shell qui vous permet d’affecter dynamiquement des icônes aux membres d’un type de fichier.

Appelez cette interface si votre application a besoin d’un moyen plus flexible de récupérer l’icône d’un objet que SHGetFileInfo.

Notes

L’en-tête shlobj_core.h définit IExtractIcon comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

   
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 shlobj_core.h