Como obter informações de unidade por id de volume

Eu tenho um arquivo txt com id de volume.

Eu preciso obter informações de unidade (letra da unidade, tamanho da unidade, etc.) da identificação do volume da unidade (Windows):

o ID do volume está no seguinte formato:

<code>\\?\Volume{XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
</code>

A unidade pode ser disco removível / local

Não importa como a informação é recuperada (pode ser script, cpp, c #, código java).

EDITAR:

Eu tentei usar DriveInfo, Win32_LogicalDisk, Win32_Volume, Win32_PnpDevices - mas eu não consegui encontrar esse id estranho ... em todos os casos, o id tem um formato diferente

ATUALIZAR:

Descobri como fazer isso.

você pode enumerar o Win32_Volume assim:

<code>ManagementObjectSearcher ms = new ManagementObjectSearcher("Select * from Win32_Volume");    
foreach(ManagementObject mo in ms.Get())   
{
    var guid = mo["DeviceID"].ToString();

    if(guid == myGuid)
        return mo["DriveLetter"];
}
</code>

questionAnswers(4)

yourAnswerToTheQuestion