Что означает код HRESULT 0xC00D36EB (MF_E_PROPERTY_VECTOR_NOT_ALLOWED)?

 
Предыдущий Следующий
MF_E_PROPERTY_NOT_EMPTY MF_E_PROPERTY_VECTOR_REQUIRED

MF_E_PROPERTY_VECTOR_NOT_ALLOWED

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

MF_E_PROPERTY_VECTOR_NOT_ALLOWED (0xC00D36EB) — Векторное свойство недопустимо в этом контексте.

В Windows Property System многозначные свойства представлены PROPVARIANT с флагом VT_VECTOR. Этот HRESULT означает несоответствие формы значения: передан вектор, а целевое свойство или текущий контекст работы с метаданными ожидает одно значение.

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

Запишите полный VARTYPE из поля vt, ключ свойства и число элементов. Не преобразуйте список в строку с разделителями: это меняет модель данных и может скрыть ошибку только для одного обработчика.

Если свойство по схеме действительно однозначное, создайте скалярный PROPVARIANT требуемого типа. Если данные по смыслу многозначные, используйте свойство, которое объявлено как многозначное, либо исправьте описание/обработчик свойства вместо обхода проверки.

Документация для результата 0xC00D36EB: PROPDESC_TYPE_FLAGS · IMFMetadata::SetProperty · Wine: Media Foundation property HRESULTs.


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