IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Probl�me avec GetVolumeInformation


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    89
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 89
    Par d�faut 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 : S�lectionner tout - Visualiser dans une fen�tre � part
    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

  2. #2
    Membre �m�rite

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Par d�faut
    Vu que 0DA0C560B370CA66 ne tiens pas dans un DWORD, ce n'est visiblement pas le m�me type de num�ro de s�rie. D'ailleurs :
    Citation Envoy� par MSDN
    lpVolumeSerialNumber

    A pointer to a variable that receives the volume serial number.

    This parameter can be NULL if the serial number is not required.

    This function returns the volume serial number that the operating system assigns when a hard disk is formatted. To programmatically obtain the hard disk's serial number that the manufacturer assigns, use the Windows Management Instrumentation (WMI) Win32_PhysicalMedia property SerialNumber.

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    89
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 89
    Par d�faut
    OK, merci.

    Je vais essayer de regarder du cot� de la WMI

    Par contre, je suis d�butant, et je ne sais pas du tout comment �a marche.
    Je vais me renseigner la dessus, mais si quelqu'un a des explications ou des conseils, je suis preneur.

  4. #4
    R�dacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Mai 2007
    Messages
    11 517
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par d�faut
    le num�ro de s�rie que tu r�cup�res dans le champs volSerial est le num�ro de s�rie "logique" inscrit par le logiciel lors du dernier formattage du disque. Si tu reformattes ton disque, tu auras un autre num�ro de s�rie.

    En fait, ce num�ro de s�rie correspond � la date en binaire de formattage, c'est un vestige de MS-DOS.

    Ce num�ro de s�rie "logique" n'a rien � voir avec le num�ro de s�rie "physique" qui lui doit �tre non modifiable (je pense).
    Raymond
    Vous souhaitez participer � la rubrique R�seaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs syst�me et r�seau � configurer leurs �quipements SNMP r�seau.
    e-verbe Un logiciel de conjugaison des verbes de la langue fran�aise.

    Ma page personnelle sur DVP
    .

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    89
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 89
    Par d�faut
    Citation Envoy� par ram_0000 Voir le message
    le num�ro de s�rie que tu r�cup�res dans le champs volSerial est le num�ro de s�rie "logique" inscrit par le logiciel lors du dernier formattage du disque. Si tu reformattes ton disque, tu auras un autre num�ro de s�rie.

    En fait, ce num�ro de s�rie correspond � la date en binaire de formattage, c'est un vestige de MS-DOS.

    Ce num�ro de s�rie "logique" n'a rien � voir avec le num�ro de s�rie "physique" qui lui doit �tre non modifiable (je pense).
    Oui, c'est � peu pr�s ce que j'avais compris avec le message de Sylvain Togni.

    Par contre, j'ai vraiment besoin du num�ro de s�rie physique (� moins qu'il y ait une correspondance entre les deux quelque part dans la base de registre, mais je n'ai pas trouv�. Je vais essayer de trouver un moyen de l'obtenir).
    Pour le moment, je pense essayer de me tourner vers la WMI, qui est ma seule piste.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. VC++ Direct3D8, probl�me avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    R�ponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Probl�me avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    R�ponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Probl�me avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    R�ponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Probl�me avec la m�moire virtuelle
    Par Anonymous dans le forum CORBA
    R�ponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo