Double Start

Double Start is tested by selecting the target device and clicking Test Double Start.

As with the removal test, the test application will attempt to add an upper filter to the target device stack and then restart the device stack by using SetupDiCallClassInstaller with DIF_PROPERTYCHANGE. If this attempt is not successful (that is, if someone on the target device stack failed the query-remove IRP), you might need to restart the computer to test double start.

This option creates a scenario in which a driver gets two start IRPs without getting a stop in between. This option is not included as part of stress. This test should be run, if you think your driver should handle this case. In this case, the filter driver tells the PnP manager that resources have changed but does not want the device stack to be stopped. This action causes:

  • IRP_MN_START (When the device is started, it must have this IRP.)

  • IRP_MN_QUERY_RESOURCE_REQUIREMENTS

  • IRP_MN_FILTER_RESOURCE_REQUIREMENTS

  • IRP_MN_START_DEVICE

After the double start test is complete, the device will be uninstalled and reenumerated, also removing the filter driver from the stack.

 

 

Send comments about this topic to Microsoft

Build date: 9/28/2012