(Gast)
n/a Beiträge
|
AW: Partition zu phys. LW?
14. Jun 2018, 22:09
Von welcher Zeile im Code redest Du? Poste bitte was alles falsch sein soll, ich kann das gerade nicht zuordnen, vielen Dank für mühe!
Delphi-Quellcode:
function GetPhysicalDiskNumber(Drive: Char): Integer; // Integer
function GetLD(Drive: Char): Cardinal; // Result Cardinal
var
Buffer : String;
begin
Buffer := Format('\\.\%s:',[Drive]);
Result := CreateFile(PChar(Buffer), GENERIC_READ,
FILE_SHARE_READ or FILE_SHARE_WRITE,
nil, OPEN_EXISTING, 0, 0); // Result Cardinal
Win32Check(Result <> INVALID_HANDLE_VALUE); // Result Cardinal
end;
//...
DiskExtents := AllocMem(Max_Path);
try
DeviceIOControl(LD,IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS,nil,0,DiskExtents,Max_Path,BytesReturned,nil);
If DiskExtents^.NumberOfDiskExtents > 0 Then
begin
DiskExtent := DiskExtents^.Extents[0];
Result := DiskExtent.DiskNumber; // Result Cardinal und du gibst Integer zurück!
end;
finally
FreeMem(DiskExtents);
end;
gruss
|
|
Zitat
|