返回首页

如何找到超过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感谢。
这是非常紧迫的..................

回答

评论会员: 时间:2
M