Thema: Delphi USB-Laufwerk ermitteln

Einzelnen Beitrag anzeigen

Benutzerbild von nicodex
nicodex

Registriert seit: 2. Jan 2008
Ort: Darmstadt
286 Beiträge
 
Delphi 2007 Professional
 
#3

Re: USB-Laufwerk ermitteln

  Alt 25. Nov 2008, 09:07
Zitat von Carsten1234:
Wie ermittle ich den Laufwerksbuchstaben?
Ein Volume kann mehrere Laufwerksbuchstaben haben, oder gar keinen und/oder ein oder mehreren Pfaden (Mount Points) eines anderen Volumes zugeordnet sein. Den Laufwerksbuchstaben gibt es also nicht.

Vielleicht helfen dir die folgenden API-Funktionen als Stichpunkte weiter: FindFirstVolume/FindNextVolume, GetVolumePathNamesForVolumeName, DeviceIoControl(IOCTL_STORAGE_QUERY_PROPERTY/IOCTL_STORAGE_GET_DEVICE_NUMBER/IOCTL_DISK_GET_PARTITION_INFO(_EX)/...).

Edit: GetVolumePathNamesForVolumeName ist recht aufwändig zu emulieren (für Windows 2000) und die API-Funktion liefert bei zirkulären Referenzen auch die erste Rekursion als Ergebnis (A ist in B:\Mount eingebunden und B in A:\Mount, dann ist im Ergebnis neben A:\ auch A:\Mount\Mount enthalten).

Edit: oh, ich vergaß die API QueryDosDevice zu erwähnen
  Mit Zitat antworten Zitat