Hi,
Today I've got new question:
What's wrong with this code:
Output is as follows: IDT base address is : 8003, limit : 7ff
In windbg idtr is 8003f400...
So what is going on?
Thanks for any help!
Today I've got new question:
What's wrong with this code:
Code: Select all
typedef struct _idt_entry
{
USHORT base_lo;
USHORT sel;
UCHAR always0;
UCHAR flags;
USHORT base_hi;
} idt_entry, *pidt_entry;
typedef struct _idt_ptr
{
USHORT limit;
ULONG_PTR base;
} idt_ptr, *pidt_ptr;
//...
void fun()
{
//..
idt_ptr p_idt;
RtlZeroMemory(&p_idt, sizeof(idt_ptr));
__sidt(&p_idt);
KERNEL_DEBUG(("IDT base address is : %x, limit : %x\n", p_idt.base, p_idt.limit));
//..
}
Output is as follows: IDT base address is : 8003, limit : 7ff
In windbg idtr is 8003f400...
So what is going on?
Thanks for any help!