Forum: Win32/Win64 API (native code)
Delphi
by Zacherl,
11. Feb 2009
Leider noch nie gesehen sowas. Doch warte .. Eventuell mal mael fragen, der hat ja den HxD Hexeditor programmiert.
Forum: Win32/Win64 API (native code)
Delphi
by Zacherl,
11. Feb 2009
Ja oki dann bin ich mal gespannt auf die Klasse und baue erstmal meine alte Methode mit den overlapped IO Zugriffen ein.
Forum: Win32/Win64 API (native code)
Delphi
by Zacherl,
11. Feb 2009
Jap stimmt, das wurde mir nun auch klar, aber der Ansatz über overlapped IO Zugriffe klingt gut. Bleiben leider die Fragen, woher ich die gesuchten Infos beziehen kann und ob ich jetzt WriteFile oder doch WriteFileGather verwenden soll.
Forum: Win32/Win64 API (native code)
Delphi
by Zacherl,
11. Feb 2009
So hab nochmal nach anderen Control Codes für DeviceIOControl gesucht, aber dort scheint nichts passendes dabei zu sein.
Forum: Win32/Win64 API (native code)
Delphi
by Zacherl,
10. Feb 2009
Das klingt interessant :) Bin nicht so mit dem Aufbau der Platten und dem Dateisystem vertraut, aber die Größe der gesammten Platte ermittele ich mit:
type
_DISK_GEOMETRY = record
Cylinders: LARGE_INTEGER;
MediaType: MEDIA_TYPE;
TracksPerCylinder: DWORD;
SectorsPerTrack: DWORD;
BytesPerSector: DWORD;
end;
Forum: Win32/Win64 API (native code)
Delphi
by Zacherl,
10. Feb 2009
Es geht um eine Test Anwendung für eine Informatik Arbeit, die die physische Platte nach folgendem Muster löscht:
Vom Begin an werden im Abstand von MAXINT 1Kb Zufallsdaten geschrieben. Ist das Ende der Platte erreicht, wird der Abstand halbiert und der Spaß geht von vorne los.
Selbstverständlich lohnt sich diese Methode nicht zum sicheren Datenlöschen, allerdings ist hier der Ansatz,...
Forum: Win32/Win64 API (native code)
Delphi
by Zacherl,
10. Feb 2009
Hey,
ich wollte in einer meiner Anwendungen Mehrkern CPUs unterstützen und dachte mir, ich schreibe direkt mit mehreren Threads Daten auf eine Festplatte. In den verschiedenen Threads öffne ich das Device folgendermaßen:
hCurDevice := CreateFile(lpParam, GENERIC_ALL, FILE_SHARE_READ or
FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
Nach dem ersten Mal bekomme ich mittels...