Site icon EfmSoft

What does Windows error code 564 (ERROR_INVALID_LDT_DESCRIPTOR) mean?

 
Previous Next
ERROR_INVALID_LDT_OFFSET ERROR_TOO_MANY_THREADS

ERROR_INVALID_LDT_DESCRIPTOR

The user supplied an invalid descriptor when trying to set up LDT descriptors.

ERROR_INVALID_LDT_DESCRIPTOR is Windows system result 564 (0x00000234). Microsoft defines it as “The user supplied an invalid descriptor when trying to set up LDT descriptors.”

How to classify the result

This result represents an x86 descriptor-content validation failure. The correct interpretation depends on the individual LDT_ENTRY fields, selector purpose, privilege assumptions, and target architecture.

Where it can appear

  • This result can appear in legacy x86 process compatibility.
  • This result can appear in debugger-assisted descriptor restoration.
  • It can appear in an emulator or runtime configuring segmented-addressing state.

Typical causes

  • base, limit, type, or present fields form an invalid descriptor.
  • reserved bits are nonzero.
  • the descriptor requests an unsupported privilege or system segment.
  • the caller copied a descriptor from a different architecture or process mode.
  • bitfield layout or endianness assumptions corrupted the packed entry.

Useful evidence

  • Record selector number and raw descriptor bytes.
  • Record decoded base and effective limit.
  • Record type, privilege, present, granularity, and operand-size bits.
  • Record process architecture and compatibility mode.
  • Record first native diagnostic or debugger exception.

Recovery and retry

Build a descriptor from documented fields rather than patching raw bytes, then verify the entry after the update through a supported inspection API.

Do not repeatedly submit the same descriptor. A retry is justified only after correcting a specific field and ensuring the target state was not partially modified.

Difference from related results

ERROR_INVALID_LDT_SIZE and ERROR_INVALID_LDT_OFFSET describe the range envelope. It means the range is acceptable but at least one entry is not.

Example

A compatibility runtime copies a packed compiler-specific bitfield into LDT_ENTRY. Comparing raw bytes with the SDK layout reveals a reserved bit set by the alternate packing rule; explicit field construction fixes the request.

Developer and administrator guidance

Prefer SDK structures and static assertions over homemade bitfields. Security-sensitive code should reject descriptors with unexpected privilege or present-state combinations before calling the system.

References


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

Exit mobile version