| Previous | Next |
| UI_E_ILLEGAL_REENTRANCY | UI_E_VALUE_NOT_SET |
UI_E_OBJECT_SEALED
The scope of UI_E_OBJECT_SEALED is Windows Animation Manager: a mutation was attempted after the animation object became immutable. Preserve 0x802A0004 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, scheduling and ownership transitions can seal a storyboard or related object so its topology and timing assumptions remain stable. The object may still be valid for playback while no longer accepting structural changes.
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, a sealed object is valid but immutable; UI_E_SHUTDOWN_CALLED means its owning manager generation has ended.
Do not cast away constness, retain internal pointers, or mutate through another interface.
Incident record for this HRESULT
| Capture | Diagnostic value |
|---|---|
| Object type and identity for it. | This places the failure on the lifecycle or transaction timeline and helps test the Windows Animation Manager boundary. |
| Operation that sealed or scheduled it for it. | This separates caller input from environment and service state and helps test the Windows Animation Manager boundary. |
| Attempted property or topology mutation for it. | This provides a stable comparison across retries or another machine and helps test the Windows Animation Manager boundary. |
| Storyboard status at the failed call for it. | This identifies the exact object or resource generation involved 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: Finish adding transitions and keyframes before scheduling.
- Next: Treat reusable definitions as templates and create a new mutable instance.
- Then: Log the first operation after which setters begin failing.
- Finally: Keep playback controls separate from structural edits.
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 object type and identity and remove only unrelated work.
- Targeted corrective control: Use this as a diagnostic branch rather than a blanket workaround: finish adding transitions and keyframes before scheduling. Hold constant: for it, keep the original this result sample available for the final regression test.
Definition of done
Closure for it requires a freshly assembled storyboard is configured completely before scheduling and needs no post-seal edits; 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: Schedule a storyboard
- Microsoft: IUIAnimationManager interface
- Microsoft: IUIAnimationStoryboard interface
Looking for a different code? Search another status or error code.
