此程序怎么修改

此程序如何修改?float GetTheFreeSpace(AnsiString ThePath){ULARGE_INTEGER FreeSpaceToCall,TotalSpace,

此程序如何修改?


float GetTheFreeSpace(AnsiString ThePath)
{
    ULARGE_INTEGER FreeSpaceToCall,TotalSpace,FreeSpace;
    AnsiString drv = ExtractFileDrive(ThePath);
    float TheFreeSpace;

    ::GetDiskFreeSpaceEx(drv.c_str(),&FreeSpaceToCall,&TotalSpace,&FreeSpace);
    TheFreeSpace=FreeSpace.QuadPart/1024/1024;
    return TheFreeSpace;
}


有这样的函数,如果如果指定盘符非法,返回-1。比如输入Z盘,电脑无Z盘就返回-1.如何实现?
[解决办法]
就用上面的代码获取所有机器上的盘符,
然后 AnsiString drv = ExtractFileDrive(ThePath); 
把 drv 跟这个盘符列表比对,如果在列表中就是有效的