Entwickler-Ecke

Windows API - Laufwerksbuchstabe(n) von PhysicalDevice


opfer.der.genauigkeit - Fr 08.02.08 19:34
Titel: Laufwerksbuchstabe(n) von PhysicalDevice
Hey hey,

kennt jemand eine Möglichkeit von physikalischen Laufwerken den entsprechenden Laufwerksbuchstaben zu bekommen?
Es gibt den Controlcode IOCTL_MOUNTMGR_QUERY_POINTS, der sollte zwar dafür geeignet sein, aber ich frage mich,
ob es nicht einen einfachere Methode gibt.

Danke & MfG
odg

Edit: Oder umgekehrt, sprich von logischen Laufwerken auf die Physischen schließen.


opfer.der.genauigkeit - Fr 08.02.08 21:18

...das Alter...
Vor zwei Tagen habe ich genau dazu einen Code geschrieben... ich werde vergesslich.

Als erstes hole ich mir über GetLogicalDrives alle Chars, gefolgt von eimen CreateFile und zu guter Letzt lese ich die Devicenummer (physisch) mit DeviceIOControl aus.


BenBE - So 10.02.08 16:15

Von logischem Laufwerksbuchstaben auf physikalisches Laufwerk gibt's die Registry ... Dort steht unter HKLM\System\MountedDevices zu jedem \DosDevice\X: der zugehörige Mount-Path als Device-Mountpoint drin. Muss man nur noch kurz auswerten.


opfer.der.genauigkeit - So 10.02.08 16:20

Merci


BenBE - So 10.02.08 17:13

Für andersrum gibt's ne Funktion GetMountedPaths IIRC. Musst Du z.B. auf meinem Lappy beachten: Dort hängen sowohl das Programme- als auch das Daten-Verzeichnis über nen Mountpoint unter Laufwerk C drin. (C: auf C: mounten hängt übrigens die meisten Programme auf.)