GetDiskFreeSpace
VB声明Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTtoalNumberOfClusters As Long) As Long
说明获取与一个磁盘的组织有关的信息,以及了解剩余空间的容量
返回值Long,非零表示成功,零表示失败。会设置GetLastError
参数表参数 类型及说明
lpRootPathName String,不包括卷名的一个磁盘根路径
lpSectorsPerCluster Long,用于装载一个簇内扇区数的变量
lpBytesPerSector Long,用于装载一个扇区内字节数的变量
lpNumberOfFreeClusters Long,用于装载磁盘上剩余簇数的变量
lpTtoalNumberOfClusters Long,用于装载磁盘上总簇数的变量
注解在采用FAT16格式的windows95系统中,如一个驱动器(分区)的容量超过了2GB,则不应使用这个函数。此时,这个函数能识别的最大分区容量只有2GB
VC声明BOOL GetDiskFreeSpace(
LPCTSTR lpRootPathName, //rootpath
LPDWORD lpSectorsPerCluster, //sectorspercluster
LPDWORD lpBytesPerSector ,//bytespersector
LPDWORD lpNumberOfFreeClusters, //freeclusters
LPDWORD lpTotalNumberOfClusters //totalclusters
);
功能说明该函数是获取指定磁盘的信息(包括剩余空间的信息)
函数不能获取到卷的大小超过2GB的磁盘的信息,如果要获得可以使用GetDiskFreeSpaceEx函数;来实现
参数说明lpRootPathName,磁盘的跟目录,如果设置为空,函数就使用当前目录作为这个参数传入,如果指定的是一个UNC名的话,文件名的最后必须带上一个反斜杠
lpSectorsPerCluster, 指定每个簇的扇区数目
lpBytesPerSector 指定每个扇区的字节数目
lpNumberOfFreeClusters, 磁盘总的空闲簇数目
lpTotalNumberOfClusters 磁盘总的簇数目
返回值调用成功 将返回一个非0值
调用不成功 返回0 可以通过GetLastError来获得错误信息