| Предыдущий | Следующий |
| FILTER_E_IN_USE | FILTER_E_NO_SUCH_PROPERTY |
FILTER_E_NOT_OPEN
Что означает FILTER_E_NOT_OPEN
FILTER_E_NOT_OPEN (0x80041739) — операция чтения фильтра вызвана, когда в этом экземпляре нет открытого документа.
IFilter — COM-интерфейс, через который Windows Search и старые службы индексирования получают из документа текст и свойства. Фильтр выдаёт содержимое последовательностью chunks: после GetChunk тип текущего фрагмента определяет, нужно ли читать его через GetText или GetValue.
Что проверить
- Запишите последовательность open/init/read/close для одного экземпляра и первый метод, вернувший этот HRESULT.
- Проверьте ветви отмены и ошибок: cleanup мог закрыть объект раньше, чем завершился потребитель.
- Исключите гонку между потоком чтения и потоком, который сбрасывает или возвращает экземпляр в pool.
Что делать
Восстановите правильный жизненный цикл объекта; простой повтор GetChunk/GetText без повторного открытия не исправит состояние.
Как интерпретировать результат
Это противоположная жизненный цикл-ошибка по отношению к FILTER_E_ALREADY_OPEN.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.