Discussion:
how to get interrup vector (the number that is used to index the IDT)from an upper filter driver
(too old to reply)
qqmichelle
2009-11-12 18:41:03 UTC
Permalink
Hi everyone,
I have a very urgent question about getting interrup vector from a
upper filter driver:
In my project, I need to know the interrup vector assigned to
particular device (not for standard devices that have fixed interrup
vector value). I know that usually the interrup vector value can b
obtained in the underlying function driver (usually for the paramter
passing to IoConnectInterrupt())through the following code:
pIrpStack->Parameters.StartDevice.AllocatedResourcesTranslated.>List[0].PartialResourceList.PartialDescriptors[0].u.Interrupt.Vector

But I don't have the source code for the underlying function driver s
I wrote a upper filter driver to do the same thing to get the value.
don't know whether it is feasible or not. But when the above code wa
executed in the upper filter driver, I got either blue screen or reboot
I viewd the minidump file and got the error code is NTSTATUS C0000005
which is probably access violation. I'm wondering whether upper filte
driver has the privelige to access hardware resouce descriptors. O
anything wrong with it? If not, can anybody suggest a way to get th
interrupt vector for a particular device or any tools to get thi
value?

BTW, I use Intel CPU and running Windows XP.

Many many thanks in advance!

--
qqmichell
-----------------------------------------------------------------------
qqmichelle's Profile: http://forums.techarena.in/members/154233.ht
View this thread: http://forums.techarena.in/windows-device-drivers/1270438.ht

http://forums.techarena.i
Doron Holan [MSFT]
2009-11-23 23:59:24 UTC
Permalink
there is no way to know this

d
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Post by qqmichelle
Hi everyone,
I have a very urgent question about getting interrup vector from an
In my project, I need to know the interrup vector assigned to a
particular device (not for standard devices that have fixed interrupt
vector value). I know that usually the interrup vector value can be
obtained in the underlying function driver (usually for the paramters
pIrpStack->Parameters.StartDevice.AllocatedResourcesTranslated.>List[0].PartialResourceList.PartialDescriptors[0].u.Interrupt.Vector
But I don't have the source code for the underlying function driver so
I wrote a upper filter driver to do the same thing to get the value. I
don't know whether it is feasible or not. But when the above code was
executed in the upper filter driver, I got either blue screen or reboot.
I viewd the minidump file and got the error code is NTSTATUS C0000005,
which is probably access violation. I'm wondering whether upper filter
driver has the privelige to access hardware resouce descriptors. Or
anything wrong with it? If not, can anybody suggest a way to get the
interrupt vector for a particular device or any tools to get this
value?
BTW, I use Intel CPU and running Windows XP.
Many many thanks in advance!!
--
qqmichelle
------------------------------------------------------------------------
qqmichelle's Profile: http://forums.techarena.in/members/154233.htm
http://forums.techarena.in/windows-device-drivers/1270438.htm
http://forums.techarena.in
qqmichelle
2009-11-24 00:23:06 UTC
Permalink
After research, I found that I can get the IRQ->Interrupt vector mappin
from SoftICE. For a particular device, I can get its IRQ from the devic
manager. Thanks

--
qqmichell
-----------------------------------------------------------------------
qqmichelle's Profile: http://forums.techarena.in/members/154233.ht
View this thread: http://forums.techarena.in/windows-device-drivers/1270438.ht

http://forums.techarena.i

Loading...