Поделиться через


Интерфейс IExtractIconA (shlobj_core.h)

Предоставляет методы, позволяющие клиенту получить значок, связанный с одним из объектов в папке.

Наследование

Интерфейс IExtractIcon наследуется от интерфейса IUnknown . IExtractIcon также имеет следующие типы элементов:

Методы

Интерфейс IExtractIconA содержит следующие методы.

 
IExtractIconA::Extract

Извлекает изображение значка из указанного расположения. (ANSI)
IExtractIconA::GetIconLocation

Возвращает расположение и индекс значка. (ANSI)

Комментарии

Существует два способа получения значка объекта. Самый простой способ — вызвать SHGetFileInfo. Однако этот подход является негибким и может быть медленным. Более гибким и эффективным способом получения значка элемента является использование IExtractIcon. Оболочка использует IExtractIcon для получения значков при отображении содержимого папки. Чтобы использовать IExtractIcon для получения значка объекта, сделайте следующее:

  1. Получите указатель на интерфейс IShellFolder папки, содержащей объект .
  2. Вызовите IShellFolder::GetUIObjectOf с указателем на список идентификаторов элементов (PIDL) объекта и идентификатор интерфейса IExtractIcon (IID_IExtractIcon). Папка создает объект для обработки извлечения значка и возвращает указатель интерфейса IExtractIcon объекта.
  3. Вызовите метод IExtractIcon::GetIconLocation , чтобы получить расположение значка.
  4. Вызовите метод IExtractIcon::Extract , чтобы получить дескриптор значка.
Можно также асинхронно извлекать значки в фоновом потоке. Этот подход полезен, если извлечение занимает много времени. Дополнительные сведения см. в разделе IExtractIcon::GetIconLocation.

Расширения пространства имен реализуют IExtractIcon для предоставления значков для своих объектов. Клиент получает указатель интерфейса IExtractIcon для объекта в папке, вызывая метод IShellFolder::GetUIObjectOf папки. Реализация IShellFolder::GetUIObjectOf должна создать объект для обработки извлечения значка и вернуть указатель на интерфейс IExtractIcon объекта.

Обработчики значков также реализуют IExtractIcon. Обработчик значков — это тип обработчика расширения оболочки, который позволяет динамически назначать значки членам типа файла.

Вызовите этот интерфейс, если приложению требуется более гибкий способ получения значка объекта, чем SHGetFileInfo.

Примечание

Заголовок shlobj_core.h определяет IExtractIcon в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header shlobj_core.h