Что означает код ошибки Windows 1414 (ERROR_INVALID_ICON_HANDLE)?

 
Предыдущий Следующий
ERROR_INVALID_INDEX ERROR_PRIVATE_DIALOG_INDEX

ERROR_INVALID_ICON_HANDLE

HICON не является допустимым дескриптором значка

Значки — это непрозрачные ресурсы графического интерфейса, используемые окнами, классами, диалогами и представлением оболочки. Значение HICON должно быть получено путём загрузки или создания значка и оставаться действительным в течение всего времени, необходимого API, которое хранит или использует его.

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

Что следует проверить

  • Проследите путь загрузки или создания значка и выясните, запрашивалась ли семантика совместно используемого ресурса.
  • Проверьте, не был ли преждевременно вызван DestroyIcon в течение времени жизни класса или окна.
  • В оболочках и диагностике строго разделяйте поля значков и курсоров.
  • При обновлении значка класса сохраняйте время жизни старого и нового дескрипторов, пока класс и окна больше не перестанут на них ссылаться.

Отсутствующий ресурс значка при загрузке — другая ошибка; здесь API получило значение, не являющееся допустимым дескриптором значка.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.