| 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
When it is returned, 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 boundary
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 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.
The first owner to inspect is the animation manager, storyboard, transition, timer, or callback that returned the HRESULT.
Capture before retry
| Capture | Diagnostic value |
|---|---|
| Transition identity for this HRESULT. | This separates caller input from environment and service state and helps test the Windows Animation Manager boundary. |
| First storyboard membership for this HRESULT. | This provides a stable comparison across retries or another machine and helps test the Windows Animation Manager boundary. |
| Second AddTransition call for this HRESULT. | This identifies the exact object or resource generation involved and helps test the Windows Animation Manager boundary. |
| Factory or cache that supplied the object for this HRESULT. | This places the failure on the lifecycle or transaction timeline and helps test the Windows Animation Manager boundary. |
Controlled comparisons
| Control | Interpretation | Hold constant |
|---|---|---|
| Same input, fresh object or connection | If the result disappears, retained lifecycle or ownership state is implicated. | While diagnosing this result, keep the original data, account, device, or timeline parameters unchanged. |
| Same object, reduced operation | If the result follows one specific transition, statement, file, or ceremony step, the failure is localized. | While diagnosing this result, remove only unrelated work and keep the first failing boundary visible. |
| Same operation, controlled environment | If the result follows one machine, account, volume, network, or device, environment matters. | While diagnosing it, keep versions and identity explicit rather than comparing only the final message. |
Step-by-step investigation
The investigation should change one variable at a time and keep the original failing sample.
- 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 for this HRESULT 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
The references below define the API family or storage/protocol behavior used to interpret it.
- Microsoft: Windows Animation error codes
- Microsoft: IUIAnimationStoryboard interface
- Microsoft: Windows Animation overview
- Microsoft: Schedule a storyboard
Looking for a different code? Search another status or error code.
