| Previous | Next |
| WINML_ERR_INVALID_BINDING | WINML_ERR_SIZE_MISMATCH |
WINML_ERR_VALUE_NOTFOUND
Investigate unknown Windows ML input or output name at the first returning call, before a wrapper substitutes a generic message. The binding attempted to address a feature name that is absent from the loaded model description, often after model regeneration or an incorrect generated wrapper.
Read the status in context
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.
This is name resolution, not tensor allocation or device support. A correctly sized value still fails if its key is not exported by the model. Keep the numeric value, declared return type, and first returning operation together with WINML_ERR_VALUE_NOTFOUND; the same integer can belong to a different status namespace in another API.
Diagnostic facts
| Capture | Diagnostic value |
|---|---|
| Exact UTF-16 binding key, model hash/version, descriptor names, generated-code version, and case. | Identifies the concrete object and operation associated with unknown Windows ML input or output name. |
| Whether the missing name is an input, output, or intermediate name not exposed by the model contract. | 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. |
Preserve whether the missing name is an input, output, or intermediate name not exposed by the model contract before reinstalling, rebooting, clearing state, or substituting another device or provider. A success observed only after such a change is useful comparison data, but it does not identify the original cause.
Verification path
- Print the loaded descriptor names and bind using one copied verbatim. Record the first returned status and any state transition observed.
- Load the previous model version with the same application binary to prove schema drift. Treat a changed result as a new boundary rather than automatic resolution.
- Run one evaluation with deterministic input and capture the descriptor-to-buffer mapping. Repeat the original supported operation so the check remains tied to the same API boundary.
What the result does not prove
| Observed comparison | Next conclusion to test |
|---|---|
| The first control changes the result | Concentrate on the variable isolated by this check: Print the loaded descriptor names and bind using one copied verbatim. |
| The second comparison reproduces the same first status | Preserve lower-layer provider, driver, service, or runtime evidence before editing application data. The second controlled check was: Load the previous model version with the same application binary to prove schema drift. |
| A different status appears after the bounded change | The operation moved to another boundary after the third controlled check. That check was: Run one evaluation with deterministic input and capture the descriptor-to-buffer mapping. Retain both results and interpret the replacement through its own API contract. |
Closing the incident
Targeted correction. Regenerate wrappers or update the binding map from the actual deployed model and version model/schema changes together. Modify only the object, argument, policy, provider, or lifecycle state identified by the collected evidence.
Acceptance criterion. The deployed model and application agree on feature names and a deliberate unknown key fails before evaluation. Re-run the original operation that produced this condition under its original identity and supported configuration, then keep one negative control that still produces the expected neighboring outcome.
Technical references
References for WINML_ERR_VALUE_NOTFOUND on the deployed platform version.
- Microsoft Open Specifications: HRESULT values — defines the status namespace used.
- Microsoft: HRESULT facility extraction — documents the API or lifecycle boundary behind this condition.
- Microsoft: Windows ML desktop workflow — provides ABI, implementation, or protocol context.
- Microsoft: LearningModelBinding — supports the portability and verification limits.
Looking for a different code? Search another status or error code.
