| Previous | Next |
| UI_E_INVALID_OUTPUT | UI_E_DIFFERENT_OWNER |
UI_E_BOOLEAN_EXPECTED
The scope of UI_E_BOOLEAN_EXPECTED is Windows Animation Manager: a callback used a success HRESULT other than S_OK or S_FALSE where a Boolean decision was required. Preserve 0x802A0008 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, some Windows Animation callbacks encode a Boolean answer in the HRESULT itself. Returning another success code is not “close enough”; it makes the decision ambiguous even though FAILED(hr) is false.
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, UI_E_INVALID_OUTPUT concerns out-parameter data; this code concerns the callback return value itself.
Do not replace the HRESULT test with SUCCEEDED(hr) when the contract requires S_OK versus S_FALSE.
Incident record for this HRESULT
| Capture | Diagnostic value |
|---|---|
| Callback method and returned HRESULT for this HRESULT. | This places the failure on the lifecycle or transaction timeline and helps test the Windows Animation Manager boundary. |
| Branch intended to mean true or false for this HRESULT. | This separates caller input from environment and service state and helps test the Windows Animation Manager boundary. |
| Wrapper normalization behavior for this HRESULT. | This provides a stable comparison across retries or another machine and helps test the Windows Animation Manager boundary. |
| Caller handling of S_OK and S_FALSE for this HRESULT. | 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: Return exactly S_OK for true and S_FALSE for false.
- Next: Map internal status separately from the Boolean result.
- Then: Add tests for both decisions and one real failure.
- Finally: Inspect language bindings that coerce arbitrary success values.
Three useful controls
- Fresh storyboard or animation object: for this HRESULT, a changed result separates retained object, connection, path, host, or device state from the original input. Hold constant: for this HRESULT, 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 this HRESULT, retain callback method and returned hresult and remove only unrelated work.
- Targeted corrective control: Use this as a diagnostic branch rather than a blanket workaround: return exactly S_OK for true and S_FALSE for false. Hold constant: for this HRESULT, keep the original failing sample available for the final regression test.
Definition of done
Closure for this HRESULT requires every callback branch returns one of the two documented Boolean HRESULTs or a genuine failure; 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: Windows Animation overview
- Microsoft: Schedule a storyboard
- Microsoft: IUIAnimationManager interface
Looking for a different code? Search another status or error code.
