|
Overview |
|
|
|
Group |
|
|
|
Quick Info
Windows NT
| Yes
| Win95
| Yes
| Win32s
| Yes
| Import Library
| -
| Header File
| winnt.h
| Unicode
| No
| Platform Notes
| None
|
|
|
LDT_ENTRY
The LDT_ENTRY structure describes an entry in the descriptor table. This structure is valid
only on x86-based systems.
typedef struct _LDT_ENTRY { // ldte
WORD LimitLow;
WORD BaseLow;
union {
struct {
BYTE BaseMid;
BYTE Flags1;
BYTE Flags2;
BYTE BaseHi;
} Bytes;
struct {
DWORD BaseMid : 8;
DWORD Type : 5;
DWORD Dpl : 2;
DWORD Pres : 1;
DWORD LimitHi : 4;
DWORD Sys : 1;
DWORD Reserved_0 : 1;
DWORD Default_Big : 1;
DWORD Granularity : 1;
DWORD BaseHi : 8;
} Bits;
} HighWord;
} LDT_ENTRY, *PLDT_ENTRY;
Members
LimitLow
Contains the low 16 bits of the address of the last byte in the segment.
BaseLow
Contains the low 16 bits of the base address of the segment.
HighWord
Contains the high two words of the descriptor. This member may be interpreted
as bytes or collections of bits, depending on the level of detail required.
The members of the Bits structure are as follows:
Member
| Contents
| BaseMid
| Middle bits (16 23) of the base address of the segment.
| Type
| Bitmask that indicates the type of segment. This member can be one of the
following values:
|
Value
| Meaning
| 0
| Read-only data segment
| -
| Read-write data segment
| -
| Unused segment
| -
| Read-write expand-down data segment
| -
| Execute-only code segment
| -
| Executable-readable code segment
| -
| Execute-only "conforming" code segment
| -
| Executable-readable "conforming" code segment
|
Dpl
| Privilege level of the descriptor. This member is an integer value in the
range 0 (most privileged) through 3 (least privileged).
| Pres
| Present flag. This member is 1 if the segment is present in physical memory or
0 if it is not.
| LimitHi
| High bits (16 19) of the address of the last byte in the segment.
| Sys
| Space that is available to system programmers. This member might be used for
marking segments in some system-specific way.
| Reserved_0
| Reserved.
| Default_Big
| Size of segment. If the segment is a data segment, this member contains 1 if
the segment is larger than 64 kilobytes (K) or 0 if the segment is smaller than
or equal to 64K.
|
| If the segment is a code segment, this member contains 1 if the segment is a
code segment and runs with the default (native mode) instruction set. This
member contains 0 if the code segment is an 80286 code segment and runs with 16-bit
offsets and the 80286-compatible instruction set.
| Granularity
| Granularity. This member contains 0 if the segment is byte granular, 1 if the
segment is page granular.
| BaseHi
| High bits (24 31) of the base address of the segment.
|
The members of the Bytes structure are as follows:
Member
| Contents
| BaseMid
| Middle bits (16 23) of the base address of the segment.
| Flags1
| Values of the Type, Dpl, and Pres members in the Bits structure.
| Flags2
| Values of the LimitHi, Sys, Reserved_0, Default_Big, and Granularity members in the Bits structure.
| BaseHi
| High bits (24 31) of the base address of the segment.
|
Remarks
The GetThreadSelectorEntry function fills this structure with information from an entry in the
descriptor table. You can use this information to convert a segment-relative address to
a linear virtual address.
The base address of a segment is the address of offset 0 in the segment. To
calculate this value, combine the BaseLow, BaseMid, and BaseHi members.
The limit of a segment is the address of the last byte that can be addressed
in the segment. To calculate this value, combine the LimitLow and LimitHi members.
See Also
GetThreadSelectorEntry
| Last news from Greatis Software |
 |
|
Nostalgia .Net |
|
.Net is powerful, but not all-powerful, so sometimes we need to use Win32 API for our .Net applications. It's simple enough with Platform Invoke if you have Win32 skill, but we do not always have time to dig the ancient documentation, declare the special types that are compatible with Win32, find the values of the Win32's constants and so on. Nostalgia .Net offers several simple-to-use classes, and components that will allow you to forget about the headache of Win32 and just use the power of Win32 in your application the same way as you use the native. Net classes. More » |
| Recommended software for developers |
 |
|
Ultimate Pack |
|
Component pack for Delphi and C++ Builder that contains runtime form designer, runtime object inspector, print suite and much more for the very special price. More » |
 |
|
Form Designer .Net |
|
Unique runtime form design solution that allows to edit any form in .Net WinForms application at runtime with full source codes for only 300 euro! More » |
 |
|
Print Suite .Net |
|
Print Suite .Net is a set of components for easy printing texts, images and grids from your WinForms applications. Full C# source codes are available More » |
 |
|
Gradient Controls .Net |
|
Gradient Controls .Net offers controls with gradient background feature. Labels, panels and so on... Full C# source codes are available More » |
 |
|
Greatis iGrid |
|
iGrid plots drawing grid right over your desktop, so you can use it everywhere, with any drawing application without any special plugins for different graphic editors. More » |
All the contacts and projectsDmitry Vasiliev (just.dmitry)
Related LinksSoftware for Visual Studio .NET developers Software for Delphi and C++ Builder developers Software for Visual Basic 6 developers Delphi Tips&Tricks MegaDetailed.NET More Online Helps Win32 Programmer's Reference Win32 Multimedia Programmer's Reference OLE Programmer's Reference Microsoft Windows Pen API Programmer's Reference Microsoft Windows Sockets 2 Reference Microsoft Windows Telephony API (TAPI) Programmer's Reference Unix Manual Pages
|