how to get interrup vector (the number that is used to index the IDT)from an upper filter driver

November 12th, 2009 - 01:41 pm ET by qqmichelle | Report spam
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-...1270438.ht

http://forums.techarena.i
email Follow the discussionReplies 2 repliesReplies Make a reply

Similar topics

Replies

#1 Doron Holan [MSFT]
November 23rd, 2009 - 06:59 pm ET | Report spam
there is no way to know this

d


This posting is provided "AS IS" with no warranties, and confers no rights.


"qqmichelle" wrote in message
news:

Hi everyone,
I have a very urgent question about getting interrup vector from an
upper filter driver:
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
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 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
View this thread:
http://forums.techarena.in/windows-...270438.htm

http://forums.techarena.in



Replies Reply to this message
#2 qqmichelle
November 23rd, 2009 - 07:23 pm ET | Report spam
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-...1270438.ht

http://forums.techarena.i
email Follow the discussion Replies Reply to this message
Help Create a new topicReplies Make a reply
Search Make your own search