Thema: Delphi USB-Laufwerk ermitteln

Einzelnen Beitrag anzeigen

Carsten1234

Registriert seit: 9. Apr 2008
Ort: Vechelde
178 Beiträge
 
Delphi 8 Professional
 
#6

Re: USB-Laufwerk ermitteln

  Alt 26. Nov 2008, 08:47
Zitat von OregonGhost:
Das meinte nicodex wohl nicht. Geh mal in die Datenträgerverwaltung. Dort kannst du für jede Partition, auch für die Partition(en) auf einem USB-Stick, ein oder mehrere Laufwerksbuchstaben zuweisen oder auch alle entfernen. Konsequenterweise findest du nicht alle USB-Sticks, indem du die Laufwerksbuchstaben durchsuchst.
Auch klar. Nur wird ja dann trotzdem (normalerweise) die Ansicht im Windows Explorer nachgepflegt, ergo muss es dort irgendwo eine Verküpfung zw. dem USB-Gerät selbst und dessen Partition(en) geben. Und wenn eine Partition nicht sichtbar ist, so findet sie GetDriveType auch nicht.
Ich versuche mir gerade an

Delphi-Quellcode:
var HidHandle : THandle;

HidHandle:= CreateFile(PChar('\\.\'+DriveLetter+':'),
                       GENERIC_READ OR GENERIC_WRITE,
                       FILE_SHARE_READ OR FILE_SHARE_WRITE,
                       nil, OPEN_EXISTING, 0, 0);
wobei DriveLetter der über GetDriveType ermittelte Typ 'DRIVE_REMOVABLE' ist.
Im weiteren wollte ich gerne auf die exportierten Funktionen von HID.DLL zugreifen, doch die dortige Funktion HidD_GetAttributes will noch nicht so recht.
In der Online-Hilfe ist dazu zu lesen:
---schnipp---
Comment:
Only user-mode applications can call HidD_GetAttributes. Kernel-mode drivers can use IOCTL_HID_GET_COLLECTION_INFORMATION.
---schnapp---

Und die Sache mit dem IOCTL_HID_GET_COLLECTION_INFORMATION verstehe ich noch nicht so recht...

Gruß, Carsten
  Mit Zitat antworten Zitat