| Предыдущий | Следующий |
| UI_E_LOOPS_OVERLAP | UI_E_TRANSITION_NOT_IN_STORYBOARD |
UI_E_TRANSITION_ALREADY_USED
Объект и состояние
UI_E_TRANSITION_ALREADY_USED (0X802A0106) относится к Windows Animation Manager storyboard/transition lifecycle. Для расследования рабочее условие — transition / уже / использован. Сохраняйте первый native return и состояние объекта до автоматического retry или cleanup.
Storyboard или transition могут оставаться scheduled/sealed/used после визуального завершения, поэтому reuse должен опираться на API status, а не на предположение caller.
Конкретные признаки из исходного EN-описания
When it is returned, UI_E_DIFFERENT_OWNER can arise even with a never-used object; ALREADY_USED is specifically prior membership.
The scope of the result is Windows Animation Manager : the same transition object was added where a fresh transition instance was required.
Do not AddRef the transition and assume reference counting permits multiple storyboard memberships.
Reusing one COM object across storyboards or after a completed storyboard has been released violates that one-membership lifecycle.
Минимальный trace
- animation manager/storyboard/transition identity и lifecycle generation.
- manager update time, schedule/status и callback ordering.
- точный IUIAnimation* method и первый HRESULT.
Для timeline ошибок фиксируйте update time и callback ordering: reentrancy или поздний update способны сделать старое действие недопустимым для уже изменившегося object state.
Причинная граница
Проверьте condition «transition / уже / использован» на том же API и object generation. Изменение одного prerequisite должно убрать этот HRESULT или сдвинуть первый отказ к другой конкретной границе.
Для «transition / уже / использован» сопоставьте storyboard/transition status и manager update time. Визуальное положение объекта не заменяет lifecycle-state, который Windows Animation Manager считает активным.
Подтверждение результата
Приведите storyboard/transition к состоянию, разрешающему операцию «transition / уже / использован», либо создайте новый объект для overlapping work; затем подтвердите поведение на том же animation timeline.
Технические ссылки
- Microsoft: Windows Animation error codes.
- Microsoft: IUIAnimationStoryboard interface.
- Microsoft: Windows Animation overview.
- Microsoft: Schedule a storyboard.
Нужно найти другой код? Найти другой код состояния или ошибки.
