pnpdtest.exe Double Start Test, is this a valid test?

pnpdtest.exe Double Start Test, is this a valid test?

Post by David » Thu, 10 Aug 2006 03:19:42


Hello,

I was testing my device stack with pnpdtest.exe (from the vista beta
DDK) and it worked fine until I got to the double start test. The test
was complaining that the second start IRP it sent me did not complete
with success. Is this a valid test? I thought that the correct
behaviour of a driver was to fail the second start IRP if the device
was already started...

Also, is there a real world case in which a driver could get back to
back start IRPs?

thanks for your time
David
 
 
 

pnpdtest.exe Double Start Test, is this a valid test?

Post by Eliyas Yak » Thu, 10 Aug 2006 03:39:00

PNP manager sends a start request (IRP_MN_START_DEVICE) after the device is
started only if a function driver (or any driver in charge of the device) in
the device-stack invalidates the device-state by calling
IoInvalidateDeviceState and responds to IRP_MN_QUERY_DEVICE_STATE with
PNP_DEVICE_RESOURCE_REQUIREMENTS_CHANGED.

The pnp manager will never do Start->Start to rebalance resources. It will
always stop the device first before restarting it. So the double start
sequence should be tested only if your driver wants to support such an
operation for any reason.

This is not a required test for logo. In fact, this option is already
removed from the pnpdtest UI. The command line option is still there just in
case the driver wants to support this sequence.


--
-Eliyas
This posting is provided "AS IS" with no warranties, and confers no rights.
http://www.yqcomputer.com/