| Previous | Next |
| UI_E_INVALID_DIMENSION | UI_E_WINDOW_CLOSED |
UI_E_PRIMITIVE_OUT_OF_BOUNDS
The scope of UI_E_PRIMITIVE_OUT_OF_BOUNDS is Windows Animation Manager: an interpolation primitive begins at or beyond the interpolator duration. Preserve 0x802A010C beside the returning call before cleanup or retry creates a more generic secondary failure.
Read the boundary first
When it is returned, Windows Animation is a stateful COM subsystem. During a this result investigation, animation variables, transitions and storyboards are created under a manager, scheduled against a monotonic animation time, updated before drawing, and eventually sealed or released. A visible glitch can therefore be downstream of a lifecycle, ownership, timeline, callback, or numeric contract failure.
During a this result investigation, a custom interpolator is a timed sequence of primitives. A primitive positioned outside the total duration cannot contribute a valid interval, even if its own parameters are numerically valid.
The first owner to inspect is the animation manager, storyboard, transition, timer, or callback that returned the HRESULT.
Keep neighboring conditions separate
When it is returned, UI_E_FP_OVERFLOW is numeric range failure; OUT_OF_BOUNDS is a finite but invalid timeline position.
Do not extend total duration automatically without confirming the intended animation semantics.
Incident record for this HRESULT
| Capture | Diagnostic value |
|---|---|
| Primitive start time for it. | This provides a stable comparison across retries or another machine and helps test the Windows Animation Manager boundary. |
| Total interpolator duration for it. | This identifies the exact object or resource generation involved and helps test the Windows Animation Manager boundary. |
| Primitive duration and order for it. | This places the failure on the lifecycle or transaction timeline and helps test the Windows Animation Manager boundary. |
| Unit conversion and accumulated offsets for it. | This separates caller input from environment and service state and helps test the Windows Animation Manager boundary. |
Reproduce without destroying evidence
The investigation should change one variable at a time and keep the original failing sample.
- First: Compute cumulative offsets before adding primitives.
- Next: Use a single primitive starting at zero.
- Then: Check strict less-than bounds at the endpoint.
- Finally: Test zero-duration and exact-end cases explicitly.
Three useful controls
- Fresh storyboard or animation object: for it, a changed result separates retained object, connection, path, host, or device state from the original input. Hold constant: for it, keep the timeline, transitions, and manager version fixed.
- Reduced failing operation: If this result follows the reduced step, the rejecting transition is localized. Hold constant: for it, retain primitive start time and remove only unrelated work.
- Targeted corrective control: Use this as a diagnostic branch rather than a blanket workaround: compute cumulative offsets before adding primitives. Hold constant: for it, keep the original this result sample available for the final regression test.
Definition of done
Closure for it requires every primitive occupies a valid interval within the interpolator and endpoint tests have explicit expected results; then repeat the next lifecycle operation to detect stale state.
Technical references
The references below define the API family or storage/protocol behavior used to interpret this result.
- Microsoft: Windows Animation error codes
- Microsoft: IUIAnimationTransition interface
- Microsoft: Windows Animation overview
- Microsoft: Schedule a storyboard
Looking for a different code? Search another status or error code.