Что означает код HRESULT 0x802A0008 (UI_E_BOOLEAN_EXPECTED)?

 
Предыдущий Следующий
UI_E_INVALID_OUTPUT UI_E_DIFFERENT_OWNER

UI_E_BOOLEAN_EXPECTED

Что означает результат

При результате UI_E_BOOLEAN_EXPECTED (0X802A0008) локализуйте операцию внутри Windows Animation Manager storyboard/transition lifecycle. Практическая граница — boolean / ожидалось; поздняя обёртка может скрыть исходный command, policy или lifecycle-state.

Windows Animation Manager использует manager time, storyboard status, transitions и callbacks как единую lifecycle model; текущая картинка на экране не является достоверным status object.

Конкретные признаки из исходного EN-описания

  • Do not replace the HRESULT test with SUCCEEDED(hr) when the contract requires S_OK versus S_FALSE.
  • The scope of the result is Windows Animation Manager : a callback used a success HRESULT other than S_OK or S_FALSE where a Boolean decision was required.
  • First: Return exactly S_OK for true and S_FALSE for false.
  • Returning another success code is not “close enough”; it makes the decision ambiguous even though FAILED(hr) is false.

Что сохранить до retry

  • animation manager/storyboard/transition identity и lifecycle generation.
  • manager update time, schedule/status и callback ordering.
  • точный IUIAnimation* method и первый HRESULT.

Storyboard или transition могут оставаться scheduled/sealed/used после визуального завершения, поэтому reuse должен опираться на API status, а не на предположение caller.

Проверка причинной границы

Сравните failing и working trace той же операции. Поле или state, соответствующий «boolean / ожидалось», должен быть единственным существенным отличием.

Для «boolean / ожидалось» сопоставьте storyboard/transition status и manager update time. Визуальное положение объекта не заменяет lifecycle-state, который Windows Animation Manager считает активным.

Исправление и повтор

Приведите storyboard/transition к состоянию, разрешающему операцию «boolean / ожидалось», либо создайте новый объект для overlapping work; затем подтвердите поведение на том же animation timeline.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.