{ func to return the free space of a drive in bytes. }
var
{$IFDEF Delphi3Below}
lpFreeBytesAvailableToCaller,
lpTotalNumberOfBytes,
lpTotalNumberOfFreeBytes: comp;
{$ELSE}
lpFreeBytesAvailableToCaller,
lpTotalNumberOfBytes,
lpTotalNumberOfFreeBytes: TLargeInteger;
{$ENDIF}
begin
if GetDiskFreeSpaceEx(PChar(Drive + ':/'), lpFreeBytesAvailableToCaller,
lpTotalNumberOfBytes, @lpTotalNumberOfFreeBytes) then
Result := lpTotalNumberOfFreeBytes
else
Result := -1;
end;