Что означает код NTSTATUS 0xC000011A (STATUS_INVALID_LDT_DESCRIPTOR)?

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

STATUS_INVALID_LDT_DESCRIPTOR

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

STATUS_INVALID_LDT_DESCRIPTOR — при настройке LDT передан недопустимый дескриптор сегмента.

LDT (Local Descriptor Table) — таблица локальных дескрипторов сегментов x86. Селектор указывает на запись LDT, а сама запись задаёт base, limit, тип сегмента, уровень привилегий, present-bit, granularity и другие свойства сегментной адресации. Это механизм старого x86/16-битного compatibility-кода, а не обычная таблица объектов приложения.

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

  • Сохраните полный LDT_ENTRY до сбойного вызова и декодируйте base, limit, type, DPL, present, granularity и default operand size.
  • Проверьте, не сформирован ли дескриптор для другого процесса, режима выполнения или уже изменившейся таблицы.
  • Не «лечите» ошибку случайным сбросом битов: type, privilege и present имеют реальную семантику исполнения.
  • Отделяйте этот статус от STATUS_INVALID_LDT_OFFSET и STATUS_INVALID_LDT_SIZE: здесь ошибка именно в содержимом descriptor entry.

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


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