Что означает код HRESULT 0x802A0103 (UI_E_START_KEYFRAME_AFTER_END)?

 
Предыдущий Следующий
UI_E_STORYBOARD_NOT_PLAYING UI_E_END_KEYFRAME_NOT_DETERMINED

UI_E_START_KEYFRAME_AFTER_END

Объект и состояние

Значение возникает на границе Windows Animation Manager storyboard/transition lifecycle; конкретная проверка для этого случая — начальный / keyframe / после / конечный. Диагностику начинайте с producer, object generation и входного state, а не с последнего пользовательского сообщения.

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

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

  • Within Windows Animation Manager , the result reports that the storyboard timing constraints can place a start keyframe after its intended end.
  • During the investigation, UI_E_END_KEYFRAME_NOT_DETERMINED means the end cannot yet be resolved; this code means the constraints permit an invalid ordering.
  • Keyframes may be related by offsets, transition completion, or other keyframes., the inconsistency can be indirect: each local offset looks valid while the resulting constraint graph reverses the intended order.
  • Finally: Assert start time is not greater than end time after resolution.

Минимальный trace

  • 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.

Причинная граница

Сделайте минимальный before/after test для «начальный / keyframe / после / конечный» и не меняйте одновременно policy, input и lifecycle-state: такой recovery не доказывает причинную связь.

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

Подтверждение результата

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

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


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