如何找到超过500 GB的驱动器,如C,D和E的自由空间:char pszDrive[10] = "C:\\";
// 64 bits integer
__int64 lpFreeBytesAvailable, lpTotalNumberOfBytes, lpTotalNumberOfFreeBytes;
DWORD dwSectPerClust, dwBytesPerSect, dwFreeClusters, dwTotalClusters;
BOOL test = GetDiskFreeSpaceEx(
pszDrive, (PULARGE_INTEGER)&lpFreeBytesAvailable,
(PULARGE_INTEGER)&lpTotalNumberOfBytes, (PULARGE_INTEGER)&lpTotalNumberOfFreeBytes);
printf("Drive to be checked: %s\n", pszDrive);
printf("\nUsing GetDiskFreeSpaceEx()...\n");
// check the return value
printf("The return value: %d, error code: %d\n", test, GetLastError());
printf("Total number of free bytes available for user-caller: %ul\n", lpFreeBytesAvailable);
printf("Total number of bytes available for user: %ul\n", lpTotalNumberOfBytes);
// just straight to the free bytes result
printf("Total number of free bytes on disk: %ul\n", (lpTotalNumberOfFreeBytes/10485760));
printf("Total : %ul\n", (lpTotalNumberOfBytes+lpTotalNumberOfBytes));
此代码是不给正确的价值超过2 GB。请帮助我。
advancced感谢。
这是非常紧迫的..................