GetDiskFreeSpaceEx("c:\\", lpAvailable, lpTotal, lpFree);结果全是0,什么原因?

解决方案 »

  1.   

    __int64 Available(0);
    __int64 Total(0);
    __int64 Free(0);
    GetDiskFreeSpaceExe("C:\\",(ULARGE_INTGER)&Available,(ULARGE_INTGER)&Total,(ULARGE_INTGER)&Free);
      

  2.   

    BOOL GetDiskFreeSpaceEx(
      LPCTSTR lpDirectoryName,                 // pointer to the directory name
      PULARGE_INTEGER lpFreeBytesAvailableToCaller, // receives the number of bytes on
                                                    // disk available to the caller
      PULARGE_INTEGER lpTotalNumberOfBytes,    // receives the number of bytes on disk
      PULARGE_INTEGER lpTotalNumberOfFreeBytes // receives the free bytes on disk
    );Note that lpDirectoryName does not have to specify the root directory on a disk. The function accepts any directory on the disk
      

  3.   

    GetDiskFreeSpaceExe("C:\\",(PULARGE_INTEGER)&Available......
                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~