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


Метод IShellIconOverlay::GetOverlayIndex (shlobj_core.h)

Возвращает индекс наложения в списке системных образов.

Синтаксис

HRESULT GetOverlayIndex(
  [in]      PCUITEMID_CHILD pidl,
  [in, out] int             *pIndex
);

Параметры

[in] pidl

Тип: PCUITEMID_CHILD

Указатель на структуру ITEMIDLIST , которая идентифицирует объект, значок которого отображается.

[in, out] pIndex

Тип: int*

Указатель на значение, указывающее индекс наложения (на основе одного) в списке системных образов. Этот индекс эквивалентен значению iOverlay , указанному при добавлении изображения наложения в список частных изображений с помощью функции ImageList::SetOverlayImage .

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

Тип: HRESULT

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

Код возврата Описание
S_OK
Найден индекс наложения.
S_FALSE
Наложение для этого файла не существует.
E_FAIL
Недопустимый идентификатор PIDL.
E_INVALIDARG
Аргумент недопустим, например, если pIndex имеет значение NULL.
E_PENDING
Вызывающее приложение прошло OI_ASYNC, чтобы означать, что операция вычисления индекса наложения займет некоторое время.

Комментарии

Чтобы получить индекс наложения в списке системных образов, вызовите SHGetIconOverlayIndex.

Если при вызове этого метода задано значение pIndex , указывающее на OI_ASYNC, обработчик наложения значков оболочки может возвращать E_PENDING вместо сохранения индекса наложения в pIndex. Это возвращаемое значение указывает, что вычисление наложения является медленной операцией и должно обрабатываться в фоновом режиме. Когда реализация IShellIconOverlay возвращает E_PENDING, она вызывается в фоновом рабочем потоке без флага OI_ASYNC. Если вы не используете OI_ASYNC при вызове GetOverlayIndex, обработчик наложения должен вычислить индекс наложения и сохранить значение в pIndex перед возвратом.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional, Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header shlobj_core.h
DLL Shell32.dll (версия 5.0 или более поздняя)

См. также раздел

IShellIconOverlay