| Предыдущий | Следующий |
| 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 выясните, какие селекторы ещё используются: произвольное усечение может сделать живые сегментные ссылки недействительными.
Исправлять значение простым округлением вниз опасно: это способно убрать реальные записи вместо устранения ошибки расчёта.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.