Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results


Before Posting...

Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging

The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.

Check out The OSR Learning Library at:

Power management for Bus driver in Win2000

OSR_Community_UserOSR_Community_User Member Posts: 110,217
I am developing a USB mass storage driver for windows 2000. (This
device need some special commands, so the default microsoft driver
(usbstor.sys) will not work on this device).
There are two components, 1. SCSI Mini port driver 2. USB WDM driver. When
plug in the device, the WDM driver enumerates a child device and load the
plug and play scsi miniport driver. The scsi miniport driver send the srb to
the USB WDM driver. The USB WDM driver physically talk to the device and
write/read data to the device and return data/status to the miniport
driver. This is the way, it works. Read/ write functionality and plug/
unplug functionality is working fine.
The problem:
When I standby the system, I get the following error and get a blue
The DRIVER_POWER_STATE_FAILURE bug check has value 0x0000009F. This
signifies that the driver is in an inconsistent or invalid power state.
Parameter1 = 100
The device objects in the devnode were inconsistent in their use of

My either drivers (scsi miniport's AdapterControl routine and USB
WDM driver's IRP_MJ_POWER) didn't get any call when I standby.

Thanx for any help or suggestion.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Kernel Debugging 30 January 2023 Live, Online
Developing Minifilters 20 March 2023 Live, Online
Writing WDF Drivers TBD 2023 Live, Online
Internals & Software Drivers 17 April 2023 Live, Online