Что означает код HRESULT 0xC00DA7FC (MF_E_INVALID_STREAM_STATE)?

 
Предыдущий Следующий
MF_E_STREAM_ERROR MF_E_HW_STREAM_NOT_CONNECTED

MF_E_INVALID_STREAM_STATE

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

MF_E_INVALID_STREAM_STATE (0xC00DA7FC) — Поток находится в состоянии, не позволяющем обработать запрос.

Этот HRESULT относится к состоянию конкретного потока, а не обязательно всего медиаисточника или медиасессии. Поток может быть ещё не запущен, уже остановлен, завершён, отключён либо находиться в переходе, тогда как объект верхнего уровня внешне выглядит готовым к работе.

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

Свяжите неуспешный метод с идентификатором потока и последними событиями именно этого потока. Полезно одновременно записывать события источника и сессии, но не подменять ими состояние потока: их очереди могут завершать асинхронные переходы в разное время.

Если поток реализован вашим компонентом, проверьте таблицу допустимых методов для каждого состояния и обработку запросов, уже находившихся в очереди при Stop, завершении потока или остановке объекта. Исправление подтверждается тем, что запрос отправляется только в состоянии, где его допускает контракт конкретного объекта потока, а не просто после изменения общего флага «воспроизведение запущено».

Документация для результата 0xC00DA7FC: Media sources · Writing a Custom Media Source.


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