OSRLogoOSRLogoOSRLogo x Subscribe to The NT Insider

Everything Windows Driver Development

GoToHomePage xLoginx

    Thu, 14 Mar 2019     118020 members


  Online Dump Analyzer
OSR Dev Blog
The NT Insider
The Basics
File Systems
ListServer / Forum
  Express Links
  · The NT Insider Digital Edition - May-June 2016 Now Available!
  · Windows 8.1 Update: VS Express Now Supported
  · HCK Client install on Windows N versions
  · There's a WDFSTRING?
  · When CAN You Call WdfIoQueueP...ously

Look Out for Vista -- Remember PoCallDriver and PoStartNextPowerlrp


Occasionally you discover that everything you know is wrong ‑ or rather, everything you know has recently become wrong.


Take the PoCallDriver and PoStartNextPowerIrp functions as prime examples of this phenomena. For years you've known that IRPs with a major function type of IRP_MJ_POWER must be forwarded with PoCallDriver. You've also known that when your device is ready to handle a new power IRP, you must call PoStartNextPowerIrp. It might be annoying to call these functions, but you do it cuz "dem is da rulz."


Enter Longhorn, er, Windows Vista. To ease this long-standing annoyance (and, apparently, eliminate a common cause of crashes) you can now forward power IRPs using the typical function used for this purpose: IoCallDriver. In addition, you won't need to call PoStartNextPowerIrp in Vista at all. To facilitate backward compatibility in Vista PoCallDriver simply invokes IoCallDriver, and PoStartNextPowerIrp apparently doesn't do anything. Surprise! Smile! Three cheers for the Power Management Team!


Whether PoStartNextPowerIrp and PoCallDriver will be deprecated in the Vista build environment of the WDK is currently under discussion among the various Microsoft team members. We'll let you know the decision as soon as we know what it is.

User Comments
Rate this article and give us feedback. Do you find anything missing? Share your opinion with the community!
Post Your Comment

Post Your Comments.
Print this article.
Email this article.
bottom nav links