How to get vendor and product ID for an USB device during AddDevice?

For some legacy reason I’d need to get USB product and vendor IDs before FDO creation in AddDevice entry point. So I send _URB_CONTROL_DESCRIPTOR_REQUEST to PDO to get USB_DEVICE_DESCRIPTOR. All works well when device is just plugged in. However, when I disable and enable device, I get STATUS_DEVICE_NOT_CONNECTED in XP SP0 and STATUS_DEVICE_BUSY in XP SP2. It works when IRP_MN_START_DEVICE is sent but it is too late for my purpose. Is there any reason why it doesn’t work? And is there another way how to get these IDs? Parsing HardwareID from registry doesn’t seem as a good idea for me.

Best regards,

Michal Vodicka
UPEK, Inc.