Minor correction to my previous message:
Second StartDevice() was as as result of pnp manager adding another
instance of primary device as a consequence of my mishandling of
IRP_MN_QUERY_ID and subsequent device driver reinstallation.
I still need to know how to avoid this by better handling of
IRP_MN_QUERY_ID for the child device.
ned