[New - Windows NT]
[New - Windows 95, OEM Service Release 2]
The GetDiskFreeSpaceEx function obtains information about the amount of space available on a disk volume: the total amount of space, the total amount of free space, and the total amount of free space available to the user associated with the calling thread.
Windows 95 OSR 2:
The GetDiskFreeSpaceEx function is available on Windows 95 systems beginning with OEM Service Release 2 (OSR 2).
Use the GetVersionEx function to determine that a system is running OSR 2 or a later release of the Windows 95 operating system. The GetVersionEx function fills in the members of an OSVERSIONINFO data structure. If the dwPlatformId member of that structure is VER_PLATFORM_WIN32_WINDOWS, and the low word of the dwBuildNumber member is greater than 1000, the system is running OSR 2 or a later release.
Once you have determined that a system is running OSR 2, call the LoadLibrary or LoadLibraryEx function to load the KERNEL32.DLL file, then call the GetProcAddress function to obtain an address for the GetDiskFreeSpaceEx function. Use that address to call the function.
BOOL GetDiskFreeSpaceEx(
LPCTSTR lpDirectoryName, | // pointer to directory name on disk of interest |
PULARGE_INTEGER lpFreeBytesAvailableToCaller, | // pointer to variable to receive free bytes on disk available to the caller |
PULARGE_INTEGER lpTotalNumberOfBytes, | // pointer to variable to receive number of bytes on disk |
PULARGE_INTEGER lpTotalNumberOfFreeBytes | // pointer to variable to receive free bytes on disk |
); |
Parameters
lpDirectoryName
Pointer to a null-terminated string that specifies a directory on the disk of interest. This string can be a UNC name.
If lpDirectoryName is NULL, the GetDiskFreeSpaceEx function obtains information about the disk that contains the currect directory.
Note that lpDirectoryName does not have to specify the root directory on a disk. The function accepts any directory on the disk.
lpFreeBytesAvailableToCaller
Pointer to a variable to receive the total number of free bytes on the disk that are available to the user associated with the calling thread.
If the operating system implements per-user quotas, this value may be less than the total number of free bytes on the disk.
lpTotalNumberOfBytes
Pointer to a variable to receive the total number of bytes on the disk.
lpTotalNumberOfFreeBytes
Pointer to a variable to receive the total number of free bytes on the disk.
This parameter can be NULL.
Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
Note that the values obtained by this function are of type ULARGE_INTEGER. Be careful not to truncate these values to 32 bits.
The GetDiskFreeSpaceEx function lets you avoid the arithmetic required by the GetDiskFreeSpace function.
See Also