struktur LDT_ENTRY (winnt.h)
Menjelaskan entri dalam tabel deskriptor. Struktur ini hanya berlaku pada sistem berbasis x86.
Sintaks
typedef struct _LDT_ENTRY {
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;
Anggota
LimitLow
Bagian urutan rendah dari alamat byte terakhir di segmen.
BaseLow
Bagian urutan rendah dari alamat dasar segmen.
HighWord
Bagian deskriptor urutan tinggi. Anggota ini dapat ditafsirkan sebagai byte atau koleksi bit, tergantung pada tingkat detail yang diperlukan.
HighWord.Bytes
HighWord.Bytes.BaseMid
Bit tengah (16–23) dari alamat dasar segmen.
HighWord.Bytes.Flags1
Nilai anggota Jenis, Dpl, dan Pres dalam struktur Bit .
HighWord.Bytes.Flags2
Nilai anggota LimitHi, Sys, Reserved_0, Default_Big, dan Granularity dalam struktur Bit .
HighWord.Bytes.BaseHi
Bit tinggi (24–31) dari alamat dasar segmen.
HighWord.Bits
HighWord.Bits.BaseMid
Bit tengah (16–23) dari alamat dasar segmen.
HighWord.Bits.Type
Jenis segmen. Anggota ini bisa menjadi salah satu nilai berikut:
HighWord.Bits.Dpl
Tingkat hak istimewa deskriptor. Anggota ini adalah nilai bilangan bulat dalam rentang 0 (paling istimewa) hingga 3 (paling tidak istimewa).
HighWord.Bits.Pres
Bendera saat ini. Anggota ini adalah 1 jika segmen ada dalam memori fisik atau 0 jika tidak.
HighWord.Bits.LimitHi
Bit tinggi (16–19) dari alamat byte terakhir di segmen.
HighWord.Bits.Sys
Ruang yang tersedia untuk programmer sistem. Anggota ini mungkin digunakan untuk menandai segmen dengan beberapa cara khusus sistem.
HighWord.Bits.Reserved_0
Dicadangkan.
HighWord.Bits.Default_Big
Ukuran segmen. Jika segmen adalah segmen data, anggota ini berisi 1 jika segmen lebih besar dari 64 kilobyte (K) atau 0 jika segmen lebih kecil dari atau sama dengan 64K.
Jika segmen adalah segmen kode, anggota ini berisi 1 jika segmen adalah segmen kode dan berjalan dengan set instruksi default (mode asli). Anggota ini berisi 0 jika segmen kode adalah segmen kode 80286 dan berjalan dengan offset 16-bit dan set instruksi yang kompatibel dengan 80286.
HighWord.Bits.Granularity
Granularitas. Anggota ini berisi 0 jika segmen adalah byte granular, 1 jika segmen adalah granular halaman.
HighWord.Bits.BaseHi
Bit tinggi (24–31) dari alamat dasar segmen.
Keterangan
Fungsi GetThreadSelectorEntry mengisi struktur ini dengan informasi dari entri dalam tabel deskriptor. Anda dapat menggunakan informasi ini untuk mengonversi alamat relatif segmen ke alamat virtual linier.
Alamat dasar segmen adalah alamat offset 0 di segmen. Untuk menghitung nilai ini, gabungkan anggota BaseLow, BaseMid, dan BaseHi .
Batas segmen adalah alamat byte terakhir yang dapat ditangani di segmen. Untuk menghitung nilai ini, gabungkan anggota LimitLow dan LimitHi .
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Header | winnt.h (sertakan Windows.h) |