| Предыдущий | Следующий |
| QPLIST_E_EXPECTING_CLOSE_PAREN | QPLIST_E_BAD_GUID |
QPLIST_E_EXPECTING_GUID
Практический смысл
Практический смысл QPLIST_E_EXPECTING_GUID (0X80041658): в определении свойства отсутствует GUID набора свойств. В трассировке отделяйте маркер «expecting guid» от последующих wrapper/UI ошибок: они могут появиться уже после первичной границы и не объясняют исходное состояние.
Свидетельства
До повторной попытки запишите файл/строку property list, текущий токен, DBTYPE и property spec. Для условия «в определении свойства отсутствует GUID набора свойств» эти данные важнее общего текста сообщения, потому что позволяют связать результат с конкретным владельцем операции.
- точную сериализованную строку/список свойств, реально переданный парсеру.
- позицию токена, quote/delimiter state, locale и code page.
- canonical property name/type и schema/catalog generation.
| Наблюдение | Что оно означает |
|---|---|
| Первый вызов возвращает QPLIST_E_EXPECTING_GUID | Граница «в определении свойства отсутствует GUID набора свойств» относится к текущему объекту и generation; сохраните это состояние до cleanup. |
| После одного целевого изменения код исчезает | Связь с условием «в определении свойства отсутствует GUID набора свойств» подтверждается только если остальные входы и owning context не изменились. |
| Первым становится другой HRESULT | Считайте его новой первичной границей; маркер «expecting guid» больше не должен подменять причину следующего отказа. |
Специфическая проверка для этого кода
Сохраните начало property definition и token, который parser получил вместо property-set GUID. Проверьте canonical GUID form и separators. Контроль — тот же property name/type с корректным GUID, не меняя propid.
Проверка одной переменной
Контрольный запуск должен воспроизводить «в определении свойства отсутствует GUID набора свойств» на тех же исходных данных. Затем исправьте отсутствующий или неверно расположенный токен в окончательной строке, не меняя locale и property schema. Если операция проходит прежнюю стадию, гипотеза локализована; если нет — вернитесь к первому HRESULT и сохранённым полям.
- Зафиксируйте первый
QPLIST_E_EXPECTING_GUIDи объект, которому принадлежит маркер «expecting guid». - Сохраните входные данные и lifecycle-state до изменения условия «в определении свойства отсутствует GUID набора свойств».
- Измените только состояние, связанное с «в определении свойства отсутствует GUID набора свойств», и выполните тот же вызов ещё раз.
Как подтвердить исправление
Не переписывайте весь property list: сначала сохраните строку, token offset, GUID/type и первый rejected field. Исправление считается реальным, когда прежняя граница «в определении свойства отсутствует GUID набора свойств» пройдена на сопоставимом входе, а не просто скрыта более общим сообщением.
Документация
- Microsoft: legacy Indexing Service error messages.
- Microsoft: OLE DB provider for Indexing Service.
- Microsoft: Windows Search SQL syntax.
- Microsoft: HRESULT values.
Нужно найти другой код? Найти другой код состояния или ошибки.