none
Come reperire il numero di serie di una SD card? per Windows CE RRS feed

Risposte

  • StringBuilder volname = new StringBuilder(261);
    StringBuilder fsname = new StringBuilder(261);
    uint sernum, maxlen;
    FileSystemFeature flags;
    if (!GetVolumeInformation(d.GetDrive.Name, volname, volname.Capacity, out sernum, out maxlen, out flags, fsname, fsname.Capacity))          Marshal.ThrowExceptionForHR(Marshal.GetHRForLastWin32Error());
    

    Nella variabile sernum troverai il  serial number della schedina SD.

    Devi dichiarare anche GetVolumeInformation e importare una DLL in questo modo:

    [DllImport("Kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
    
     extern static bool GetVolumeInformation(
     string RootPathName,
     StringBuilder VolumeNameBuffer,
     int VolumeNameSize,
     out uint VolumeSerialNumber,
     out uint MaximumComponentLength,
     out FileSystemFeature FileSystemFlags,
     StringBuilder FileSystemNameBuffer,
     int nFileSystemNameSize);
    
    all'inizio di tutto.

     

    giovedì 30 settembre 2010 09:53

Tutte le risposte

  • Ciao, se posso vorrei aggiungere un quesito a questa conversazione perchè penso sia coerente.
    Vorrei sapere, una volta riconosciuto il drive inserito come "removable", se è una SD, una MMC , una chiavetta USB, ecc....
    Grazie a tutti.
    lunedì 1 febbraio 2010 08:58
  • Prova a dare un'occhiata qui.

    http://www.eggheadcafe.com/articles/20021019.asp

    venerdì 24 settembre 2010 06:18
  • StringBuilder volname = new StringBuilder(261);
    StringBuilder fsname = new StringBuilder(261);
    uint sernum, maxlen;
    FileSystemFeature flags;
    if (!GetVolumeInformation(d.GetDrive.Name, volname, volname.Capacity, out sernum, out maxlen, out flags, fsname, fsname.Capacity))          Marshal.ThrowExceptionForHR(Marshal.GetHRForLastWin32Error());
    

    Nella variabile sernum troverai il  serial number della schedina SD.

    Devi dichiarare anche GetVolumeInformation e importare una DLL in questo modo:

    [DllImport("Kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
    
     extern static bool GetVolumeInformation(
     string RootPathName,
     StringBuilder VolumeNameBuffer,
     int VolumeNameSize,
     out uint VolumeSerialNumber,
     out uint MaximumComponentLength,
     out FileSystemFeature FileSystemFlags,
     StringBuilder FileSystemNameBuffer,
     int nFileSystemNameSize);
    
    all'inizio di tutto.

     

    giovedì 30 settembre 2010 09:53