Что означает код HRESULT 0x80041702 (FILTER_E_NO_MORE_VALUES)?

 
Предыдущий Следующий
FILTER_E_NO_MORE_TEXT FILTER_E_ACCESS

FILTER_E_NO_MORE_VALUES

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

FILTER_E_NO_MORE_VALUES (0x80041702) — В текущем фрагменте больше нет значений свойств.

При результате 0x80041702 граница диагностики проходит внутри подсистемы «COM/WinRT», в области «контракт вызываемого interface, аргументы и state объекта». Здесь сообщение «в текущем фрагменте больше нет значений свойств» связано с темой «фильтр, отсутствие, more, values».

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

Первый шаг — сопоставьте первый отказ с фактическими параметрами операции. Когда при 0x80041702 система сообщает «в текущем фрагменте больше нет значений свойств», воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.

Сопоставьте с результатом 0x80041702 следующие данные: IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите HRESULT, IFilter::GetValue, IFilter, ID, IFilter::GetChunk. До исправления 0x80041702 сохраните исходное состояние объекта по теме «фильтр, отсутствие, more, values».

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

Закройте диагностику после двух проверок: исходный сценарий проходит без результата 0x80041702, а заведомо неверный вход отклоняется на ожидаемой границе.

Документация для результата 0x80041702: Filter-Interface values · IFilter::GetValue · IFilter::GetChunk.


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