WriteFile für direkten Festplattenzugriff
-
moin, ich will unter NT/XP mit CreateFile zuerst einen handle auf die platte holen und dann mit WriteFile bestimmte Sektoren direkt beschreiben.
aber mir ist diese overlapped struktur etwas unbekannt , wie / wo setze ich denn da den Sektor wo er anfangen soll usw? (macht man doch in der overlapped oder). Wäre dankbar für etwas Beispielcode.
schonmal danke für alle die posten !
-
Ich denke nicht, dass das so einfach ist. Da wäre ja in null,nichts die ganze Platte nahezu unbrauchbar gemacht
-
naja partition magic etc kanns ja auch
ich würd halt gern meinen bootloader in den mbr schreiben
-
Ich denke nicht, daß es in der WinAPI Funktionen gibt, mit denen sich direkt auf die Hardware zugreifen läßt. Das würde ja auch dem Sicherheitsdenken von Windows zuwiderlaufen. Kann mich aber auch irren.
Möglicherweise gibt's für sowas dann spezielle APIs, oder man muß sowas direkt in Assembler machen.
-
hi
schau dir mal die remarks zu CreateFile und die funktion DeviceIoControl an. habs zwar noch nie ausprobiert, sollte aber machbar sein
bye
-
jo, dass es machbar ist weiß ich
aber kann ich dann zB einfach SetFilePointer(hdd, 512, NULL, FILE_BEGIN)
machen und er setzt dann auf den zweiten Sektor oder so ?
-
hi
da mein mainboard vor einigen tagen verabschiedet hat kann ich dás ganze leider nicht testen... hab momentan keinen zugriff auf nen c compiler unter windows
also ich hab mal bisschen gesucht und mir scheints so als würde das mit setfilepointer gehen
probier doch mal so was in der art:hFile = CreateFile("\\\.\\PHYSICALDRIVE0", ...)
SetFilePointer(hFile, pointer, ..., FILE_BEGIN)
ReadFile(hFile, ...)aber lies mal vorher besser das hier:
http://www.techweb.com/winmag/library/1995/0695/06howtoc.htm?print=1
habs mal so überflogen und scheint das zu sein, was du suchstaber wenn was schiefgeht, ists nicht meine schuld, k?
bye
-
ah danke vielmals, das scheint wirklich genau das zu sein