Calling WdfIoQueueRetrieveNextRequest from ISR DPC

After you called WdfInterruptAcquireLock, you’ve raised to DIRQL.

( really, man… we all are on a schedule and no time for ramp-ups, but
sometimes have to take the time )

–PA

Vered Zvi wrote:

Hello,

I’m calling WdfIoQueueRetrieveNextRequest from ISR DPC.
This causes blue dump with the following details in the event log:

Error code 1000008e, parameter1 80000003, parameter2 804e3b14,
parameter3 80550790, parameter4 00000000.

According to the documentation it is possible to call
WdfIoQueueRetrieveNextRequest at dispatch level.

What am I doing wrong ?

Thanks.
VOID PLxEvtInterruptDpc(
IN WDFINTERRUPT Interrupt,
IN WDFDEVICE Device
)

NTSTATUS status;
PDEVICE_EXTENSION devExt;
WDFREQUEST request;

WdfInterruptAcquireLock( Interrupt );

status = WdfIoQueueRetrieveNextRequest(
devExt->IoControlQueue,
&request
);

WdfInterruptReleaseLock( Interrupt );
}

I would suggest you hook up a kernel debugger and run !analyze -v when the bugcheck occurs (and make sure you have the correct symbols). Send the output of this command to the list to have any hope of help debugging this

d

From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Vered Zvi
Sent: Wednesday, August 13, 2008 4:58 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Calling WdfIoQueueRetrieveNextRequest from ISR DPC

Hello,

I’m calling WdfIoQueueRetrieveNextRequest from ISR DPC.
This causes blue dump with the following details in the event log:

Error code 1000008e, parameter1 80000003, parameter2 804e3b14, parameter3 80550790, parameter4 00000000.

According to the documentation it is possible to call WdfIoQueueRetrieveNextRequest at dispatch level.

What am I doing wrong ?

Thanks.


VOID PLxEvtInterruptDpc(
IN WDFINTERRUPT Interrupt,
IN WDFDEVICE Device
)

NTSTATUS status;
PDEVICE_EXTENSION devExt;
WDFREQUEST request;

WdfInterruptAcquireLock( Interrupt );

status = WdfIoQueueRetrieveNextRequest(
devExt->IoControlQueue,
&request
);

WdfInterruptReleaseLock( Interrupt );
}


The information contained in this communication is proprietary to Israel Aerospace Industries Ltd., ELTA Systems Ltd.
and/or third parties, may contain classified or privileged information, and is intended only for
the use of the intended addressee thereof. If you are not the intended addressee, please be aware
that any use, disclosure, distribution and/or copying of this communication is strictly prohibited.
If you receive this communication in error, please notify the sender immediately and delete it from
your computer. Thank you.

This message is processed by the PrivaWall Email Security Server.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

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