| Предыдущий | Следующий |
| MF_E_MULTIPLE_SUBSCRIBERS | MF_E_STATE_TRANSITION_PENDING |
MF_E_TIMER_ORPHANED
Что означает MF_E_TIMER_ORPHANED
MF_E_TIMER_ORPHANED (0xC00D36DB) — Таймер был оставлен без владельца до наступления времени обратного вызова.
Результат 0xC00D36DB пришёл из подсистемы «COM/WinRT» при работе с областью «контракт вызываемого interface, аргументы и state объекта». Для сообщения «таймер был оставлен без владельца до наступления времени обратного вызова» практический предмет проверки — «mf, timer, orphaned».
Что проверить и как подтвердить исправление
Первый шаг — сопоставьте первый отказ с фактическими параметрами операции. Когда при 0xC00D36DB система сообщает «таймер был оставлен без владельца до наступления времени обратного вызова», воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.
Для воспроизведения 0xC00D36DB сохраните IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите IMFTimer::SetTimer, ID, IMFTimer::CancelTimer. По теме «mf, timer, orphaned» для 0xC00D36DB сравните эти данные с исправным запуском до очистки журналов или пересоздания объекта.
Практическое исправление для 0xC00D36DB: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. В контексте условия «таймер был оставлен без владельца до наступления времени обратного вызова» для 0xC00D36DB оно должно устранить подтверждённую причину, а не скрыть исходный HRESULT.
Подтвердите изменение повтором исходной операции: результат 0xC00D36DB не должен возникать на исправном объекте, но прежний отрицательный контроль обязан оставаться предсказуемым.
Документация для результата 0xC00D36DB: IMFTimer::SetTimer · IMFTimer::CancelTimer · EVR presenter scheduling.
Нужно найти другой код? Найти другой код состояния или ошибки.