![]() |
Partitionsbezeichnung auslesen - Partitionstabelle
Hallo zusammen...
Mit der API-Funktion GetVolumeInformation aus der kernel32.dll gibt es ja die Möglichkeit, für ein Volume die Volumebezeichnung (Label) zu ermitteln, bspw für Laufwerk C "System". Dazu muss das Root-Verzeichnis des Volumes angegeben werden. Jetzt möchte ich aber die Laufwerksbezeichnung für ein Volume abfragen, für welches ich kein Root-Verzeichnis angeben kann, da es sich um eine versteckte Partition handelt. Irgendwie muss das ja gehen, schließlich kann PartitionMagic oder so das ja auch. Igendwo muss die Partitionsbezeichnung doch stehen, und ich hätte mal auf die Partitionstabelle getippt, aber darin finde ich keinen für Die Partitionsbezeichnung vorgesehenen Platz. Hat jemand ne Idee wo ich die finde oder wie ich sie auslesen kann? Danke!!! Grüße, Rolf! |
Re: Partitionsbezeichnung auslesen - Partitionstabelle
Die Bezeichnung ist entweder im entsprechenden Dateisystem hinterlegt oder halt im Bootsektor der Partition.
Grundlegend brauchst du nur dann Windows zu fragen, wenn er dir sowas ermitteln kann. Wenn es sich um eine versteckte Partition handelt, dann kannst du dich in der Datenträgerverwaltung umschauen und wirst feststellen, das Windows bei versteckten Partition auch keine Namen anzeigt. Von daher hast du da mit Windows Boardmitteln keine Chance. Partition Magic greift direkt auf die Festplatten zu und ermittelt solche Dinge selber und umgeht die Windows Routinen dazu. Von daher ist das ein ganz anderer Ansatz. Du kannst nun gleiches machen, also die LowLevel WinAPI Funktionen nutzen um direkt auf die Datenebene auf die Datenträger zu zu greifen und die Partitionstabellen selber verarbeiten. Aber da hast du genug zu implementieren. Von daher: ist es dir wirklich so wichtig? |
Re: Partitionsbezeichnung auslesen - Partitionstabelle
Die Daten stehen nicht in der Partitionstabelle. Genau genommen speichert jedes Dateisystem Volumenamen (wenn sie sowas überhaupt unterstützen) woanders. Bei NTFS z.B. gibts einen versteckten Stream mit dem Namen $Volume im Rootverzeichnis. Um an den heran zu kommen wenn die Parition nicht gemounted ist, wirst Du Dir die Hände aber ziemlich schmutzig machen müssen. NTFS per Hand parsen z.B..
|
Re: Partitionsbezeichnung auslesen - Partitionstabelle
In der Tabelle Win32_LogicalDisk vom WMI stehen alle Labels drin.
|
Re: Partitionsbezeichnung auslesen - Partitionstabelle
Zitat:
|
Re: Partitionsbezeichnung auslesen - Partitionstabelle
Zitat:
Ich habe es gerade mal getestet. Ich habe mit einem Partitionierungsprogramm eine zweite primäre Partition auf hidden gesetzt. Dann habe ich eigentlich nur die Möglichkeit rauszubekommen, ob eine Partition auf dem Datenträger versteckt ist über die Tabelle Win32_DiskPartiton. Dort werden mir auf jeden Fall alle Partitionen ob versteckt oder nicht angezeigt. In dieser Tabelle gibt es noch die Device ID, die ungefähr so aussehen kann : Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz