| Предыдущий | Следующий |
| STATUS_ABIOS_INVALID_SELECTOR | STATUS_INVALID_LDT_SIZE |
STATUS_NO_LDT
Что означает STATUS_NO_LDT
STATUS_NO_LDT — операция изменения LDT направлена процессу, у которого LDT вообще нет.
LDT (Local Descriptor Table) относится к сегментной адресации x86 и старым 16-битным/compatibility-сценариям. Современный native-процесс обычно использует плоское адресное пространство и не обязан иметь отдельную LDT.
Что проверить
- Определите целевой процесс, его архитектуру и compatibility subsystem.
- Проверьте, должен ли этот процесс по своему режиму выполнения иметь LDT и на каком этапе она создаётся.
- Ищите перепутанный process handle или состояние, сохранённое для другого экземпляра процесса.
- На 64-битной системе не предполагайте автоматически наличие NTVDM: Microsoft поддерживает NTVDM только в x86-версии Windows.
Не создавайте фиктивные descriptors и не повторяйте resize вслепую. Сначала нужно установить, почему caller ожидает LDT у процесса, который её не имеет.
Технические ссылки
- Microsoft: LDT_ENTRY
- Microsoft: GetThreadSelectorEntry
- Microsoft: NTVDM and 16-bit app support
- Microsoft: Wow64GetThreadSelectorEntry
- Microsoft Open Specifications: NTSTATUS values
Нужно найти другой код? Найти другой код состояния или ошибки.