I need to determine type of storage device ( hot plug device or fixed device) before processing any IRP in my upper volume filter. I do send IOCTL_STORAGE_GET_HOTPLUG_INFO to lower device object but I get STATUS_NO_SUCH_DEVICE for initial few requests. That is probably because at that time lower device is not ready to respond for that query. But my logic breaks as I am not able to resolve type of device when I get IRPs in my volume upper filter.

Is there any other way so that to know if device is hot plug or not?

Or can I make IRPs to volume filter pending , keep sending IOCTL_STORAGE_GET_HOTPLUG_INFO to lower device and complete the IRP when I get deterministic result from lower deivice?