使用函数的一个有关问题,小弟我用GetDiskFreeSpaceEx得到硬盘的大小,但返回值太大,42,598,848G

使用函数的一个问题,我用GetDiskFreeSpaceEx得到硬盘的大小,但返回值太大,42,598,848G
procedure   TForm1.Button1Click(Sender:   TObject);

var         d:Char;
        userFreeBytes,totalBytes,freeBytes:Int64;
begin
              GetDiskFreeSpaceEx(PChar(d+ ':\ '),userFreeBytes,totalBytes,@freeBytes);
    Edit1.Text:=Formatfloat( '###,##0 ',(((totalBytes)div   1024)div   1024)div   1024)+ 'G ';
    Edit2.Text:=Formatfloat( '###,##0 ',freeBytes)+ '字节 ';
end;

end.


返回值太大,且把d换成别的字符也是同样的结果,为什么啊?

------解决方案--------------------
你还没指定盘符:

var
d:Char;
userFreeBytes,totalBytes,freeBytes:Int64;
begin
d:= 'C '; //指定C盘
GetDiskFreeSpaceEx(PChar(d+ ':\ '),userFreeBytes,totalBytes,@freeBytes);
Edit1.Text:=Formatfloat( '###,##0 ',totalBytes div 1024 div 1024 div 1024)+ 'G ';