Compartir a través de


Interfaz IExtractIconA (shlobj_core.h)

Expone métodos que permiten a un cliente recuperar el icono asociado a uno de los objetos de una carpeta.

Herencia

La interfaz IExtractIcon de hereda de la interfaz IUnknown. IExtractIcon también tiene estos tipos de miembros:

Métodos

La interfaz IExtractIconA tiene estos métodos.

 
IExtractIconA::Extract

Extrae una imagen de icono de la ubicación especificada. (ANSI)
IExtractIconA::GetIconLocation

Obtiene la ubicación y el índice de un icono. (ANSI)

Observaciones

Hay dos maneras de recuperar el icono de un objeto. La manera más sencilla es llamar a SHGetFileInfo. Sin embargo, este enfoque es inflexible y puede ser lento. Una manera más flexible y eficaz de recuperar el icono de un elemento es usar IExtractIcon. Shell usa IExtractIcon para recuperar iconos cuando muestra el contenido de una carpeta. Para usar IExtractIcon para recuperar el icono de un objeto, haga lo siguiente:

  1. Obtenga un puntero a la interfaz IShellFolder de la carpeta que contiene el objeto .
  2. Llame a IShellFolder::GetUIObjectOf con el puntero a una lista de identificadores de elemento (PIDL) del objeto y el identificador de interfaz de IExtractIcon (IID_IExtractIcon). La carpeta crea un objeto para controlar la extracción de iconos y devuelve el puntero de interfaz IExtractIcon del objeto.
  3. Llame a IExtractIcon::GetIconLocation para recuperar la ubicación del icono.
  4. Llame a IExtractIcon::Extract para recuperar el identificador del icono.
También puede extraer iconos de forma asincrónica en un subproceso en segundo plano. Este enfoque es útil cuando la extracción es una operación que consume mucho tiempo. Para obtener más información, vea IExtractIcon::GetIconLocation.

extensiones de espacio de nombres implementar IExtractIcon para proporcionar iconos para sus objetos. Un cliente obtiene un puntero de interfaz IExtractIcon para un objeto de una carpeta llamando al método IShellFolder::GetUIObjectOf de la carpeta. La implementación IShellFolder::GetUIObjectOf debe crear un objeto para controlar la extracción de iconos y devolver un puntero a la interfaz IExtractIcon del objeto.

controladores de iconos también implementan IExtractIcon . Un controlador de iconos es un tipo de controlador de extensión de Shell que permite asignar iconos dinámicamente a los miembros de un tipo de archivo de .

Llame a esta interfaz si la aplicación necesita una manera más flexible de recuperar el icono de un objeto que SHGetFileInfo.

Nota

El encabezado shlobj_core.h define IExtractIcon como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows XP [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de shlobj_core.h