Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: Bug beim auslesen der Physikalischen Festplatten

  Alt 14. Jul 2006, 17: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 ...?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat