| 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 condition first
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.
Keep neighboring conditions separate
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
- Object type and identity.
- Operation that sealed or scheduled it.
- Attempted property or topology mutation.
- Storyboard status at the failed call.
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: 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 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: keep the original failing sample available for the final regression test.
Definition of done
Closure 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.
Looking for a different code? Search another status or error code.
