С Win32_LogicalDisk работал ранее из .NET, к сожалению, все кроме буквы диска.
Вообще-то в поле DeviceID как раз и должна быть буква диска.
В PowerShell: Get-WMIObject Win32_LogicalDisk | select DeviceID
Кстати, есть такая мысль — во-первых, при получении WM_DEVICECHANGE вы получаете уведомление о подключении именно устройства, а не монтировании ФС. Поэтому получить из него что-либо относящееся к ФС нельзя, либо можно но спустя некоторое время, когда ФС смонтируется.
Вообще-то в поле DeviceID как раз и должна быть буква диска.
В PowerShell:
Get-WMIObject Win32_LogicalDisk | select DeviceID
Кстати, есть такая мысль — во-первых, при получении WM_DEVICECHANGE вы получаете уведомление о подключении именно устройства, а не монтировании ФС. Поэтому получить из него что-либо относящееся к ФС нельзя, либо можно но спустя некоторое время, когда ФС смонтируется.