1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| PULARGE_INTEGER lpFreeBytesAvailable;
PULARGE_INTEGER lpTotalNumberOfBytes;
PULARGE_INTEGER lpTotalNumberOfFreeBytes;
WCHAR lpDirectoryName[mountPoint.length()+1];
mountPoint.toWCharArray(lpDirectoryName)*2;
if(GetDiskFreeSpaceEx(lpDirectoryName,lpFreeBytesAvailable,lpTotalNumberOfBytes,lpTotalNumberOfFreeBytes)==0)
{
DEBUGCONSOLE(10,"freeSpaceDrive","Unable stat this mount point: "+mountPoint);
return -1;
}
else
{
DEBUGCONSOLE(90,"freeSpaceDrive","lpFreeBytesAvailable: "+QString::number(lpFreeBytesAvailable));
DEBUGCONSOLE(90,"freeSpaceDrive","lpTotalNumberOfBytes: "+QString::number(lpTotalNumberOfBytes));
DEBUGCONSOLE(90,"freeSpaceDrive","lpTotalNumberOfFreeBytes: "+QString::number(lpTotalNumberOfFreeBytes));
qint64 tempReturn=0;
double temp=lpFreeBytesAvailable;
tempReturn=(double)lpFreeBytesAvailable.QuadPart;
tempReturn*=(double)lpTotalNumberOfBytes.QuadPart;
tempReturn*=(double)lpTotalNumberOfFreeBytes.QuadPart;
return tempReturn;
} |
Partager