Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi physical Drive <---> Partions? (https://www.delphipraxis.net/93632-physical-drive-partions.html)

Mattze 8. Jun 2007 15:01


physical Drive <---> Partions?
 
Hallo,

ich kriege es einfach nicht raus!
Wahrscheinlich sind meine Suchabfragen nicht richtig...

Wie bekommt man die Partitions (bzw. deren "Laufwerksbuchstaben") zu einem physical Drive?
Also z. Bsp.: Physical drive 0 hat die Partitios c:, d:, e:

Und umgekehrt!
Wenn ich die Partiton c: habe, wie bekomme ich das physical drive, auf dem sie liegt?

Übrigens noch was, bzw. allgemeiner:
Wie bekomme ich den Namen eines Gerätes (HD, DVD-Brenner usw.) und (bei HD) seine Partions bzw. (beim Brenner) seinen "logischen" (Laufwerks-) Namen?

Ich möchte das allerdings nicht über die Registry, sondern direkt!

Gruß
Mattze

himitsu 8. Jun 2007 16:33

Re: physical Drive <---> Partions?
 
Nur eine Frage pro Thread :nerd:

Für alles was du willst ... schau dich mal im WMI um.

besonsders in der Hier im Forum suchenWMIDemo die Klassen unter
*** Computer System Hardware Classes - Mass Storage Classes ***
*** Operating System Classes - File System ***


Erste Frage: MSDN-Library durchsuchenIOCTL_DISK_GET_DRIVE_LAYOUT_EX

Mattze 8. Jun 2007 18:51

Re: physical Drive <---> Partions?
 
Hallo,

Danke!
Es mögen ja 3 Fragezeichen in meinem Beitrag auftreten, aber der Inhalt der Fragen ist jedesmal der gleiche.

Die EINZIGE Frage war nach dem Prinzip!

Das "IOCTL...EX" kannte ich noch nicht und WMI mag ich zwar nicht, aber es ist ein guter Hinweis.

Gruß
Matthias

inherited 8. Jun 2007 18:52

Re: physical Drive <---> Partions?
 
Als Delphi-Programmierer wirst du früher oder später nicht um die WMI herumkommen ;)

himitsu 8. Jun 2007 19:12

Re: physical Drive <---> Partions?
 
Neee, z.B. die Partitionsnamen (was eigentlich zum Dateisystem gehört und nichts mit der Partition zu tun hat) hat nüschts mit der Zuordnung vn Partition und Festplatte gemeinsam.

@inherited:
na ja, WMI hat ja seine Daten auch irgendwo her und jetzt rate mal von wo?
genau, über die bekannten WinAPIs und andere Dinge.

Mattze 9. Jun 2007 09:51

Re: physical Drive <---> Partions?
 
Hallo,

Danke Euch.

@inherited:
Ich programmiere seit über 25 Jahren. Erst Turbo Pascal und dann Delphi. (Allerdings seit 15 Jahren - bzw. seit "Delphibegin" nur noch aus Lust an der Freude, da ich leider "Invalidenrentner" bin.)
Ich habe natürlich auch schon WMI probiert und auch .Net.
.Net mag ich überhaupt nicht und ohne WMI läuft mein Dateimanager mit vielem mehr auch sehr gut. Bisher bin ich noch nie an WMI-nötige Grenzen gestoßen.
Und, wie himitsu schon sagte, auch WMI kann nur das benutzen, was die API vorgibt. Also warum dann nicht gleich auf die API zurückgreifen und einen Zwischenschritt in Kauf nehmen?

@himitsu:
Es geht mir eigentlich kaum um den Namen der Partition. Der ist ohne Probleme zu kriegen, wenn man den LAUFWERKSBUCHSTABEN der Partition hat. Und die Frage nach der Partitonszuordnung zum physical drive und deren Laufwerksbezeichnung (kann man Partitionen anders ansprechen) halte ich eben für die im Prinzip selbe Frage.
Egal! Im Grunde ob 1 oder 100 Fragen. Irgendjemand sagte mal, nicht die Frage ist blöd, nur die Antworten sind es manchmal!
Womit ich Dich jetzt ausdrücklich NICHT meine. Der Spruch gilt Nur "aus Prinzip"!
Der Witz ist bloß, dass gerade die API dermaßen viel bereitstellt, dass man das selten von alleine alles kennt. Selbst die 5 Bände "Win32API" von C&L schaffen nur einen groben Überblick. Ich staune da immer wieder gewaltig!
Dazu kommt dann noch die ganz andere API-Welt des DDK usw.
Und vieles ist auch nicht dokumentiert - aber der eine oder andere kennt das eben doch. Ich hasse es, das Fahrrad neu erfinden zu müssen! Also frage ich lieber...

Gruß
Mattze

Luckie 9. Jun 2007 13:25

Re: physical Drive <---> Partions?
 
Guck dir mal die Unit HDDInfo.pas aus meinem Programm SysInfo an:
http://www.michael-puff.de/dirindex....phi/Programme/

Mattze 9. Jun 2007 16:20

Re: physical Drive <---> Partions?
 
Hallo Luckie,

vielen Dank! Das ist genau das, was ich gesucht habe.
Ich bin natürlich schon einigemale beim Suchen auf Deine Sysinfo gestoßen.
Die ließ sich aber über die Links nicht finden.
Vielen, vielen Dank!

Nun brauche ich nur noch den "Plattennamen". Für Recorder gibt es da in der JwaImapi einen IDiscRecorder, in der JwaWinIoctl nur ein Makro(PCHANGER_PRODUCT_DATA?).
Steht irgendwo, wie (mit welchen Parametern) man die Dinger aufruft?
(In der DiskGeometryGetDetect zeigen sie das ja, aber das ist wohl kaum immer so.)

Gruß
Mattze


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz