Forum: Win32/Win64 API (native code)
Delphi
by Captnemo,
11. Okt 2015
EOSError: "Systemfehler. Code: 5. Zugriff verweigert"
Komisch, denn mit 3 Partition ist's kein Problem. Möglicherweise hängt es damit zusammen, dass die 4 Partition als Logische Partition in einer erweiterten Partition liegt. Aber warum das einen "Zugriff verweigert" nach sich zieht, erklärt sich mir nicht.
Forum: Win32/Win64 API (native code)
Delphi
by Captnemo,
10. Okt 2015
Hi Zacherl,
Dank dir erst mal für die GROSSE Hilfe.
Ein paar Fragen hätte ich noch, damit ich das auch verstehe:
1.
In dem Teil:
DRIVE_LAYOUT_INFORMATION_EX = record
PartitionStyle: DWord;
Forum: Win32/Win64 API (native code)
Delphi
by Captnemo,
9. Okt 2015
Naja, die ich lese ja nicht die Partitionen direkt.
Rufe die Funktion DeviceIoControl auf und übergebe diese den CommandString IOCTL_DISK_GET_DRIVE_LAYOUT_EX.
Die Funktion soll dann alle im Record DRIVE_LAYOUT_INFORMATION_EX deklarierten Daten auslesen und im Array PartitionInfoEx eben alle PartitonInformationen ablegen, also ParitionStyle, StartOffset, Länge usw.
Dieses Array muss...
Forum: Win32/Win64 API (native code)
Delphi
by Captnemo,
9. Okt 2015
Gibt es denn keinen hier, der das schon mal gemacht hat? Vielleicht muss ich in DRIVE_LAYOUT_INFORMATION_EX das Array anders initialisieren?
Forum: Win32/Win64 API (native code)
Delphi
by Captnemo,
8. Okt 2015
Okay, dann lasse ich es einfach bei , denn mehr Partitionen wird wohl keiner haben.
Forum: Win32/Win64 API (native code)
Delphi
by Captnemo,
8. Okt 2015
Bin je wieder einen Schritt weiter.
PartitionCount liefert bei MBR-Partitionen immer ein vielfaches von 4 zurück. Das erklärt schon mal, warum also immer 4 dort steht.
Also muss man anders an die Information, welche Partitionen denn nun wirklich exstieren.
Dabei hilft DRIVE_LAYOUT_INFORMATION_EX.PartitionInfoEx.Mbr.PartitionType, worin im Falle von MBR diese Information gefunden werden...
Forum: Win32/Win64 API (native code)
Delphi
by Captnemo,
8. Okt 2015
Ich will meine Partitionen auslesen, und deren Zugehörigkeit zu den Harddisks.
Hier mal die Deklaration (das ist die von Hier)
Type
PARTITION_STYLE = type Integer;
PARTITION_INFORMATION_MBR = record
PartitionType: Byte;
BootIndicator: BOOL;