| Previous | Next |
| UI_E_FP_OVERFLOW | UI_E_STORYBOARD_ACTIVE |
UI_E_WRONG_THREAD
The scope of UI_E_WRONG_THREAD is Windows Animation Manager: a thread-affine animation object was called from a thread other than its creator. Preserve 0x802A000C beside the returning call before cleanup or retry creates a more generic secondary failure.
Wrong turns
UI_E_ILLEGAL_REENTRANCY can happen on the owner thread; WRONG_THREAD is an affinity violation.
Do not move object creation to a worker merely to match one failing call.
Object and state
COM marshaling does not automatically make every animation object free-threaded. UI and animation managers are commonly coordinated by one event-loop thread, while worker callbacks must post data rather than directly mutate the graph.
Capture before retry
- Creator and caller thread IDs.
- COM apartment types.
- Marshaling or dispatcher boundary.
- Object creation and release timeline.
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
The investigation should change one variable at a time and keep the original failing sample.
- First: Create and use the object on one designated thread.
- Next: Post immutable data from workers to that thread.
- Then: Verify no timer callback bypasses the dispatcher.
- Finally: Release thread-affine objects before their owner thread exits.
Closure criteria
Closure requires all calls and release occur on the owner thread while workers communicate through an explicit queue; then repeat the next lifecycle operation to detect stale state.
Technical references
Looking for a different code? Search another status or error code.