| Предыдущий | Следующий |
| 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.
Технические ссылки
- Microsoft: Windows Animation error codes.
- Microsoft: Schedule a storyboard.
- Microsoft: IUIAnimationManager interface.
- Microsoft: IUIAnimationStoryboard interface.
Нужно найти другой код? Найти другой код состояния или ошибки.
