Что означает код HRESULT 0xC00D36E8 (MF_E_PROPERTY_TYPE_NOT_SUPPORTED)?

 
Предыдущий Следующий
MF_E_PROPERTY_TYPE_NOT_ALLOWED MF_E_PROPERTY_EMPTY

MF_E_PROPERTY_TYPE_NOT_SUPPORTED

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

MF_E_PROPERTY_TYPE_NOT_SUPPORTED (0xC00D36E8) — Указанный тип свойства не поддерживается.

Здесь важен точный VARTYPE в PROPVARIANT. система свойств Windows умеет хранить широкий набор типов, тогда как IMFAttributes и отдельные обработчики метаданных сознательно поддерживают более узкий набор.

Что проверить и как подтвердить исправление

Запишите ключ свойства и PROPVARIANT.vt до любого преобразования. Для атрибутов Media Foundation учитывайте, что штатные значения ограничены UINT32, UINT64, double, GUID, строкой, массивом байтов и IUnknown; допустимость остальных форм зависит от конкретного API.

Не считайте синтаксически корректный PROPVARIANT доказательством поддержки его типа. Исправление — передать тип, который разрешён именно этим компонентом, либо выбрать другой API или другой механизм работы с метаданными, поддерживающий нужную форму данных.

Документация для результата 0xC00D36E8: PROPVARIANT structure · allowed IMFAttributes value types · Wine: MF_ATTRIBUTE_TYPE mapping.


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