Что означает код HRESULT 0xC00D36DC (MF_E_STATE_TRANSITION_PENDING)?

 
Предыдущий Следующий
MF_E_TIMER_ORPHANED MF_E_UNSUPPORTED_STATE_TRANSITION

MF_E_STATE_TRANSITION_PENDING

Что означает MF_E_STATE_TRANSITION_PENDING

MF_E_STATE_TRANSITION_PENDING (0xC00D36DC) — Переход в другое состояние уже ожидает выполнения.

В подсистеме «COM/WinRT» результат 0xC00D36DC относится к области «контракт вызываемого interface, аргументы и state объекта». Описание «переход в другое состояние уже ожидает выполнения» сужает проверку до темы «mf, состояние, переход состояния, pending».

Что проверить и как подтвердить исправление

В первую очередь разделите ожидание очереди, работу компонента и зависимый ввод-вывод. Для 0xC00D36DC в сценарии «переход в другое состояние уже ожидает выполнения» разделите ожидание очереди, работу компонента и зависимый ввод-вывод; повторяйте только после наблюдаемого изменения нагрузки или состояния.

Чтобы локализовать 0xC00D36DC, соберите IID и method, thread/apartment, argument values, object state и исходный HRESULT. Затем для 0xC00D36DC сравните исправный и неуспешный запуск в части «mf, состояние, переход состояния, pending», меняя одно условие за раз.

Практическое исправление для 0xC00D36DC: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. В контексте условия «переход в другое состояние уже ожидает выполнения» для 0xC00D36DC оно должно устранить подтверждённую причину, а не скрыть исходный HRESULT.

Считайте исправление подтверждённым только после устойчивого повтора исходного сценария без результата 0xC00D36DC и без обхода штатных проверок.

Документация для результата 0xC00D36DC: controlling presentation states · Media Session event handling.


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