What does HRESULT 0x88900002 (WINML_ERR_INVALID_BINDING) mean?

 
Previous Next
WINML_ERR_INVALID_DEVICE WINML_ERR_VALUE_NOTFOUND

WINML_ERR_INVALID_BINDING

The actionable meaning of Windows ML binding that does not match the model contract comes from the component that returned it. LearningModelBinding is incomplete or contains values whose feature kinds, names, or mutability do not match the model input/output descriptors.

Where the result is produced

Windows ML separates model loading, session creation, feature binding, and evaluation. The phase returning the HRESULT decides whether metadata, tensors, device selection, or execution is the useful boundary.

A valid feature name with the wrong size is a size mismatch; an unknown name is value-not-found. Invalid binding is the broader contract failure. Keep WINML_ERR_INVALID_BINDING, its numeric value, and the first returning operation together.

Evidence to preserve

CaptureDiagnostic value
Model input/output descriptors, bound names, feature classes, data types, shapes, and binding order.Identifies the concrete object and operation associated with Windows ML binding that does not match the model contract.
Whether each required input and output is present exactly once and optional dimensions are resolved.Separates argument or lifecycle state from a lower-layer provider failure.
First WinML/DirectML diagnostic event and the operation phase: load, session, bind, or evaluate.Creates a stable before-and-after comparison.
Known-good model and input produced by the same export toolchain.Shows whether this condition is the first result or a translated summary.

For WINML_ERR_INVALID_BINDING preserve known-good model and input produced by the same export toolchain while evaluating this condition before reinstalling, rebooting, clearing state, or substituting another device or provider. A success observed only after such a change is useful comparison data for this HRESULT but it does not identify the original cause.

A controlled diagnostic sequence

  1. Enumerate model descriptors and bind a minimal known tensor for each required input. Repeat the original supported operation so the check remains tied to the same API boundary.
  2. Remove one suspect binding while keeping the device and model session fixed. Keep unrelated inputs fixed so the changed result remains attributable to the tested variable.
  3. Run one evaluation with deterministic input and capture the descriptor-to-buffer mapping.

Correction and proof

Targeted correction. Construct bindings from the loaded model descriptors and keep preprocessing/output allocation consistent with those descriptors.

Acceptance criterion. Every required feature binds once and evaluation reaches execution without binding-related HRESULTs.

Technical references

References for WINML_ERR_INVALID_BINDING on the deployed platform version.


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