您的位置:首页 > 其它

得到磁盘上剩余空间的值

2009-01-14 21:10 309 查看

GetDiskFreeSpace

The GetDiskFreeSpace function retrieves information about the specified disk, including the amount of free space on the disk.

This function has been superseded by the GetDiskFreeSpaceEx function. New Win32-based applications should use GetDiskFreeSpaceEx.

BOOL GetDiskFreeSpace(
LPCTSTR lpRootPathName,    // pointer to root path
  LPDWORD lpSectorsPerCluster,  // pointer to sectors per cluster
  LPDWORD lpBytesPerSector,  // pointer to bytes per sector
  LPDWORD lpNumberOfFreeClusters,
// pointer to number of free clusters
  LPDWORD lpTotalNumberOfClusters
// pointer to total number of clusters
);

Parameters

lpRootPathName Pointer to a null-terminated string that specifies the root directory of the disk to return information about. If lpRootPathName is NULL, the function uses the root of the current directory. If this parameter is a UNC name, you must follow it with an additional backslash. For example, you would specify //MyServer/MyShare as //MyServer/MyShare/.
Windows 95: The initial release of Windows 95 does not support UNC paths for the lpszRootPathName parameter. To query the free disk space using a UNC path, temporarily map the UNC path to a drive letter, query the free disk space on the drive, then remove the temporary mapping. Windows 95 OSR2 and later: UNC paths are supported.

lpSectorsPerCluster Pointer to a variable for the number of sectors per cluster. lpBytesPerSector Pointer to a variable for the number of bytes per sector. lpNumberOfFreeClusters Pointer to a variable for the total number of free clusters on the disk that are available to the user associated with the calling thread.
Windows NT 5.0 and later: If per-user disk quotas are in use, this value may be less than the total number of free clusters on the disk.

lpTotalNumberOfClusters Pointer to a variable for the total number of clusters on the disk that are available to the user associated with the calling thread.
Windows NT 5.0 and later: If per-user disk quotas are in use, this value may be less than the total number of clusters on the disk.

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

The GetDiskFreeSpaceEx function lets you avoid the arithmetic required by the GetDiskFreeSpace function.

计算公式:

磁盘上剩余空间(字节)=磁道(Sector) * 剩余扇区 * 每扇区的字节数
例子:

DWORD sector,byte,cluster,free;
long int freespace,totalspace;
GetDiskFreeSpace("c://",§or,&byte,&free,&cluster);
totalspace=(cluster)*(byte)*(sector)/1024/1024;
freespace=(free)*(byte)*(sector)/1024/1024;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: