Marking IRPs pending in CSQs

Hi all.

The DDK sources mention that IoMarkIrpPending shouldn’t be called when using
CSQs as it’s called internally by IoCsqInsertIrpEx. This is also backed up
by Walter Oneys book.

After walking through the running asm in my driver I noticed no call to
IoMarkIrpPending is made within my calls to IoCsqInsertIrpEx.

The docs don’t mention anything, and other than some fairly inconclusive
tech-archive info, there’s not much in the net.

Does anyone know the correct behaviour here?

Thanks.

are you looking for an actual API call? IoMarkIrpPending is a macro so it is online with the caller

d

dent from a phpne with no keynoard


From: Ged
Sent: June 08, 2010 9:24 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Marking IRPs pending in CSQs

Hi all.

The DDK sources mention that IoMarkIrpPending shouldn?t be called when using CSQs as it?s called internally by IoCsqInsertIrpEx. This is also backed up by Walter Oneys book.
After walking through the running asm in my driver I noticed no call to IoMarkIrpPending is made within my calls to IoCsqInsertIrpEx.
The docs don?t mention anything, and other than some fairly inconclusive tech-archive info, there?s not much in the net.

Does anyone know the correct behaviour here?

Thanks.


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

Ahh, a double macro. I’d overlooked that, thanks for pointing it out

After looking back through the asm I now see the ‘or byte ptr [eax+3],1’
instruction, so it appears it is set in calls to IsCsqInsertIrpEx.

Maybe this could be added to the docs to make it clearer?

Thanks.

From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan
Sent: 08 June 2010 17:28
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Marking IRPs pending in CSQs

are you looking for an actual API call? IoMarkIrpPending is a macro so it is
online with the caller

d

dent from a phpne with no keynoard


From: Ged
Sent: June 08, 2010 9:24 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Marking IRPs pending in CSQs

Hi all.

The DDK sources mention that IoMarkIrpPending shouldn’t be called when using
CSQs as it’s called internally by IoCsqInsertIrpEx. This is also backed up
by Walter Oneys book.

After walking through the running asm in my driver I noticed no call to
IoMarkIrpPending is made within my calls to IoCsqInsertIrpEx.

The docs don’t mention anything, and other than some fairly inconclusive
tech-archive info, there’s not much in the net.

Does anyone know the correct behaviour here?

Thanks.


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


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

Add what to the docs to make what clearer? That IoMarkIrpPending is a macro?

From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Ged
Sent: Tuesday, June 08, 2010 10:05 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Marking IRPs pending in CSQs

Ahh, a double macro. I’d overlooked that, thanks for pointing it out
After looking back through the asm I now see the ‘or byte ptr [eax+3],1’ instruction, so it appears it is set in calls to IsCsqInsertIrpEx.
Maybe this could be added to the docs to make it clearer?

Thanks.

From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan
Sent: 08 June 2010 17:28
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Marking IRPs pending in CSQs

are you looking for an actual API call? IoMarkIrpPending is a macro so it is online with the caller

d

dent from a phpne with no keynoard


From: Ged
Sent: June 08, 2010 9:24 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Marking IRPs pending in CSQs
Hi all.

The DDK sources mention that IoMarkIrpPending shouldn’t be called when using CSQs as it’s called internally by IoCsqInsertIrpEx. This is also backed up by Walter Oneys book.
After walking through the running asm in my driver I noticed no call to IoMarkIrpPending is made within my calls to IoCsqInsertIrpEx.
The docs don’t mention anything, and other than some fairly inconclusive tech-archive info, there’s not much in the net.

Does anyone know the correct behaviour here?

Thanks.


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


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


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

>After walking through the running asm in my driver I noticed no call to IoMarkIrpPending

It’s not a call, but a macro.


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com