| Previous | Next |
| WINML_ERR_VALUE_NOTFOUND | MILERR_OBJECTBUSY |
WINML_ERR_SIZE_MISMATCH
The numeric result becomes useful only when tied to the exact operation and object state. The buffer or tensor supplied for a feature does not match the byte count or element shape required after resolving the model descriptor.
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 size mismatch assumes the feature was found and its general binding type was accepted; it is later than value-not-found and usually narrower than invalid binding. Keep the numeric value, declared return type, and first returning operation together with WINML_ERR_SIZE_MISMATCH; the same integer can belong to a different status namespace in another API.
Evidence to preserve
| Capture | Diagnostic value |
|---|---|
| Feature name, tensor element type, resolved dimensions, strides, byte length, batch size, and preprocessing output. | Identifies the concrete object and operation associated with Windows ML bound-buffer size mismatch. |
| Dynamic dimension values and arithmetic used to allocate the backing buffer. | Separates argument or lifecycle state from the provider beneath Windows ML bound-buffer size mismatch. |
| 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 feature name, tensor element type, resolved dimensions, strides, byte length, batch size, and preprocessing output 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.
A controlled diagnostic sequence
- Compute element count with checked multiplication and bind a freshly allocated exact-size tensor. Keep unrelated inputs fixed so the changed result remains attributable to the tested variable.
- Hold the model and name constant while testing one smaller and one exact buffer. Record the first returned status and any state transition observed.
- Run one evaluation with deterministic input and capture the descriptor-to-buffer mapping. Treat a changed result as a new boundary rather than automatic resolution.
How nearby outcomes differ
| Observed comparison | Next conclusion to test |
|---|---|
| The first control changes the result | Concentrate on the variable isolated by this check: Compute element count with checked multiplication and bind a freshly allocated exact-size tensor. |
| 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: Hold the model and name constant while testing one smaller and one exact buffer. |
| 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. |
Correction and proof
Targeted correction. Derive allocation from the runtime descriptor, validate dynamic dimensions, and reject overflow or stale buffer reuse before Bind. Modify only the object, argument, policy, provider, or lifecycle state identified by the collected evidence.
Acceptance criterion. Exact-size input and output buffers evaluate across minimum and maximum supported shapes without truncation or overrun. 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_SIZE_MISMATCH 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.