GetDiskFreeSpaceEx磁盘空间

  GetDiskFreeSpaceEx用于获取磁盘空间参数。

  函数原型为:

C++
BOOL WINAPI GetDiskFreeSpaceEx(
  _In_opt_   LPCTSTR lpDirectoryName,
  _Out_opt_  PULARGE_INTEGER lpFreeBytesAvailable,
  _Out_opt_  PULARGE_INTEGER lpTotalNumberOfBytes,
  _Out_opt_  PULARGE_INTEGER lpTotalNumberOfFreeBytes
);

  

  参数lpDirectoryName为磁盘分区路径(可以兼容文件或目录所在磁盘分区);lpFreeBytesAvailable为可用字节数;lpTotalNumberOfBytes为该分区总大小;lpTotalNumberOfFreeBytes为该分区空闲字节数。

  其中ULARGE_INTEGER结构定义如下(WinNT.h):
#if defined(MIDL_PASS)
typedef struct _ULARGE_INTEGER {
#else // MIDL_PASS
typedef union _ULARGE_INTEGER {
    struct {
        DWORD LowPart;
        DWORD HighPart;
    };
    struct {
        DWORD LowPart;
        DWORD HighPart;
    } u;
#endif //MIDL_PASS
    ULONGLONG QuadPart;
} ULARGE_INTEGER;

  其中QuadPart为ULONGLONG类型,为64位的无符号整型。

  这里要注意的是:函数传入参数lpDirectoryName所对应的磁盘目录必须存在。如可以使用"C:\\"作为传入参数,也可以使用"C:\\Windows"作为传入参数。但如果传入"C:\\abc",而abc目录不存在,那么GetDiskFreeSpaceEx就会返回false。


你可能感兴趣的:(GetDiskFreeSpaceEx磁盘空间)