| Предыдущий | Следующий |
| CI_E_USE_DEFAULT_PID | CI_E_UPDATES_DISABLED |
CI_E_DUPLICATE_NOTIFICATION
CI_E_DUPLICATE_NOTIFICATION: граница сбоя, проверка и исправление
CI_E_DUPLICATE_NOTIFICATION имеет значение 0x80041817 (-2147215337 в знаковом 32-битном представлении). Для одного и того же идентификатора работы получено два уведомления.
Для CI_E_DUPLICATE_NOTIFICATION старший бит HRESULT делает значение ошибкой. Константа CI_E_DUPLICATE_NOTIFICATION объявлена в Indexing Service и относится к области «Windows Search и служба индексирования».
Где проходит граница ошибки
Для CI_E_DUPLICATE_NOTIFICATION код относится к поисковому каталогу, фильтрации документов или выполнению запроса индексатора. Для CI_E_DUPLICATE_NOTIFICATION важно различать повреждение каталога, ошибку фильтра, некорректное состояние транзакции и ограничение запроса: одинаковое внешнее проявление требует разных действий.
Для CI_E_DUPLICATE_NOTIFICATION не следует начинать с очистки состояния или переустановки компонента. Для CI_E_DUPLICATE_NOTIFICATION сначала необходимо привязать результат к одному вызову, объекту и поколению его состояния.
В имени CI_E_DUPLICATE_NOTIFICATION закодированы ориентиры для расследования: DUPLICATE — технический признак «duplicate»; NOTIFICATION — технический признак «notification». Для CI_E_DUPLICATE_NOTIFICATION эти ориентиры задают конкретный предмет проверки, но не заменяют контракт вызвавшего API.
Что означает код: признаки в имени константы
При разборе CI_E_DUPLICATE_NOTIFICATION обозначение DUPLICATE связывает код с темой «технический признак «duplicate»». До повторной проверки CI_E_DUPLICATE_NOTIFICATION сохраните входные данные без нормализации.
Для CI_E_DUPLICATE_NOTIFICATION часть NOTIFICATION относится к области «технический признак «notification»». При разборе CI_E_DUPLICATE_NOTIFICATION проверьте, какое состояние этого объекта ожидалось и какое наблюдалось реально.
Что сохранить до изменений
- До повторной попытки по
CI_E_DUPLICATE_NOTIFICATIONнужно сохранить события Windows Search и журнал фильтрации для проблемного документа. - Для воспроизводимого отчёта по
CI_E_DUPLICATE_NOTIFICATIONнужно сохранить идентификатор work item, транзакции или уведомления, если он доступен.
Последовательность проверки
- Для
CI_E_DUPLICATE_NOTIFICATION: Определить, код возник при индексировании, обслуживании каталога или выполнении запроса; сохраните первый hresult и точное время результата. - Для
CI_E_DUPLICATE_NOTIFICATION: Проверить состояние службы и каталога до удаления либо перестроения индекса; отдельно отметьте изменение состояния объекта. - Для
CI_E_DUPLICATE_NOTIFICATION: Воспроизвести проблему на одном документе или минимальном запросе; все остальные условия оставьте неизменными. - Для
CI_E_DUPLICATE_NOTIFICATION: Проверить фильтр и обработчик свойств отдельно от поискового приложения; не удаляйте исходные данные до завершения сравнения. - Для
CI_E_DUPLICATE_NOTIFICATION: После исправления дождаться завершения индексации и повторить исходный запрос; повторите шаг на исправном контрольном примере.
Исправление и подтверждение результата
Корректирующее действие для CI_E_DUPLICATE_NOTIFICATION должно устранять условие «Для одного и того же идентификатора работы получено два уведомления» на уровне Windows Search и служба индексирования. Для CI_E_DUPLICATE_NOTIFICATION простое подавление HRESULT, бесконечный повтор или очистка всех настроек не доказывают восстановление контракта.
Для CI_E_DUPLICATE_NOTIFICATION после изменения повторите первоначальный сценарий, затем воспроизведите ближайшее ошибочное условие. Для CI_E_DUPLICATE_NOTIFICATION это подтверждает, что устранена причина, а не только изменён путь обработки ошибки.
Технические ссылки
- Microsoft: Microsoft: content-indexing helper-function values — CI_E_DUPLICATE_NOTIFICATION
- Microsoft: Microsoft: Content-Indexing values — CI_E_DUPLICATE_NOTIFICATION
- Microsoft: значения HRESULT — CI_E_DUPLICATE_NOTIFICATION
- Microsoft: Microsoft: Windows Search SQL syntax — CI_E_DUPLICATE_NOTIFICATION
- Обзор Windows Search — CI_E_DUPLICATE_NOTIFICATION
Нужно найти другой код? Найти другой код состояния или ошибки.