Что означает код HRESULT 0x80040232 (VFW_E_NOT_ALLOWED_TO_SAVE)?

 
Также может означать:
КонстантаТипОС
TPC_E_NOT_RELEVANTHRESULTWindows
Предыдущий Следующий
TPC_E_NOT_RELEVANT TPC_E_INVALID_PACKET_DESCRIPTION

VFW_E_NOT_ALLOWED_TO_SAVE

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

VFW_E_NOT_ALLOWED_TO_SAVE (0X80040232) — результат DirectShow. Исходное описание: AllStat records its meaning as “Updates are not allowed in this state”.. Здесь требуется проверка конкретной границы DirectShow, а не общий поиск отсутствующего codec или filter.

Конкретные признаки контракта

  • Evidence to collect Capture 2 for this result: active filters, devices and outstanding samples.
  • Evidence to collect Capture 3 for this result: serialization method and object being persisted.
  • Correction and retry boundary Corrective action 3 for this result: save only supported graph or component state.
  • Correction and retry boundary Corrective action 2 for this result: release transient resources not part of the persisted topology.
  • Correction and retry boundary Corrective action 1 for this result: stop and stabilize the graph before saving.
  • Meaning and numerical form VFW_E_NOT_ALLOWED_TO_SAVE is HRESULT 2147746354 ( 0x80040232 ; signed -2147220942). AllStat records its meaning as “Updates are not allowed in this state”. In practical terms, it is returned when a DirectShow graph or filter configuration cannot be persisted while it is in the current state.
  • Practical scenario An application saves a graph immediately after issuing Stop without waiting for completion; waiting for the stopped state removes 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 до и после исправления.

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


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