| Previous | Next |
| UI_E_LOOPS_OVERLAP | UI_E_TRANSITION_NOT_IN_STORYBOARD |
UI_E_TRANSITION_ALREADY_USED
The scope of UI_E_TRANSITION_ALREADY_USED is Windows Animation Manager: the same transition object was added where a fresh transition instance was required. Preserve 0x802A0106 beside the returning call before cleanup or retry creates a more generic secondary failure.
Wrong turns
UI_E_DIFFERENT_OWNER can arise even with a never-used object; ALREADY_USED is specifically prior membership.
Do not AddRef the transition and assume reference counting permits multiple storyboard memberships.
Object and state
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.
A transition carries mutable scheduling membership and cannot be shared as a stateless formula. Reusing one COM object across storyboards or after a completed storyboard has been released violates that one-membership lifecycle.
Inspect the animation manager, storyboard, transition, timer, or callback that returned the HRESULT.
Capture before retry
- Transition identity.
- First storyboard membership.
- Second AddTransition call.
- Factory or cache that supplied the object.
Controlled comparisons
| Control | Interpretation | Hold constant |
|---|---|---|
| Same operation, controlled environment | If the result follows one machine, account, volume, network, or device, environment matters. | Keep versions and identity explicit rather than comparing only the final message. |
Step-by-step investigation
- First: Create a new transition object per membership.
- Next: Cache parameters, not transition instances.
- Then: Log storyboard and transition identities.
- Finally: Release completed graphs before building replacements.
Closure criteria
Closure requires each storyboard receives distinct transition instances with equivalent parameters and both schedule successfully; then repeat the next lifecycle operation to detect stale state.
Technical references
Looking for a different code? Search another status or error code.