Site icon EfmSoft

Что означает код HRESULT 0x80400001 (INPUT_E_REENTRANCY)?

 
Предыдущий Следующий
INPUT_E_OUT_OF_ORDER INPUT_E_MULTIMODAL

INPUT_E_REENTRANCY

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

INPUT_E_REENTRANCY — операция ввода повторно вызвана из callback или обработчика события, внутри которого вложенная обработка этого API запрещена.

Коды INPUT_E_* относятся к современной подсистеме обработки указателей Windows. Один packet описывает отдельное событие указателя, frame объединяет пакеты, полученные одновременно, а история связывает кадры во времени; дополнительно учитываются ID указателя, тип устройства, метки времени и преобразования координат.

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

  • Сохраните стек вызовов и конкретный callback, из которого произошёл повторный вход.
  • Проверьте вспомогательные функции, которые синхронно вызывают тот же API ввода через скрытую обработку оконных сообщений.
  • Не считайте это обычной межпоточной гонкой: тот же вызов может быть допустим после выхода из callback.

Что делать

Отложите работу до возврата из callback, не создавая вложенный цикл обработки сообщений и не блокируя текущий обработчик ожиданием самого себя.

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


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

Exit mobile version