| Предыдущий | Следующий |
| VFW_E_NO_PALETTE_AVAILABLE | TPC_E_INVALID_STROKE |
VFW_E_NO_DISPLAY_PALETTE
Практический смысл
VFW_E_NO_DISPLAY_PALETTE (0X80040221) — результат DirectShow. Исходное описание: AllStat records its meaning as “Display does not use a palette”.
. Этот результат локализуйте по interface и состоянию graph непосредственно в момент первого возврата.
Конкретные признаки контракта
- Evidence to collect
Capture 1 for this result: current display format and color depth.
- Correction and retry boundary
Corrective action 3 for this result: refresh display capabilities after mode or adapter changes.
- Meaning and numerical form
VFW_E_NO_DISPLAY_PALETTE is HRESULT 2147746337 ( 0x80040221 ; signed -2147220959). AllStat records its meaning as “Display does not use a palette”. In practical terms, it is returned when a palette-specific DirectShow operation is requested on a display mode that does not use a hardware palette.
- Correction and retry boundary
Corrective action 1 for this result: skip palette operations on true-color displays.
- Likely causes
Possible cause 1 for this result: legacy code assumes an indexed-color desktop.
- Likely causes
Possible cause 3 for this result: renderer selection no longer exposes palette management.
- Practical scenario
A legacy player runs unchanged on a true-color desktop and calls palette-management methods; capability gating prevents it. The result scenario narrows the result to a reproducible contract boundary and supplies a concrete before-and-after test.
Что проверить в trace
Сохраните exact method, filter CLSID/friendly name, connected pins, media type, graph state и generation, clock/rate либо sample timestamps, если они участвуют в этой операции. Для persisted data дополнительно фиксируйте offending field или byte range, а для renderer/device path — выбранный hardware capability.
Как отделить этот случай от соседних
Сопоставьте каждый приведённый выше признак с фактическим вызовом. Если условие из исходного контракта не выполняется, не переносите recovery от другого VFW-кода. Если после rebuild или re-enumeration результат исчезает, отдельно проверьте stale object, race и изменение topology.
Исправление и подтверждение
Меняйте только подтверждённую причину: входной параметр, media type, timing, filter connection, renderer/device capability, persisted field или текущее состояние graph. После изменения повторите тот же минимальный сценарий и сравните topology и первый HRESULT до и после исправления.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
