| Предыдущий | Следующий |
| INPUT_E_OUT_OF_ORDER | INPUT_E_MULTIMODAL |
INPUT_E_REENTRANCY
Что означает INPUT_E_REENTRANCY
INPUT_E_REENTRANCY (0x80400001) — Запрошенную операцию нельзя выполнять из обратного вызова или обработчика события.
Результат 0x80400001 пришёл из подсистемы «COM/WinRT» при работе с областью «контракт вызываемого interface, аргументы и state объекта». Для сообщения «запрошенную операцию нельзя выполнять из обратного вызова или обработчика события» практический предмет проверки — «входные данные, reentrancy».
Что проверить и как подтвердить исправление
Сначала сопоставьте первый отказ с фактическими параметрами операции. Для 0x80400001 в условии «запрошенную операцию нельзя выполнять из обратного вызова или обработчика события» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.
Диагностика 0x80400001 должна включать IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите INPUT_E_REENTRANCY. Для темы «входные данные, reentrancy» при 0x80400001 важны значения именно на первом отказе, а не после обработки ошибки верхним уровнем.
Коррекция для 0x80400001 должна быть предметной: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. Для 0x80400001 и сообщения «запрошенную операцию нельзя выполнять из обратного вызова или обработчика события» общий сброс допустим лишь как контроль, но не как доказательство причины.
Подтвердите изменение повтором исходной операции: результат 0x80400001 не должен возникать на исправном объекте, но прежний отрицательный контроль обязан оставаться предсказуемым.
Документация для результата 0x80400001: COM error codes for Input and graphics · Pointer Input Messages and Notifications · POINTER_INFO structure and pointer lifetime.
Нужно найти другой код? Найти другой код состояния или ошибки.