Что означает код HRESULT 0x80400000 (INPUT_E_OUT_OF_ORDER)?

 
Предыдущий Следующий
SL_REMAPPING_MDOLLAR_OSR_DEVICE_BLOCKED INPUT_E_REENTRANCY

INPUT_E_OUT_OF_ORDER

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

INPUT_E_OUT_OF_ORDER (0x80400000) — Входные данные нельзя обрабатывать в порядке, не соответствующем их времени поступления.

Код 0x80400000 относится не ко всему компоненту «COM/WinRT», а к операции в области «контракт вызываемого interface, аргументы и state объекта». Сообщение «входные данные нельзя обрабатывать в порядке, не соответствующем их времени поступления» позволяет начать с темы «входные данные, out, сортировка».

Что проверить и как подтвердить исправление

В первую очередь сопоставьте первый отказ с фактическими параметрами операции. Для 0x80400000 в сценарии «входные данные нельзя обрабатывать в порядке, не соответствующем их времени поступления» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.

Перед повтором 0x80400000 зафиксируйте IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите INPUT_E_OUT_OF_ORDER, INPUT_E_FRAME, INPUT_E_HISTORY. Различия по теме «входные данные, out, сортировка» для 0x80400000 покажут, изменился ли первый неуспешный этап.

Для 0x80400000 применяйте исправление на границе первого отказа: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. Сообщение «входные данные нельзя обрабатывать в порядке, не соответствующем их времени поступления» при 0x80400000 не следует подавлять общей обработкой исключения.

Закройте диагностику после двух проверок: исходный сценарий проходит без результата 0x80400000, а заведомо неверный вход отклоняется на ожидаемой границе.

Документация для результата 0x80400000: COM error codes for Input and graphics · Pointer Input Messages and Notifications · POINTER_INFO structure and pointer lifetime.


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