I need to write a program that will crawl through a list of specified drives and return the total and free space of each, I'm using the GetFreeSpaceEx function to do this:

GetDiskFreeSpaceEx(Dnames,NULL,(PULARGE_INTEGER)&t otal,(PULARGE_INTEGER)&free);

(info from http://msdn.microsoft.com/library/en...reespaceex.asp)

That guide and a few forum searches suggest that the thridt argument to getfreediskspaceex should return the total size of the drive, however it is clearly not returning this, n the last trial:

Total=1701228544 bytes
Free =1966190592 bytes

so... I have more free space than total

I'm not running multiple users on this machine, so I don't see that all the quota stuff could be the problem here (though it';s something I'll have to work around later, so if there's anoter function that can do this, please let me know).

I've compared the value for total, and it doesn't seem to be anywhere near any values for the drive , I don't know what this is actually returning.

Any help solving this problem would be greatly appreciated

I'm running on WinXp System, with the Dev-C++ compiler (4.9.7.0) and the actual drive size is 5Gb.

thanks in advance
-Mark