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