Что означает код HRESULT 0xC00D36D7 (MF_E_NO_CLOCK)?

 
Предыдущий Следующий
MF_E_NOT_AVAILABLE MF_E_MULTIPLE_BEGIN

MF_E_NO_CLOCK

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

MF_E_NO_CLOCK (0xC00D36D7) — Для операции требуются часы, но они недоступны.

При результате 0xC00D36D7 граница диагностики проходит внутри подсистемы «COM/WinRT», в области «контракт вызываемого interface, аргументы и state объекта». Здесь сообщение «для операции требуются часы, но они недоступны» связано с темой «mf, отсутствие, clock».

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

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

Перед повтором 0xC00D36D7 зафиксируйте IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите IMFMediaSession::GetClock. Различия по теме «mf, отсутствие, clock» для 0xC00D36D7 покажут, изменился ли первый неуспешный этап.

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

Закройте диагностику после двух проверок: исходный сценарий проходит без результата 0xC00D36D7, а заведомо неверный вход отклоняется на ожидаемой границе.

Документация для результата 0xC00D36D7: presentation clock · IMFMediaSession::GetClock · Source Reader timing limitations.


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