Einzelnen Beitrag anzeigen

Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#5

AW: Zu Mountpoints Festplatte/Parition bzw. Laufwerksbuchstabe auslesen

  Alt 7. Okt 2015, 07:32
Guck mal, ob mein Programm SysInfo (http://michael-puff.de/Programmierung/Delphi/Programme/) das anzeigt, was du willst. Ist mit Quellcode.
Danke. Im Grund entspricht das, was du THDInfo ausliest, schon ganz dem, was ich benötige. Nur holtst du die das die Parition über die Laufwerksbuchstben. Ich möchte aber auch die Partitionen erfassen, die keinen Laufwerksbuchstbaben haben, wie z.B. die System-reserved von Win7+, oder andere, denen man ggf. aus eigenen Gründen keinen LW-Buchstaben zugeordnet hat.

Oder man wirft einen Blick in die Doku https://msdn.microsoft.com/en-us/lib...25(VS.85).aspx und schaut sich das Beispiel an. Schon weiß man, wohin der Gaul laufen muss.
Mit der Funktion FindFirstVolume und etc. hole ich mir ja bereit die VolumeNames. Mir geht es ja darum, daraus jetzt
a) die HDD's zu Nummerieren (Quasi entsprechend ihrem Anschluss am SATA. SATA1=HDD1, SATA2=HDD2 usw).
b) Festzustellen, welche der Partitionsnamen zu welcher HDD gehörte und in der richtigen Reihenfolge
c) Dazu möglich noch den LW-Buchstaben zu erfahren
d) Den Mediatyp auszulesen (Wobei das bei vorhandenem LW-Buchstabe sicherlich nicht das Problem wäre. Aber auch bei Partitionen ohne LW-Buchstaben von Interesse)

Dazu habe ich im MSDN ja was über PARTITION_INFORMATION_EX bzw. IOCTL_DISK_GET_PARTITION_INFO_EX gelesen, komme aber mit der Umsetzung der deklaration nach Delphi nicht wirklich klar. Liegt sicherlich an mir, weil ich mich dabei immer etwas schwer tue.

Stichworte:

GetVolumePathNamesForVolumeName
-> C:\

QueryDosDevice
-> \Device\HarddiskVolume1

Beide nehmen dein Volume '\\?\Volume{c4ee0265-bada-11dd-9cd5-806e6f6e6963}\', jedoch muss bei QueryDosDevice auf 'Volume{c4ee0265-bada-11dd-9cd5-806e6f6e6963}' abgeschnitten werden....
Damit kann ich schon mal was anfangen. GetVolumePathNamesForVolumeName liefert mir schon mal den Laufwerksbuchstaben. Was mir QueryDosDevice liefert werde ich mir gleich mal ansehen. Aber wie bekomme ich die Zuordnung, welche Partition am Ende zu welcher HDD gehört?
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat