Что означает код HRESULT 0xC00D36E6 (MF_E_ATTRIBUTENOTFOUND)?

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

MF_E_ATTRIBUTENOTFOUND

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

MF_E_ATTRIBUTENOTFOUND (0xC00D36E6) — Запрошенный атрибут не найден.

IMFAttributes хранит атрибуты как пары «GUID-ключ → значение». Этот HRESULT означает, что в конкретном объекте нет записи с запрошенным ключом; отсутствие атрибута само по себе не говорит о повреждении объекта или медиаданных.

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

Сначала запишите точный GUID-ключ и тип объекта, у которого выполняется запрос. Набор атрибутов зависит от типа объекта, согласованного типа мультимедиа, формата источника и параметров создания, поэтому один и тот же ключ может быть обязательным для одного объекта и отсутствовать у другого.

Если код перечисляет атрибуты по индексам, не смешивайте перечисление с параллельными изменениями хранилища: используйте документированную блокировку LockStore/UnlockStore либо снимайте согласованную копию. Исправление должно либо использовать правильный ключ/объект, либо явно обрабатывать допустимое отсутствие необязательного атрибута.

Документация для результата 0xC00D36E6: IMFAttributes::GetItemType · Attributes in Media Foundation · Wine: IMFAttributes definition.


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