| Previous | Next |
| UI_E_STORYBOARD_NOT_PLAYING | UI_E_END_KEYFRAME_NOT_DETERMINED |
UI_E_START_KEYFRAME_AFTER_END
Within Windows Animation Manager, UI_E_START_KEYFRAME_AFTER_END reports that the storyboard timing constraints can place a start keyframe after its intended end. Diagnosis of this result should follow the original owner and generation rather than treating the visible symptom as the cause.
Mechanism behind the code
Windows Animation is a stateful COM subsystem. 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.
Keyframes may be related by offsets, transition completion, or other keyframes. The inconsistency can be indirect: each local offset looks valid while the resulting constraint graph reverses the intended order.
Inspect the animation manager, storyboard, transition, timer, or callback that returned the HRESULT.
High-value telemetry
- Start and end keyframe identities.
- Dependency edges and offsets.
- Transition durations.
- Resolved or unresolved schedule times.
Decision table
- Fresh storyboard or animation object: a changed result separates retained object, connection, path, host, or device state from the original input. Hold constant: 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: retain start and end keyframe identities and remove only unrelated work.
- Targeted corrective control: Use this as a diagnostic branch rather than a blanket workaround: draw the keyframe dependency graph. Hold constant: keep the original failing sample available for the final regression test.
Safe reduction procedure
- First: Draw the keyframe dependency graph.
- Next: Replace relative keyframes with fixed controls.
- Then: Add constraints one at a time.
- Finally: Assert start time is not greater than end time after resolution.
Do not erase the distinction
During an investigation, UI_E_END_KEYFRAME_NOT_DETERMINED means the end cannot yet be resolved; this code means the constraints permit an invalid ordering.
Do not swap labels without checking which transition depends on each keyframe.
Successful outcome
Verify it with the original scenario, one boundary case, and one deliberate failure; success means the resolved graph preserves ordering for minimum, nominal, and maximum transition durations.
Technical references
Looking for a different code? Search another status or error code.