Что означает код HRESULT 0x80040227 (VFW_E_WRONG_STATE)?

 
Предыдущий Следующий
VFW_E_NOT_RUNNING VFW_E_START_TIME_AFTER_END

VFW_E_WRONG_STATE

Что означает результат

VFW_E_WRONG_STATE: Фильтр DirectShow находится в состоянии, в котором запрошенный метод по контракту выполнять нельзя. Причина определяется конкретным методом и текущим переходом Run/Pause/Stop.

Что проверить

  • Зафиксируйте метод, фактическое и ожидаемое состояние объекта.
  • Проверьте предыдущий управляющий вызов и дождитесь его завершения вместо предположения, что состояние изменилось синхронно.
  • Исключите параллельный Run, Pause, Stop или динамическую перестройку из другого потока.
  • Не продолжайте использовать объект после отдельной terminal ошибки, если его состояние уже требует нового жизненного цикла.

Диагностика и исправление

Перенесите операцию в разрешённую фазу жизненного цикла и повторите после подтверждения состояния. Пересоздание всего graph требуется только если предыдущая ошибка действительно сделала объект непригодным.

Технические ссылки


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