| Предыдущий | Следующий |
| VFW_E_DDRAW_VERSION_NOT_SUITABLE | VFW_E_TIME_EXPIRED |
VFW_E_COPYPROT_FAILED
Практический смысл
VFW_E_COPYPROT_FAILED (0X8004027D) относится к DirectShow filter graph. Конкретный признак: сбой согласования copy-protection. Смысл кода следует проверять на том объекте и generation, где он был возвращён впервые.
Это failure HRESULT; успешность следующего шага подтверждайте отдельным результатом, а не отсутствием исключения в верхнем слое. В первую очередь проверяйте конкретный stage filter graph: pin negotiation, media type, allocator, renderer, source filter или graph lifecycle. Не переносите вывод с соседнего HRESULT только потому, что у него тот же facility или общий компонент.
Специфичные признаки исходного описания
How it differs from nearby results VFW_E_NO_COPP_HW says COPP support is unavailable, while it can describe a failed protection setup even when protection-capable components are present.
Implementation notes Code that handles it should preserve the original HRESULT, the failed stage and an opaque correlation identifier.
Exact result and bit fields VFW_E_COPYPROT_FAILED has the unsigned HRESULT value 2147746429 ( 0x8004027D ) and the signed 32-bit representation -2147220867.
Conditions that can produce it Cause 1 for this result: another protected playback session occupies a scarce legacy resource.
Что сохранить до исправления
- interface/method и CLSID первого компонента, вернувшего HRESULT
- graph state, pin names и negotiated media type
- allocator/renderer/device state и первый preceding HRESULT
Как проверить границу
Если состояние исчезает после повторной enumeration, отдельно проверьте race между получением объекта и вызовом метода. Для состояния «сбой согласования copy-protection» сначала воспроизведите минимальную операцию без параллельных изменений конфигурации, затем сравните before/after evidence.
Исправление и повтор
Исправляйте только подтверждённый prerequisite на уровне DirectShow filter graph: входной параметр, capability, object state, provider/graph topology или внешний ресурс. После изменения заново получите актуальные объекты, если их состояние могло устареть, и повторите исходный минимальный вызов.
Технические ссылки
- Microsoft: DirectShow error and success codes.
- Microsoft: using COPP.
- Microsoft: validating a COPP certificate chain.
Нужно найти другой код? Найти другой код состояния или ошибки.