Site icon EfmSoft

Что означает код HRESULT 0x80041736 (FILTER_E_ALREADY_OPEN)?

 
Предыдущий Следующий
FILTER_E_TOO_BIG FILTER_E_UNREACHABLE

FILTER_E_ALREADY_OPEN

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

FILTER_E_ALREADY_OPEN (0x80041736) — экземпляр фильтра уже обслуживает один документ, поэтому открыть в нём второй документ нельзя.

IFilter — COM-интерфейс, через который Windows Search и старые службы индексирования получают из документа текст и свойства. Фильтр выдаёт содержимое последовательностью chunks: после GetChunk тип текущего фрагмента определяет, нужно ли читать его через GetText или GetValue.

Что проверить

  • Проследите жизненный цикл одного экземпляра фильтра: открытие первого документа, завершение/сброс и попытку открыть второй.
  • Проверьте pool объектов и обработку исключений/отмены: экземпляр мог вернуться в pool с незакрытым предыдущим состоянием.
  • Исключите одновременное использование одного экземпляра с внутренним состоянием двумя потоками или задачами.

Что делать

Закройте или сбросьте текущий документ либо создайте новый экземпляр фильтра. Повторять второе открытие на неизменённом объекте бессмысленно.

Как интерпретировать результат

Это не означает, что файл занят другим процессом. Для внешней блокировки существует отдельный FILTER_E_IN_USE.

Технические ссылки


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

Exit mobile version