This will be the device with the usb\VID_04f2&PID_0111\5&39fe81e&0&2 device instance id usb\VID_04f2&PID_0111\5&39fe81e&0&2 . This is probably a mass storage device like disk. Now the problem is that the storage device does not actually have a drive letter; This is the amount of disk space that has a drive letter. If there are two partitions, one USB storage device can have two drive letters. Thus, there is no direct function to get the volume.
It looks like you need to list the device tree embedded in usb\VID_04f2&PID_0111\5&39fe81e&0&2 to find children with the device type "volume". You will receive the DEV_BROADCAST_DEVICEINTERFACE field dbcc_name , which you can pass to GetVolumeNameForVolumeMountPoint() .
source share