WDF - Interrupt

Hallo!

Currently I try to use an Interrupt (I just want to know if the interrupt
occurs) with WDF. But I’m not sure if the following steps ar enought:

  • Define BOOLEAN EvtDeviceInterruptIsr(IN WDFINTERRUPT Interrupt, IN ULONG
    MessageID);

  • Register the Interrupt at “EvtDeviceAdd” with:

fdoData = FdoGetData(device);

WDF_INTERRUPT_CONFIG_INIT(&interruptConfig, EvtDeviceInterruptIsr, NULL);

WdfInterruptCreate(device, &interruptConfig, WDF_NO_OBJECT_ATTRIBUTES,
&fdoData->interrupt);

Is this all I must do?

You probably also want to set and implement EvtInterruptEnable and
EvtInterruptDisable so that you can program the hardware to actually
generate interrupts.

d

– I can spell, I just can’t type.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Markus
Sent: Thursday, April 20, 2006 11:13 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] WDF - Interrupt

Hallo!

Currently I try to use an Interrupt (I just want to know if the
interrupt
occurs) with WDF. But I’m not sure if the following steps ar enought:

  • Define BOOLEAN EvtDeviceInterruptIsr(IN WDFINTERRUPT Interrupt, IN
    ULONG
    MessageID);

  • Register the Interrupt at “EvtDeviceAdd” with:

fdoData = FdoGetData(device);

WDF_INTERRUPT_CONFIG_INIT(&interruptConfig, EvtDeviceInterruptIsr,
NULL);

WdfInterruptCreate(device, &interruptConfig, WDF_NO_OBJECT_ATTRIBUTES,
&fdoData->interrupt);

Is this all I must do?


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Additional question:

Is it possible to simulate an interrupt? (Tool, …)
It’s because the Hardware sends the interrupt very seldom so it’s hard to
test.

“Doron Holan” schrieb im Newsbeitrag
news:xxxxx@ntdev…
You probably also want to set and implement EvtInterruptEnable and
EvtInterruptDisable so that you can program the hardware to actually
generate interrupts.

d

– I can spell, I just can’t type.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Markus
Sent: Thursday, April 20, 2006 11:13 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] WDF - Interrupt

Hallo!

Currently I try to use an Interrupt (I just want to know if the
interrupt
occurs) with WDF. But I’m not sure if the following steps ar enought:

- Define BOOLEAN EvtDeviceInterruptIsr(IN WDFINTERRUPT Interrupt, IN
ULONG
MessageID);

- Register the Interrupt at “EvtDeviceAdd” with:

fdoData = FdoGetData(device);

WDF_INTERRUPT_CONFIG_INIT(&interruptConfig, EvtDeviceInterruptIsr,
NULL);

WdfInterruptCreate(device, &interruptConfig, WDF_NO_OBJECT_ATTRIBUTES,
&fdoData->interrupt);

Is this all I must do?


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

No there are not any supported methods. There have been articles
written on how to touch mother board specific registers to get an
interrupt to fire though and I am sure with sufficient pounding on the
io apic, you could get it to fire. Can you get a custom piece of
hardware that can trigger the interrupt more often? That might easier
and more cost effective in the end.

d

– I can spell, I just can’t type.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Markus
Sent: Friday, April 21, 2006 1:59 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] WDF - Interrupt

Additional question:

Is it possible to simulate an interrupt? (Tool, …)
It’s because the Hardware sends the interrupt very seldom so it’s hard
to
test.

“Doron Holan” schrieb im Newsbeitrag
news:xxxxx@ntdev…
You probably also want to set and implement EvtInterruptEnable and
EvtInterruptDisable so that you can program the hardware to actually
generate interrupts.

d

– I can spell, I just can’t type.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Markus
Sent: Thursday, April 20, 2006 11:13 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] WDF - Interrupt

Hallo!

Currently I try to use an Interrupt (I just want to know if the
interrupt
occurs) with WDF. But I’m not sure if the following steps ar enought:

- Define BOOLEAN EvtDeviceInterruptIsr(IN WDFINTERRUPT Interrupt, IN
ULONG
MessageID);

- Register the Interrupt at “EvtDeviceAdd” with:

fdoData = FdoGetData(device);

WDF_INTERRUPT_CONFIG_INIT(&interruptConfig, EvtDeviceInterruptIsr,
NULL);

WdfInterruptCreate(device, &interruptConfig, WDF_NO_OBJECT_ATTRIBUTES,
&fdoData->interrupt);

Is this all I must do?


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer