Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Partitionstabelle ändern (https://www.delphipraxis.net/136886-partitionstabelle-aendern.html)

WorstNightmare 9. Jul 2009 20:43

Re: Partitionstabelle ändern
 
Zitat:

Zitat von Muetze1
Beachte bitte das es auch eine GUID Partitionstabelle gibt. Diese ist nicht kompatibel mit der alten Partitionstabelle. Es wird aber noch eine alte geschrieben als Dummy, welche einfach angibt die gesamte Platte belegt zu haben. (Wikiepedia: GUID Partition Table)

Deswegen fragte ich wegen 64-Bit, ich hatte da auch sowas gelesen. Findet man solche GUID Tabellen auch auf externen Platten?

hathor 10. Jul 2009 09:11

Re: Partitionstabelle ändern
 
Ein anderes Problem sind herstellerspezifische MBR, die Code enthalten, um eine spezielle Taste zu aktivieren, die beim Booten die allererste primäre Partition (ca. 5-10GB gross) aktiviert, um Wiederherstellungsfunktionen auszuführen.
Diese heissen bei ACER (F10) z.B. PQSERVICE, bei LENOVO (grüne Thinkvantagetaste) Service Partition ServiceV002.
Wer den MBR ändert, hat keinen direkten Zugriff mehr auf die Wiederherstellungsfunktionen.

Muetze1 10. Jul 2009 10:50

Re: Partitionstabelle ändern
 
Zitat:

Zitat von WorstNightmare
Zitat:

Zitat von Muetze1
Beachte bitte das es auch eine GUID Partitionstabelle gibt. Diese ist nicht kompatibel mit der alten Partitionstabelle. Es wird aber noch eine alte geschrieben als Dummy, welche einfach angibt die gesamte Platte belegt zu haben. (Wikiepedia: GUID Partition Table)

Deswegen fragte ich wegen 64-Bit, ich hatte da auch sowas gelesen. Findet man solche GUID Tabellen auch auf externen Platten?

Das hat nichts mit 64 Bit zu tun.

WorstNightmare 10. Jul 2009 13:16

Re: Partitionstabelle ändern
 
@hathor und Muetze1:
Ich glaube das ist in meinem Fall beides ziemlich egal. So eine Wiederherstellungspartition werde ich wohl kaum auf einer gewöhnlichen externen (mein Code wird ausschließlich auf externe Datenträger angewandt) finden.
Würde sie eine GUID-Partitionstabelle haben, würde sie auch das Zielsystem (kein PC) denke ich nicht mehr oder nicht richtig erkennen.

hathor 10. Jul 2009 13:26

Re: Partitionstabelle ändern
 
Zitat:

Zitat von WorstNightmare
[*]Partitionstabelle auslesen und parsen (halb fertig)

Brauchst Du dazu noch etwas?

http://www.guylhem.net/r-mirror/disk...rescue-src.zip
http://www.torry.net/vcl/filedrv/diskaccess/diskacc.zip

WorstNightmare 10. Jul 2009 15:00

Re: Partitionstabelle ändern
 
Das ist mittlerweile auch fertig.

Jetzt muss ich ein logisches Laufwerk aus der erweiterten Partitionstabelle entfernen, das ist halb fertig. Ich denke das schaffe ich ohne Hilfe.

WorstNightmare 10. Jul 2009 22:08

Re: Partitionstabelle ändern
 
So, die Partition die ich nicht will wird jetzt auch aus erweiterten Partitionstabellen entfernt, egal wie tief sie in diesen vergraben ist.

Allerdings merkt Windows davon nichts und ich kann immer noch auf das Volume zugreifen. Erst wenn ich den USB-Stecker raus- und reinsteck ist das Volume verschwunden.
Ich habe den Kontrollcode FSCTL_DISMOUNT_VOLUME entdeckt, kann ich den Datenträger damit kicken?
Sollte ich es auf der Festplatte (\\.\PHYSICALDRIVEX) oder der Partition (\\.\X: ) ausführen?
Und vor oder nachdem ich rumgeschrieben habe?

hathor 11. Jul 2009 06:49

Re: Partitionstabelle ändern
 
WM_DriveSettings: Diese Message wird ausgelöst, um dem Hauptfenster mitzuteilen, daß sich etwas bei den Einstellungen zu den Lauf-
werken geändert hat.
WM_DEVICECHANGE...

Du musst WINDOWS mitteilen, dass sich mit dem Drive etwas geändert hat...

DBT_DEVICEREMOVECOMPLETE Event

The system broadcasts the DBT_DEVICEREMOVECOMPLETE device event when a device or piece of media has been physically removed.

To broadcast this device event, the system uses the WM_DEVICECHANGE message with wParam set to DBT_DEVICEREMOVECOMPLETE and lParam set as described following.
http://msdn.microsoft.com/de-de/libr...,VS.85%29.aspx
.
http://delphi.icm.edu.pl/ftp/d40free/mpdrpane.zip

WorstNightmare 11. Jul 2009 09:39

Re: Partitionstabelle ändern
 
Hm, so kann mein Programm herausfinden, dass etwas verändert wurde, aber das bringt mir nichts, das weiß es ja eh.

Kann ich diese Message auch irgendwie an Windows zurück senden?

hathor 11. Jul 2009 10:07

Re: Partitionstabelle ändern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Guckst Du hier:

http://msdn.microsoft.com/en-us/library/dd188152.aspx


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:03 Uhr.
Seite 2 von 3     12 3      

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