Question about IoMarkIrpPending
From: Jackal Huang (huangjj_at_hotmail.com)
Date: 02/09/04
- Next message: Jørgen Helgheim: "memory base address"
- Previous message: Ragnar: "Why have DIRQLs ?"
- Next in thread: Doron Holan [MS]: "Re: Question about IoMarkIrpPending"
- Reply: Doron Holan [MS]: "Re: Question about IoMarkIrpPending"
- Messages sorted by: [ date ] [ thread ]
Date: Mon, 9 Feb 2004 19:19:56 +0800
The rule of calling IoMarkIrpPending has suffered me for a long time.
After studied Walter's WDM book 2nd, I understand it more now, but
still have some questions.
If the dispatch routine has called IoMarkIrpPending and return pending
status, does the IoComplete routine still need to check Irp->
PendingReturned and call IoMarkIrpPending if the flag is set?
According to my understanding, it isn't necessary to call IoMarkIrpPending
in the IoComplete routine since SL_PENDING_RETURNED has been set
in the stack location when the dispatch routine called IoMarkIrpPending.
In the power management of XPDDK usb bulk sample code, it always
calls IoMarkIrpPending and returns pending status for
IRP_MN_SET_POWER in its power dispatch routine. In the complete
routine of power on case (FinishDevPoUpIrp), it calls IoMarkIrpPending
if Irp->PendingReturned is set. Is it a redundant code segment??
Please tell me if my understanding is wrong.
Best Regards
Jackal Huang
- Next message: Jørgen Helgheim: "memory base address"
- Previous message: Ragnar: "Why have DIRQLs ?"
- Next in thread: Doron Holan [MS]: "Re: Question about IoMarkIrpPending"
- Reply: Doron Holan [MS]: "Re: Question about IoMarkIrpPending"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|