What does NTSTATUS 0xC000011A (STATUS_INVALID_LDT_DESCRIPTOR) mean?

 
Previous Next
STATUS_INVALID_LDT_OFFSET STATUS_INVALID_IMAGE_NE_FORMAT

STATUS_INVALID_LDT_DESCRIPTOR

The selector boundary is valid, but the descriptor fields are not

STATUS_INVALID_LDT_DESCRIPTOR concerns the descriptor supplied for an LDT update. An LDT_ENTRY encodes the segment limit, base address components, descriptor privilege level, present bit, type bits, granularity, and default operand-size information. These fields describe a segment; they are not an arbitrary eight-byte payload.

This status should be separated from LDT offset and size failures. A request can begin on a valid selector boundary and contain the correct number of entries while one descriptor encodes an invalid or unsupported combination. Microsoft selector APIs expose the same descriptor fields, which makes a field-by-field comparison with a known working entry more useful than a raw hexadecimal diff alone.

Capture the complete descriptor and decode its base, limit, type, privilege, present, granularity, and default-size fields. Also record the compatibility subsystem and target selector. Check whether custom emulator/debugger code rebuilt the descriptor from a packed private structure or copied a descriptor across architectures. Do not clear bits until the status disappears: changing privilege or segment type can alter access semantics. Reconstruct the entry from the documented descriptor model and the intended 16-bit segment properties.

What to inspect

  • Decode every LDT_ENTRY field instead of logging only the raw 64-bit value.
  • Compare the failing entry with the segment properties the VDM or compatibility layer intended to represent.
  • Avoid trial-and-error bit clearing; descriptor privilege, type, and present bits have execution semantics.

References


Looking for a different code? Search another status or error code.