Что означает код HRESULT 0x80041706 (FILTER_E_NO_VALUES)?

 
Предыдущий Следующий
FILTER_E_NO_TEXT FILTER_E_EMBEDDING_UNAVAILABLE

FILTER_E_NO_VALUES

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

FILTER_E_NO_VALUES (0x80041706) — В текущем фрагменте нет значений.

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

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

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

Перед повтором 0x80041706 зафиксируйте IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите HRESULT, IFilter::GetValue, IFilter, ID, IFilter::GetChunk. Различия по теме «фильтр, отсутствие, values» для 0x80041706 покажут, изменился ли первый неуспешный этап.

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

После исправления повторите тот же вызов на прежних данных; у результата 0x80041706 должен измениться первый неуспешный этап, а не только последующее сообщение.

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


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