Что означает код NTSTATUS 0xC0000273 (STATUS_NO_MORE_MATCHES)?

 
Предыдущий Следующий
STATUS_NO_MATCH STATUS_NOT_A_REPARSE_POINT

STATUS_NO_MORE_MATCHES

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

STATUS_NO_MORE_MATCHES означает, что при текущем перечислении индекса больше нет элементов, удовлетворяющих условиям поиска. Для API перечисления это может быть нормальным терминальным результатом, а не признаком повреждения индекса.

Если статус ожидаем

Завершите enumeration и используйте уже полученные элементы. Повтор того же запроса с тем же cursor обычно снова приведёт к отсутствию совпадений.

Если элементы должны были остаться

  • Сохраните начальные параметры поиска, predicate/key, cursor и признак restart scan.
  • Проверьте, не изменился ли индекс между вызовами и допускает ли конкретный API продолжение enumeration после такой модификации.
  • Сравните число уже возвращённых элементов с ожидаемым набором и найдите первую точку, где позиция перечисления стала отличаться.

Не подменяйте этот статус STATUS_NOT_FOUND без проверки контракта API: отсутствие очередного совпадения в продолжающемся enumeration и отсутствие конкретного объекта — разные ситуации.

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


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