Метод 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
Этот метод может возвращать одно из этих значений.
Код возврата | Описание |
---|---|
|
Найден индекс наложения. |
|
Наложение для этого файла не существует. |
|
Недопустимый идентификатор PIDL. |
|
Аргумент недопустим, например, если pIndex имеет значение NULL. |
|
Вызывающее приложение прошло 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 или более поздняя) |