| Предыдущий | Следующий |
| 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, не создавая вложенный цикл обработки сообщений и не блокируя текущий обработчик ожиданием самого себя.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
