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 :

GetVolumeInformation retourne quel type de string


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de deejay2221
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 98
    Par défaut GetVolumeInformation retourne quel type de string
    Bonjours

    J'ai une fonction qui retourne le numéro de série du volume
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    [DllImport("kernel32.dll")]
            private static extern long GetVolumeInformation(string PathName, StringBuilder VolumeNameBuffer, UInt32 VolumeNameSize, 
                                                            ref UInt32 VolumeSerialNumber, ref UInt32 MaximumComponentLength, 
                                                            ref UInt32 FileSystemFlags, StringBuilder FileSystemNameBuffer, 
                                                            UInt32 FileSystemNameSize);
     
            public static string GetVolumeSerial(string strDriveLetter)
            {
                uint serNum = 0;
                uint maxCompLen = 0;
                StringBuilder VolLabel = new StringBuilder(256); // Label
                UInt32 VolFlags = new UInt32();
                StringBuilder FSName = new StringBuilder(256); // File System Name
                strDriveLetter += ":\\"; // fix up the passed-in drive letter for the API call
                long Ret = GetVolumeInformation(strDriveLetter, VolLabel, (UInt32)VolLabel.Capacity, ref serNum, ref maxCompLen, ref VolFlags, FSName, (UInt32)FSName.Capacity);
     
                return Convert.ToString(serNum);
            }
    Je voulais savoir quel est le type de string retourné dans la variable serNum. J'ai fait le test ici et j'ai "1409420068". Je ne sais pas par contre si ce string est en fait du Hexadécimal ou un string random et par malchance je n'ai pas de lettres. Je n'ai rien trouvé sur le Net ni sur MSDN.

    Merci d'avance.

  2. #2
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    sauf erreur ca doit etre des LPTSTR soit des TCHAR :-)

    Mais t 'es pas dans le bon forum : c++ !

  3. #3
    Membre confirmé Avatar de deejay2221
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 98
    Par défaut
    Salut merci pour la réponse

    1 - Je sais que c'est une sorte de string qui est retourné. La chose que je me demande c'est si il y a seulement de chiffres retourné dans cette string, ou des chiffres et A à F pour Hexadécimal, ou encore n'importe quoi.

    2 - Tout le code est en C#... ça ressemble peut-être à du C++, je sais pas. Mais c'est vrai que j'aurais plus de chance sur ce forum

    Merci

  4. #4
    Membre confirmé Avatar de deejay2221
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 98
    Par défaut
    Oké pour répondre ma propre question, le string que ça renvoie c'est du décimal
    Ce n'est pas le numéro de série du disque dur comme je pensait. C'est la valeur décimal du numéro de volume du disque lors de la création de la partition.

    Par exemple, mon numéro de volume en code hexadécimal c'est le 5402-0B24. Donc sa valeur décimal est le 1409420068 renvoyé sous forme de string et non de Int32 pour une raison que j'ignore...

    Voilà
    Résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fonction qui retourne n'importe quel type
    Par andromeda dans le forum C++
    Réponses: 24
    Dernier message: 25/02/2014, 16h47
  2. Réponses: 5
    Dernier message: 03/04/2009, 10h04
  3. Quels types de projets réalisez vous avec .NET
    Par Louis-Guillaume Morand dans le forum Général Dotnet
    Réponses: 106
    Dernier message: 03/12/2007, 18h44
  4. Réponses: 15
    Dernier message: 07/07/2006, 16h30
  5. Quel type de BDD dans mon cas
    Par zoubidaman dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 10/06/2004, 18h00

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