Problème avec GetVolumeInformation
Bonjour,
J'ai créé une fonction permettant de lire les infos sur une clé USB, en utilisant GetVolumeInformation.
Elle a l'air de marcher correctement (aucune erreur d'execution ou de compilation), cependant il y a un petit problème : le numéro de série que je récupère ne correspond pas à celui de la clé (vu dans la base de registre par exemple).
Mon code est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| DWORD InfoUSB(void)
{
TCHAR volName[256];
DWORD volSerial;
DWORD nameLen;
DWORD volFlags;
TCHAR volFS[256];
LPCTSTR chemin = _T("H:\\");
GetVolumeInformation(chemin, volName, ARRAYSIZE(volName), &volSerial, &nameLen, &volFlags, volFS, ARRAYSIZE(volFS));
return volSerial;
} |
J'obtiens 1616621425 au lieu de 0DA0C560B370CA66, par exemple.
J'ai bien sûr essayé de passer la valeur obtenue en hexadécimal, mais ça ne donne toujours pas le bon résultat.
Le nom et le type de partition sont corrects, par contre, donc les infos sont bien prises sur la bonne clé USB.
Je sais pas si ça change quelque chose, mais c'est un projet MFC, avec Visual studio 2005.
Merci d'avance pour votre aide