Site icon EfmSoft

Что означает код HRESULT 0x802A0003 (UI_E_ILLEGAL_REENTRANCY)?

 
Предыдущий Следующий
UI_E_SHUTDOWN_CALLED UI_E_OBJECT_SEALED

UI_E_ILLEGAL_REENTRANCY

Что означает UI_E_ILLEGAL_REENTRANCY

UI_E_ILLEGAL_REENTRANCY означает, что UI-компонент был повторно вызван в момент, когда предыдущая операция ещё не завершила изменение состояния.

Такое бывает при синхронных callbacks, вложенной обработке сообщений или вызове пользовательского кода из середины state transition.

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

  • Постройте стек обоих входов в UI-операцию.
  • Найдите callback, который синхронно вызывает тот же объект.
  • Не запускайте modal/message loop внутри критического перехода.
  • Перенесите повторную работу в очередь после завершения текущей операции.

Исправление — убрать незаконную reentrancy, а не блокировать поток случайным mutex.

Технические ссылки


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

Exit mobile version