From: mpefareo on
I'm sorry I just start learning windows drivers development. I'm looking at
Interrupt servicing in drivers in WDF. WdfInterruptCreate create the
interrupt object but where do we put the information about interrupt vector?
I noticed we can get vector by using WdfInterruptGetInfo, but where do we set
it?
From: mpefareo on
I think I have found where it comes from. From Hardware Resource list, which
is filled by PnP Manager.
From: eagersh on
On Mar 22, 12:56 am, mpefareo <mpefa...(a)discussions.microsoft.com>
wrote:
> I'm sorry I just start learning windows drivers development. I'm looking at
> Interrupt servicing in drivers in WDF. WdfInterruptCreate create the
> interrupt object but where do we put the information about interrupt vector?
> I noticed we can get vector by using WdfInterruptGetInfo, but where do we set
> it?
You driver should not care about of assigned interrupt level. Windows
components, who responsible for assigning hardware resources including
interrupts, will do all work.
You need just specify your ISR and DPC routines in
WDF_INTERRUPT_CONFIG structure.
This is related for PnP drivers. If you have a legacy driver, for
example for ISA bus, you could specify an interrupt level in *.inf
file. But I don't think it would be your case.

Igor Sharovar

From: Doron Holan [MSFT] on
KMDF will fill in the interrupt vector and other information for you based
on the assigned hw resources

d

--

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


"mpefareo" <mpefareo(a)discussions.microsoft.com> wrote in message
news:77E2A5F8-0EC9-499F-8852-9D53C479CC0C(a)microsoft.com...
> I'm sorry I just start learning windows drivers development. I'm looking
> at
> Interrupt servicing in drivers in WDF. WdfInterruptCreate create the
> interrupt object but where do we put the information about interrupt
> vector?
> I noticed we can get vector by using WdfInterruptGetInfo, but where do we
> set
> it?

From: alberto on

There are all sorts of hardware debugging and diagnostics related
reasons why one may need the interrupt vector. The place to get it
from is the PCI resources structure at start time, but even then I'm
not sure that the HAL doesn't play games with the levels.

It may be a good idea to run one of those low level pci dump software
utilities and see what values are really being served to the hardware,
because I'm not that sure that even the values from the resources
structure are that reliable - but hey, I may be wrong!

I wish the OS would give us a clean way of reaching for such hardware
resource values, so that drivers and diags software could talk
directly to the hardware, as they're supposed to.

Alberto.


On Mar 22, 12:20 pm, eagersh <eagers...(a)gmail.com> wrote:
> On Mar 22, 12:56 am, mpefareo <mpefa...(a)discussions.microsoft.com>
> wrote:> I'm sorry I just start learning windows drivers development. I'm looking at
> > Interrupt servicing in drivers in WDF. WdfInterruptCreate create the
> > interrupt object but where do we put the information about interrupt vector?
> > I noticed we can get vector by using WdfInterruptGetInfo, but where do we set
> > it?
>
> You driver should not care about of assigned interrupt level. Windows
> components, who responsible for assigning hardware resources including
> interrupts, will do all work.
> You need just specify your ISR and DPC routines in
> WDF_INTERRUPT_CONFIG structure.
> This is related for PnP drivers. If you have a legacy driver, for
> example for ISA bus, you could specify an interrupt level in *.inf
> file. But I don't think it would be your case.
>
> Igor Sharovar