Если допустимо (а) работать только в Windows и (б) требовать права администратора для запуска вашей программы, то это можно сделать с помощью WMI через JACOB .
В частности, взгляните на класс Win32_LogicalDisk . Этого достаточно, чтобы получить тип диска (IDE, сеть, USB и т. Д.), Метку тома и серийный номер тома (которых может быть достаточно для однозначной идентификации съемного тома для целей вашего приложения.)
Для более сложных функций (например, получение серийных номеров привода) существуют другие классы, например. Win32_DiskDrive, Win32_DiskPartition, Win32_PhysicalMedia. Тем не менее, они будут работать полностью, только если вы работаете от имени администратора.