Что означает код NTSTATUS 0xC0000118 (STATUS_INVALID_LDT_SIZE)?

 
Предыдущий Следующий
STATUS_NO_LDT STATUS_INVALID_LDT_OFFSET

STATUS_INVALID_LDT_SIZE

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

STATUS_INVALID_LDT_SIZE — запрошенный размер LDT нарушает правила изменения таблицы: Windows отдельно указывает попытку увеличить LDT этой операцией либо размер, не соответствующий целому числу selector entries.

LDT (Local Descriptor Table) хранит дескрипторы сегментов x86. Поэтому размер здесь связан с геометрией таблицы дескрипторов, а не является произвольным объёмом буфера.

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

  • Сохраните старый и запрошенный размер, число записей и операцию caller-а до любого округления.
  • Разделяйте byte size, selector count и размер одного descriptor entry.
  • Проверьте, не пытается ли код увеличить таблицу через операцию, которая допускает только другой переход состояния.
  • Перед уменьшением LDT выясните, какие селекторы ещё используются: произвольное усечение может сделать живые сегментные ссылки недействительными.

Исправлять значение простым округлением вниз опасно: это способно убрать реальные записи вместо устранения ошибки расчёта.

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


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