Site icon EfmSoft

Что означает код HRESULT 0xC00D6D69 (MF_E_TRANSFORM_PROPERTY_ARRAY_VALUE_WRONG_NUM_DIM)?

 
Предыдущий Следующий
MF_E_TRANSFORM_PROPERTY_NOT_WRITEABLE MF_E_TRANSFORM_PROPERTY_VALUE_SIZE_WRONG

MF_E_TRANSFORM_PROPERTY_ARRAY_VALUE_WRONG_NUM_DIM

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

MF_E_TRANSFORM_PROPERTY_ARRAY_VALUE_WRONG_NUM_DIM (0xC00D6D69) — Массив в значении свойства MFT имеет неправильное число измерений.

Свойства кодека часто передаются через VARIANT, а массивы — через SAFEARRAY. Размер массива в байтах и число элементов не описывают его форму полностью: одномерный список и двумерная матрица с тем же количеством элементов имеют разные дескрипторы.

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

  • Запишите VARIANT.vt, флаг массива и тип элементов перед вызовом свойства.
  • Через SafeArrayGetDim получите число измерений, а через SafeArrayGetLBound/SafeArrayGetUBound — границы каждого из них.
  • Сравните форму массива с документацией именно этого GUID свойства или с корректным значением, возвращённым тем же MFT.
  • Не увеличивайте просто число байтов: неправильное число измерений находится в дескрипторе SAFEARRAY, а не в размере выделенной памяти.

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


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

Exit mobile version