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