Что означает код HRESULT 0xC00D36E2 (MF_E_INVALID_KEY)?

 
Предыдущий Следующий
MF_E_SAMPLE_NOT_WRITABLE MF_E_BAD_STARTUP_VERSION

MF_E_INVALID_KEY

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

MF_E_INVALID_KEY (0xC00D36E2) — Указан недопустимый ключ.

Media Foundation широко использует ключи, но не все они имеют одинаковую форму. В IMFAttributes ключом служит GUID, а система свойств Windows (Windows Property System) использует PROPERTYKEY, состоящий из GUID формата и числового идентификатора свойства. Подмена одной модели ключа другой может быть отвергнута ещё до проверки значения.

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

Сохраните ключ в исходном бинарном виде и имя первого метода, который его отклонил. Для стандартного атрибута не генерируйте GUID заново и не используйте отображаемое имя вместо документированной константы; для PROPERTYKEY проверяйте одновременно обе его части.

Не пытайтесь исправлять такой HRESULT изменением типа или содержимого значения, пока не подтверждена допустимость самого ключа. После исправления тот же метод должен принимать тот же объект с документированным ключом без преобразований между PROPERTYKEY и GUID атрибута.

Документация для результата 0xC00D36E2: IMFAttributes GUID keys · PROPERTYKEY structure · Wine: IMFAttributes keyed methods.


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