Что означает код HRESULT 0xC00D6D68 (MF_E_TRANSFORM_PROPERTY_NOT_WRITEABLE)?

 
Предыдущий Следующий
MF_E_TRANSFORM_PROPERTY_VARIANT_TYPE_WRONG MF_E_TRANSFORM_PROPERTY_ARRAY_VALUE_WRONG_NUM_DIM

MF_E_TRANSFORM_PROPERTY_NOT_WRITEABLE

Что означает MF_E_TRANSFORM_PROPERTY_NOT_WRITEABLE

MF_E_TRANSFORM_PROPERTY_NOT_WRITEABLE (0xC00D6D68) — Свойство MFT существует, но в текущем состоянии преобразования его нельзя изменять.

У ICodecAPI поддержка свойства и возможность изменить его — разные вопросы. Параметр может быть только для чтения или становиться неизменяемым после выбора типа мультимедиа, запуска обработки потока или другого этапа конфигурации.

Что проверить

  • Перед SetValue запросите ICodecAPI::IsModifiable, если конкретный кодек поддерживает этот метод.
  • Запишите, были ли уже установлены входной/выходной типы и началась ли обработка данных.
  • Отделяйте всегда свойства только для чтения от настроек, которые разрешено менять только до активации или начала обработки потока.
  • Успешный GetValue не доказывает возможность записи. Если параметр нужно задавать раньше, перенесите конфигурацию в правильный этап вместо повторов на активном MFT.

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


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