Что означает код HRESULT 0xC00D4655 (MF_E_INDEX_NOT_COMMITTED)?

 
Предыдущий Следующий
MF_E_INVALID_PROFILE MF_E_NO_INDEX

MF_E_INDEX_NOT_COMMITTED

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

MF_E_INDEX_NOT_COMMITTED (0xC00D4655) — Создаваемый индекс необходимо зафиксировать до выполнения операции.

Это ошибка порядка вызовов IMFASFIndexer в режиме записи. Создание индексных записей и получение готового сериализованного индекса — разные стадии; между ними требуется фиксация через CommitIndex.

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

После передачи всех нужных ASF-пакетов в GenerateIndexEntries вызовите CommitIndex. Только затем вызывайте GetIndexWriteSpace или GetCompletedIndex; повтор этих методов до фиксации всегда остаётся неправильной последовательностью.

После записи готового индекса обновите объект заголовка ASF через IMFASFContentInfo::GenerateHeader. Не трактуйте HRESULT как «индекс отсутствует»: индексатор мог уже собрать все записи, но вы ещё не завершили стадию фиксации.

Документация для результата 0xC00D4655: GetCompletedIndex and commit requirement · IMFASFIndexer write-mode methods · Wine Media Foundation HRESULT definitions.


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