Retrieves information about the amount of space that is available on a disk volume, which is the total
amount of space, the total amount of free space, and the total amount of free space available to the user that is
associated with the calling thread.
Syntax
BOOL WINAPI GetDiskFreeSpaceEx(
__in_opt LPCTSTR lpDirectoryName,
__out_opt PULARGE_INTEGER lpFreeBytesAvailable,
__out_opt PULARGE_INTEGER lpTotalNumberOfBytes,
__out_opt PULARGE_INTEGER lpTotalNumberOfFreeBytes
);
Parameters
- lpDirectoryName [in, optional]
-
A directory on the disk.
If this parameter is NULL, the function uses the root of the current disk.
If this parameter is a UNC name, it must include a trailing backslash, for example,
"\\MyServer\MyShare\".
This parameter does not have to specify the root directory on a disk. The function accepts any directory on a
disk.
The calling application must have FILE_LIST_DIRECTORY access rights for this
directory.
- lpFreeBytesAvailable [out, optional]
-
A pointer to a variable that receives the total number of free bytes on a disk that are available to the user
who is associated with the calling thread.
This parameter can be NULL.
If per-user quotas are being used, this value may be less than the total number of free bytes on a disk.
- lpTotalNumberOfBytes [out, optional]
-
A pointer to a variable that receives the total number of bytes on a disk that are available to the user who
is associated with the calling thread.
This parameter can be NULL.
If per-user quotas are being used, this value may be less than the total number of bytes on a disk.
To determine the total number of bytes on a disk or volume, use
IOCTL_DISK_GET_LENGTH_INFO.
- lpTotalNumberOfFreeBytes [out, optional]
-
A pointer to a variable that receives the total number of free bytes on a disk.
This parameter can be NULL.
Return Value
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero (0). To get extended error information, call
GetLastError.
Remarks
The values obtained by this function are of the type
ULARGE_INTEGER. Do not truncate these values to 32
bits.
The GetDiskFreeSpaceEx function returns zero (0)
for lpTotalNumberOfFreeBytes and lpFreeBytesAvailable for all
CD requests unless the disk is an unwritten CD in a CD-RW drive.
Symbolic link behavior—If the path points to a symbolic link, the operation is performed
on the target.
Requirements
| Minimum supported client | Windows 2000 Professional |
| Minimum supported server | Windows 2000 Server |
| Header | WinBase.h (include Windows.h) |
| Library | Kernel32.lib |
| DLL | Kernel32.dll |
| Unicode and ANSI names | GetDiskFreeSpaceExW (Unicode) and GetDiskFreeSpaceExA (ANSI) |
See Also
- Disk Management Functions
- GetDiskFreeSpace
- GetModuleHandle
Send comments about this topic to Microsoft
Build date: 10/22/2009