Что означает код HRESULT 0x80400007 (INPUT_E_TRANSFORM)?

 
Предыдущий Следующий
INPUT_E_DEVICE_INFO INPUT_E_DEVICE_PROPERTY

INPUT_E_TRANSFORM

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

INPUT_E_TRANSFORM — не удалось выполнить преобразование координат указателя в требуемую систему координат.

Коды INPUT_E_* относятся к современной подсистеме обработки указателей Windows. Один packet описывает отдельное событие указателя, frame объединяет пакеты, полученные одновременно, а история связывает кадры во времени; дополнительно учитываются ID указателя, тип устройства, метки времени и преобразования координат.

Что проверить

  • Запишите исходные координаты, HWND, геометрию целевого окна, DPI, поворот и матрицу преобразования.
  • Проверьте конечность значений и обратимость матрицы, если API требует обратного преобразования.
  • Исключите устаревшую геометрию окна после изменения DPI или дисплея и смешение физических и логических единиц.

Что делать

Пересчитайте корректное преобразование для актуального объекта и системы координат; ограничение итоговых x/y не исправляет вырожденную матрицу.

Технические ссылки


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