Что означает код HRESULT 0xC8000415 (hrInvalidBookmark)?

 
Предыдущий Следующий
hrInvalidFilename hrColumnInUse

hrInvalidBookmark

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

hrInvalidBookmark (0xC8000415) — недопустимая закладка.

Это старый HRESULT-вариант результата ESE (расширяемый механизм хранения, ESENT); в JET API соответствующее условие известно как JET_errInvalidBookmark.

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

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

Практический смысл и диагностика

  • Переданный ESE bookmark нельзя интерпретировать в текущем table/index context.
  • `hrNoCurrentRecord` относится к позиции курсора; здесь недопустим именно токен закладки для состояния этой таблицы/сеанса.
  • Проверьте последовательность `JetMove`, `JetSeek`, `JetGetBookmark`, `JetGotoBookmark`, `JetPrepareUpdate`, `JetUpdate` и `JetDelete`.
  • Считайте закладки непрозрачными значениями, привязанными к таблице; после перестроения, восстановления или изменения схемы/индекса получайте их заново.

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


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