please dont rip this site Prev Next

LDT_ENTRY info  Overview  Group

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

1

Read-write data segment

2

Unused segment

3

Read-write expand-down data segment

4

Execute-only code segment

5

Executable-readable code segment

6

Execute-only “conforming” code segment

7

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 


file: /Techref/os/win/api/win32/struc/src/str09_23.htm, 9KB, , updated: 2000/4/7 11:20, local time: 2024/12/22 20:59,
TOP NEW HELP FIND: 
3.138.34.93:LOG IN

 ©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?
Please DO link to this page! Digg it! / MAKE!

<A HREF="http://massmind.org/Techref/os/win/api/win32/struc/src/str09_23.htm"> LDT_ENTRY</A>

After you find an appropriate page, you are invited to your to this massmind site! (posts will be visible only to you before review) Just type a nice message (short messages are blocked as spam) in the box and press the Post button. (HTML welcomed, but not the <A tag: Instead, use the link box to link to another page. A tutorial is available Members can login to post directly, become page editors, and be credited for their posts.


Link? Put it here: 
if you want a response, please enter your email address: 
Attn spammers: All posts are reviewed before being made visible to anyone other than the poster.
Did you find what you needed?

 

Welcome to massmind.org!

 

Welcome to massmind.org!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  .