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

 
Предыдущий Следующий
ERROR_HOTKEY_ALREADY_REGISTERED ERROR_CLASS_DOES_NOT_EXIST

ERROR_CLASS_ALREADY_EXISTS

description[Класс окна с запрошенной регистрационной идентичностью уже существует.]

Класс окна уже зарегистрирован

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

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

Что проверить

  • Сделайте регистрацию класса идемпотентной в одной чётко определённой точке инициализации процесса или модуля.
  • Используйте стабильное имя класса, специфичное для приложения, а не общее имя, способное вызвать коллизию.
  • Если используется уже существующий класс, запросите его атрибуты и убедитесь, что они соответствуют ожидаемой процедуре и экземпляру.
  • При необходимости сопоставляйте регистрацию из DLL с явной отменой регистрации.

Создание дополнительных окон существующего класса является нормальным. Ошибка относится к повторной попытке регистрации класса, а не к нескольким экземплярам окон.

Ссылки


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