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


Функция SHDefExtractIconA (shlobj_core.h)

Предоставляет обработчик по умолчанию для извлечения значка из файла.

Синтаксис

SHSTDAPI SHDefExtractIconA(
  [in]            LPCSTR pszIconFile,
                  int    iIndex,
  [in]            UINT   uFlags,
  [out, optional] HICON  *phiconLarge,
  [out, optional] HICON  *phiconSmall,
                  UINT   nIconSize
);

Параметры

[in] pszIconFile

Тип: LPCTSTR

Указатель на буфер, завершаемый значением NULL, который содержит путь и имя файла, из которого извлекается значок.

iIndex

Тип: int

Расположение значка в файле с именем pszIconFile. Если это положительное число, оно ссылается на отсчитываемую от нуля позицию значка в файле. Например, 0 ссылается на 1-й значок в файле ресурса, а 2 — на 3-й. Если это отрицательное число, он ссылается на идентификатор ресурса значка.

[in] uFlags

Тип: UINT

Флаг, который управляет извлечением значков.

GIL_SIMULATEDOC

Накладывает извлеченный значок на значок документа по умолчанию, чтобы создать окончательный значок. Этот значок можно использовать, если более подходящий значок не найден или извлечен.

[out, optional] phiconLarge

Тип: HICON*

Указатель на HICON, который, когда эта функция возвращается успешно, получает дескриптор большой версии значка, указанного в LOWORDnIconSize. Это значение может быть NULL.

[out, optional] phiconSmall

Тип: HICON*

Указатель на HICON, который, когда эта функция возвращается успешно, получает дескриптор небольшой версии значка, указанного в HIWORDnIconSize.

nIconSize

Тип: UINT

Значение, содержащее большой размер значка в LOWORD и небольшой размер значка в HIWORD. Размер измеряется в пикселях. Передайте значение 0, чтобы указать размеры по умолчанию и небольшие размеры.

Возвращаемое значение

Тип: HRESULT

Эта функция может возвращать одно из этих значений.

Возвращаемый код Описание
S_OK
Успех.
S_FALSE
Запрошенный значок отсутствует.
E_FAIL
Доступ к файлу невозможен или осуществляется через медленную ссылку.

Замечания

Вызывающий объект несет ответственность за освобождение ресурсов значков, созданных с помощью этой функции, когда они больше не нужны. Это можно сделать с помощью функции DestroyIcon.

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка shlobj_core.h (include Shlobj.h, Shlobj_core.h)
библиотеки Shell32.lib
DLL Shell32.dll (версия 6.0 или более поздняя)
набор API ext-ms-win-shell-shell32-l1-2-1 (представлено в Windows 10 версии 10.0.10240)