Einzelnen Beitrag anzeigen

Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#2

Re: NTFS-Bootblock mit CreateFile auslesen?

  Alt 26. Mär 2008, 21:45
Im Prinzip brauchst Du nur Adminrechte und den richtigen Devicenamen für den CreateFile-Aufruf. Bei USB-Devices ist zusätzlich noch darauf zu achten, dass der Puffer in den gelesen wird, page-aligned ist. Das erledigt man am einfachsten indem man sich den Speicher mittels VirtualAlloc() anfordert. Freigeben später dann mit VirtualFree() (beides in der MSDN zu finden). Ich hatte irgendwann mal einen kleinen Dumper für meinen USB-Stick geschrieben, der macht im Prinzip genau das. Ich schau mal ob ich den Code noch finde...

CreateFile sollte man mit den Parametern für nur-lese-Zugriff und komplettes Sharing ausstatten, sonst schlägt der Aufruf aller Wahrscheinlichkeit nach fehl (weil auf der Platte im Betrieb halt etliche Files für exklusiven Zugriff geöffnet sind).
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat