Что означает код HRESULT 0xC00D4656 (MF_E_NO_INDEX)?

 
Предыдущий Следующий
MF_E_INDEX_NOT_COMMITTED MF_E_CANNOT_INDEX_IN_PLACE

MF_E_NO_INDEX

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

MF_E_NO_INDEX (0xC00D4656) — Не найден индекс, необходимый для выполнения операции.

Результат 0xC00D4656 пришёл из подсистемы «COM/WinRT» при работе с областью «контракт вызываемого interface, аргументы и state объекта». Для сообщения «не найден индекс, необходимый для выполнения операции» практический предмет проверки — «mf, отсутствие, индекс».

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

В первую очередь сопоставьте первый отказ с фактическими параметрами операции. Для 0xC00D4656 в сценарии «не найден индекс, необходимый для выполнения операции» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.

Диагностика 0xC00D4656 должна включать IID и method, thread/apartment, argument values, object state и исходный HRESULT. Для темы «mf, отсутствие, индекс» при 0xC00D4656 важны значения именно на первом отказе, а не после обработки ошибки верхним уровнем.

Исправляя 0xC00D4656, меняйте только подтверждённую причину: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. Результат 0xC00D4656 с описанием «не найден индекс, необходимый для выполнения операции» должен исчезнуть на исходных данных без обхода штатной проверки.

Повторите операцию в том же окружении и сравните первый отличающийся вызов; для результата 0xC00D4656 это надёжнее единичного успеха на других данных.

Документация для результата 0xC00D4656: Media Foundation architecture · Media Foundation error codes · ASF media source.


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