[New - Windows NT]
[New - Windows 95, OEM Service Release 2]
GetDiskFreeSpaceEx功能获取有关磁盘卷上可用空间量的信息:空间总量,可用空间总量以及与调用线程相关联的用户可用空间总量。
Windows 95的OSR 2:
GetDiskFreeSpaceEx功能在从OEM服务版本2(OSR 2)开始的Windows 95系统上可用。
使用GetVersionEx功能确定系统正在运行OSR 2或更高版本的Windows 95操作系统。GetVersionEx函数填充OSVERSIONINFO数据结构的成员。如果该结构的dwPlatformId成员为VER_PLATFORM_WIN32_WINDOWS,并且dwBuildNumber成员的低字大于1000,则系统正在运行OSR 2或更高版本。
一旦确定系统正在运行OSR 2,请调用LoadLibrary或LoadLibraryEx功能加载KERNEL32.DLL文件,然后调用GetProcAddress功能获取GetDiskFreeSpaceEx功能的地址。使用该地址调用该函数。
BOOL GetDiskFreeSpaceEx(
LPCTSTR 【lpDirectoryName】, | //指向感兴趣的磁盘上的目录名称 |
PULARGE_INTEGER 【lpFreeBytesAvailableToCaller】, | //指向变量的指针,以接收可用于调用者的磁盘上的可用字节 |
PULARGE_INTEGER 【lpTotalNumberOfBytes】, | //指向变量的指针,以接收磁盘上的字节数 |
PULARGE_INTEGER 【lpTotalNumberOfFreeBytes】 | //指向变量的指针,以在磁盘上接收空闲字节 |
); |
参数
【lpDirectoryName】
指向一个以空值终止的字符串,指定感兴趣的磁盘上的目录。该字符串可以是UNC名称。
如果【lpDirectoryName】为NULL,则GetDiskFreeSpaceEx函数将获取有关包含正确目录的磁盘的信息。
请注意,【lpDirectoryName】不必指定磁盘上的根目录。该函数接受磁盘上的任何目录。
【lpFreeBytesAvailableToCaller】
指向变量的指针,以接收可用于与调用线程相关联的用户的磁盘上的可用字节总数。
如果操作系统实现每用户配额,则该值可能小于磁盘上的可用字节总数。
【lpTotalNumberOfBytes】
指向变量的指针,以接收磁盘上的总字节数。
【lpTotalNumberOfFreeBytes】
指向变量的指针,以接收磁盘上的可用字节总数。
此参数可以为NULL。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
请注意,此函数获取的值为ULARGE_INTEGER.小心不要将这些值截断为32位。
GetDiskFreeSpaceEx功能可以避免GetDiskFreeSpace功能所需的算术运算。
也可以看看