Share via


Interface IExtractIconW (shlobj_core.h)

Expõe métodos que permitem que um cliente recupere o ícone associado a um dos objetos em uma pasta.

Herança

A interface IExtractIcon herda da interface IUnknown . IExtractIcon também tem esses tipos de membros:

Métodos

A interface IExtractIconW tem esses métodos.

 
IExtractIconW::Extract

Extrai uma imagem de ícone do local especificado. (Unicode)
IExtractIconW::GetIconLocation

Obtém o local e o índice de um ícone. (Unicode)

Comentários

Há duas maneiras de recuperar o ícone de um objeto. A maneira mais simples é chamar SHGetFileInfo. No entanto, essa abordagem é inflexível e pode ser lenta. Uma maneira mais flexível e eficiente de recuperar o ícone de um item é usar IExtractIcon. O Shell usa IExtractIcon para recuperar ícones quando exibe o conteúdo de uma pasta. Para usar IExtractIcon para recuperar o ícone de um objeto, faça o seguinte:

  1. Obtenha um ponteiro para a interface IShellFolder da pasta que contém o objeto .
  2. Chame IShellFolder::GetUIObjectOf com o ponteiro para uma lista de identificadores de item (PIDL) do objeto e a ID da interface de IExtractIcon (IID_IExtractIcon). A pasta cria um objeto para manipular a extração de ícone e retorna o ponteiro da interface IExtractIcon do objeto.
  3. Chame IExtractIcon::GetIconLocation para recuperar a localização do ícone.
  4. Chame IExtractIcon::Extract para recuperar o identificador do ícone.
Também pode ser possível extrair ícones de forma assíncrona em um thread em segundo plano. Essa abordagem é útil quando a extração é uma operação demorada. Para obter detalhes, consulte IExtractIcon::GetIconLocation.

As extensões de namespaceimplementam IExtractIcon para fornecer ícones para seus objetos. Um cliente obtém um ponteiro de interface IExtractIcon para um objeto em uma pasta chamando o método IShellFolder::GetUIObjectOf da pasta. A implementação IShellFolder::GetUIObjectOf deve criar um objeto para manipular a extração de ícone e retornar um ponteiro para a interface IExtractIcon do objeto.

Manipuladores de ícones também implementam IExtractIcon. Um manipulador de ícones é um tipo de manipulador de extensão shell que permite atribuir ícones dinamicamente aos membros de um tipo de arquivo.

Chame essa interface se seu aplicativo precisar de uma maneira mais flexível para recuperar o ícone de um objeto do que SHGetFileInfo.

Observação

O cabeçalho shlobj_core.h define IExtractIcon como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

   
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shlobj_core.h