Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.054 Beiträge
 
Delphi 12 Athens
 
#5

Re: Bug beim auslesen der Physikalischen Festplatten

  Alt 14. Jul 2006, 18:02
Und du bist dir ganz sicher, daß es beide Male auf die selbe Platte zeigt?

du könntst ja als Erstes mal den Rückgabewert von DeviceIOControl mit auswerten.
Delphi-Quellcode:
if hDevice <> INVALID_HANDLE_VALUE then
  if DeviceIOControl(hDevice, IOCTL_DISK_GET_DRIVE_GEOMETRY, nil, 0, @dg, sizeof(dg), dummy, nil) then
  begin
    size := dg.Cylinders.QuadPart*dg.TracksPerCylinder*dg.SectorsPerTrack*dg.BytesPerSector;
    MemHD.Lines.Add('HD'+inttostr(i)+': '+chr(9)+IntToStr(Round(size/ 1048576)));
  end;
oder
Delphi-Quellcode:
if (hDevice <> INVALID_HANDLE_VALUE)
  and DeviceIOControl(hDevice, IOCTL_DISK_GET_DRIVE_GEOMETRY,
  nil, 0, @dg, sizeof(dg), dummy, nil) then
begin
  size := dg.Cylinders.QuadPart*dg.TracksPerCylinder*dg.SectorsPerTrack*dg.BytesPerSector;
  MemHD.Lines.Add('HD'+inttostr(i)+': '+chr(9)+IntToStr(Round(size/ 1048576)));
end;
Eventuell ist in dem Rechner auch ein RAID-System, dann gibt's ja auch mehr physikalische Platten, als Logische,
oder nicht alles ist gemountet,
oder ...?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat