| Предыдущий | Следующий |
| 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 не является прямым исправлением.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.