Что означает код HRESULT 0x80040279 (VFW_E_DVD_GRAPHNOTREADY)?

 
Предыдущий Следующий
VFW_E_DVD_NO_BUTTON VFW_E_DVD_RENDERFAIL

VFW_E_DVD_GRAPHNOTREADY

Практический смысл

VFW_E_DVD_GRAPHNOTREADY (0X80040279) относится к DirectShow DVD Navigator. Конкретный признак: DVD filter graph ещё не готов. Смысл кода следует проверять на том объекте и generation, где он был возвращён впервые.

Это failure HRESULT; успешность следующего шага подтверждайте отдельным результатом, а не отсутствием исключения в верхнем слое. В первую очередь проверяйте DVD domain/navigation state, authored restrictions, decoder/renderer topology и текущую команду IDvdControl2. Не переносите вывод с соседнего HRESULT только потому, что у него тот же facility или общий компонент.

Специфичные признаки исходного описания

  • How it differs from nearby results VFW_E_DVD_RENDERFAIL says graph construction failed, while it says the requested operation arrived before a usable graph exists.
  • DVD state is authored and stateful: domains, user-operation controls, titles, menus, streams, command objects and graph construction each impose different preconditions.
  • identify the exact graph stage described here: DVD navigation or information is requested before the DVD-Video playback graph has been built successfully.
  • Keep those cases separate in telemetry, UI messages and retry policy because their next actions are different.

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

  • текущий DVD_DOMAIN и последовательность domain-change событий
  • title/chapter/menu/stream identity и user-operation flags
  • decoder/renderer inventory, graph generation и первый HRESULT

Как проверить границу

Если состояние исчезает после повторной enumeration, отдельно проверьте race между получением объекта и вызовом метода. Для состояния «DVD filter graph ещё не готов» сначала воспроизведите минимальную операцию без параллельных изменений конфигурации, затем сравните before/after evidence.

Исправление и повтор

Исправляйте только подтверждённый prerequisite на уровне DirectShow DVD Navigator: входной параметр, capability, object state, provider/graph topology или внешний ресурс. После изменения заново получите актуальные объекты, если их состояние могло устареть, и повторите исходный минимальный вызов.

Проверка готовности DVD graph

Здесь проблема не в отсутствии decoder как такового: приложение обращается к navigation/info API до завершения построения DVD-Video graph. Сохраните момент вызова относительно RenderDvdVideoVolume, состояние graph и результат build-операции. Если build ещё выполняется или завершился другой ошибкой, сначала получите его терминальный результат. Повтор navigation-команды имеет смысл только после перехода graph в готовое состояние; установка дополнительных декодеров без такого evidence не является прямым исправлением.

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


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