| Предыдущий | Следующий |
| QUERY_E_DUPLICATE_OUTPUT_COLUMN | QUERY_E_INVALID_DIRECTORY |
QUERY_E_INVALID_OUTPUT_COLUMN
Что именно отказало
Практический смысл QUERY_E_INVALID_OUTPUT_COLUMN (0X80041609): один из выходных столбцов неизвестен или недоступен. В трассировке отделяйте маркер «invalid output column» от последующих wrapper/UI ошибок: они могут появиться уже после первичной границы и не объясняют исходное состояние.
Данные до повторной попытки
До повторной попытки запишите query scope, restriction/sort/output columns, catalog state и locale/code page. Для условия «один из выходных столбцов неизвестен или недоступен» эти данные важнее общего текста сообщения, потому что позволяют связать результат с конкретным владельцем операции.
- точную сериализованную строку/список свойств, реально переданный парсеру.
- позицию токена, quote/delimiter state, locale и code page.
- canonical property name/type и schema/catalog generation.
| Наблюдение | Что оно означает |
|---|---|
| Первый вызов возвращает QUERY_E_INVALID_OUTPUT_COLUMN | Граница «один из выходных столбцов неизвестен или недоступен» относится к текущему объекту и generation; сохраните это состояние до cleanup. |
| После одного целевого изменения код исчезает | Связь с условием «один из выходных столбцов неизвестен или недоступен» подтверждается только если остальные входы и owning context не изменились. |
| Первым становится другой HRESULT | Считайте его новой первичной границей; маркер «invalid output column» больше не должен подменять причину следующего отказа. |
Изолированный тест
Контрольный запуск должен воспроизводить «один из выходных столбцов неизвестен или недоступен» на тех же исходных данных. Затем исправьте только поле, структуру, token или registration value, которое отклонил компонент. Если операция проходит прежнюю стадию, гипотеза локализована; если нет — вернитесь к первому HRESULT и сохранённым полям.
- Зафиксируйте первый
QUERY_E_INVALID_OUTPUT_COLUMNи объект, которому принадлежит маркер «invalid output column». - Сохраните входные данные и lifecycle-state до изменения условия «один из выходных столбцов неизвестен или недоступен».
- Измените только состояние, связанное с «один из выходных столбцов неизвестен или недоступен», и выполните тот же вызов ещё раз.
Что не стоит смешивать
Не пересоздавайте catalog до проверки restriction/sort/output scope, действительно вернувшего этот код. Исправление считается реальным, когда прежняя граница «один из выходных столбцов неизвестен или недоступен» пройдена на сопоставимом входе, а не просто скрыта более общим сообщением.
Документация
- Microsoft: Indexing Service query-execution values.
- Microsoft: Windows Search SQL syntax.
- Microsoft: OLE DB provider for Indexing Service.
- Microsoft: ISearchQueryHelper.
Нужно найти другой код? Найти другой код состояния или ошибки.
