Что означает код HRESULT 0xC00D36E9 (MF_E_PROPERTY_EMPTY)?

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

MF_E_PROPERTY_EMPTY

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

MF_E_PROPERTY_EMPTY (0xC00D36E9) — Указанное свойство пусто.

Это отличается от MF_E_PROPERTY_NOT_FOUND: здесь операция дошла до существующего свойства или результата чтения метаданных, но значение пусто там, где нужны реальные данные. Для PROPVARIANT пустое состояние обычно выражается типом VT_EMPTY.

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

Сохраните ключ свойства и полный PROPVARIANT, включая поле vt. Конкретный пример в Media Foundation — IMFMetadata::GetAllPropertyNames: при отсутствии доступных имён он возвращает VT_EMPTY, а при наличии — вектор строк.

Не подменяйте пустое значение состоянием «свойство отсутствует» без проверки контракта вызываемого API. Исправление должно либо заполнить обязательное значение в допустимом формате, либо обработать документированное пустое состояние как отдельный результат.

Документация для результата 0xC00D36E9: IMFMetadata::GetAllPropertyNames · PROPVARIANT · Wine: property HRESULT definitions.


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