Что означает код HRESULT 0x80400003 (INPUT_E_PACKET)?

 
Предыдущий Следующий
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.


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