#define DRIVE_LEN 100
char szDrivers[DRIVE_LEN] = {0};
int i_Drive_Len = DRIVE_LEN;
GetLogicalDriveStrings(i_Drive_Len, szDrivers);
char *psz = szDrivers;
ULARGE_INTEGER FreeBytesAvailableToCaller = {0};
ULARGE_INTEGER TotalNumberOfBytes = {0};
ULARGE_INTEGER TotalNumberOfFreeBytes = {0};
while (*psz != '\0')
{
GetDiskFreeSpaceEx(psz, &FreeBytesAvailableToCaller, &TotalNumberOfBytes, &TotalNumberOfFreeBytes);
printf("%s:FreeBytesAvailableToCaller %llu, TotalNumberOfBytes %llu, TotalNumberOfFreeBytes %llu\n", psz,
FreeBytesAvailableToCaller.QuadPart, TotalNumberOfBytes.QuadPart, TotalNumberOfFreeBytes.QuadPart);
psz += 4;
}