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

 
Предыдущий Следующий
ERROR_CLASS_ALREADY_EXISTS ERROR_CLASS_HAS_WINDOWS

ERROR_CLASS_DOES_NOT_EXIST

Зарегистрированный класс окна не найден

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

Гонка при завершении работы может снять регистрацию класса до того, как поздний путь очистки или запроса попытается его использовать. Особого внимания требуют DLL: классы, зарегистрированные библиотекой DLL, не снимаются с регистрации автоматически только из-за выгрузки библиотеки, поэтому ошибки жизненного цикла могут создавать и противоположные устаревшие предположения.

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

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

Если CreateWindowEx не может разрешить класс при создании окна, ERROR_CANNOT_FIND_WND_CLASS является тесно связанным состоянием времени создания.

Ссылки


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