What does HRESULT 0x80400008 (INPUT_E_DEVICE_PROPERTY) mean?

 
Previous Next
INPUT_E_TRANSFORM E_MBN_CONTEXT_NOT_ACTIVATED

INPUT_E_DEVICE_PROPERTY

The scope of INPUT_E_DEVICE_PROPERTY is pointer-device metadata and capabilities. A required input-device property is unsupported or reported in an invalid form. Keep 0x80400008 beside the returning method because a wrapper can replace this distinction with a generic subsystem message.

Start with the returning API

A pointer identifier is interpreted through device metadata supplied by the input stack. Capabilities such as contact dimensions, pressure, orientation, physical scale, and HID usage can be optional, but values that are advertised must still satisfy their units and ranges. A stale device record after removal or session change is different from a live device that reports one malformed property.

The failing property can describe HID usage, physical dimensions, resolution, orientation, contact capability, pressure, or another device-specific characteristic. Separate “not supported” from “reported with an impossible value.”.

Limits of this code

INPUT_E_DEVICE_INFO is a failure to retrieve the device record; this code is narrower and concerns one property of a resolved device. Do not replace an invalid physical dimension or resolution with an arbitrary default when accuracy, palm rejection, or security depends on it.

Evidence to preserve

  • Property identifier, type, size, and raw returned value
  • Device instance ID, driver version, HID usage page and usage
  • Whether the property is mandatory for the requested operation
  • Results from a known-good device and from the same device after re-enumeration

Reproduce without destructive cleanup

Compare the same property query on the same physical device before and after reenumbering, resume, or reconnect. Then compare a second device without changing the application build; this separates device-specific metadata from caller structure and version errors.

  1. Query only the property that the operation actually needs.
  2. Validate range, units, and structure size before using the value.
  3. Use documented capability checks before requesting optional data.
  4. Compare with another driver version or the Microsoft sample path without changing the application input trace.

Technical references


Looking for a different code? Search another status or error code.