Mit folgendem Code bekomme Informationen über die Festpaltten und deren Partitionen:
Delphi-Quellcode:
procedure Tform1.DumpDiskExtents(drive: Char);
var
VolumePath : String;
hVolume : cardinal;
BytesWritten : DWORD;
de : VOLUME_DISK_EXTENTS;
i : Integer;
begin
VolumePath := '\\.\'+drive+':';
hVolume := CreateFile(pointer(Volumepath), GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
if hVolume = INVALID_HANDLE_VALUE then
begin
RaiseLastOSError();
exit;
end;
DeviceIOControl(hVolume, IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS, nil, 0, @de, sizeof(de), BytesWritten, nil);
for i := 0 to de.NumberOfDiskExtents-1 do
begin
Memo1.Lines.Add('Extents für: '+drive);
Memo1.Lines.Add(' Extent : '+IntToStr(i+1));
Memo1.Lines.Add(' Disk : '+IntToStr(de.extents[0].DiskNumber));
Memo1.Lines.Add(' Offset : '+IntToStr(de.extents[0].StartingOffset.QuadPart));
Memo1.Lines.Add(' Länge : '+IntToStr(de.extents[0].ExtentLength.QuadPart));
end;
end;
Nur was genau bezeichnet jetzt "Extents", also wie kann man das am besten ins Deutsche übersetzen?