调用以下函数需要先声明Windows.h头文件
- GetLogicalDrives()函数
函数原型:DWORD GetLogicalDrives();
返回值:如果该函数成功,则返回值是代表当前可用磁盘驱动器的位掩码。位位置0(最低有效位)是驱动器A,位位置1是驱动器B,位位置2是驱动器C,依此类推。如果函数失败,则返回值为零。
- GetVolumeInformation()函数
函数原型:
BOOL GetVolumeInformation(
LPCSTR lpRootPathName,
LPSTR lpVolumeNameBuffer,
DWORD nVolumeNameSize,
LPDWORD lpVolumeSerialNumber,
LPDWORD lpMaximumComponentLength,
LPDWORD lpFileSystemFlags,
LPSTR lpFileSystemNameBuffer,
DWORD nFileSystemNameSize
);
形参:
- lpRootPathName:指向包含要描述的卷的根目录的字符串的指针。如果此参数为NULL,则使用当前目录的根目录。后面必须加反斜杠。
- lpVolumeNameBuffer:指向缓冲区的指针,该缓冲区接收指定卷的名称。
- nVolumeNameSize:卷名缓冲区的长度,以TCHARs为单位。最大缓冲区大小为 MAX_PATH +1。如果未提供卷名缓冲区,则忽略此参数。
- lpVolumeSerialNumber:指向接收卷序列号的变量的指针。如果不需要序列号,则此参数可以为NULL。
- lpMaximumComponentLength:指向一个变量的指针,该变量接收指定文件系统支持的文件名组件的最大长度(以TCHARs为单位)。
- lpFileSystemFlags:指向变量的指针,该变量接收与指定文件系统关联的标志。
- lpFileSystemNameBuffer:指向缓冲区的指针,该缓冲区接收文件系统的名称,例如FAT文件系统或NTFS文件系统。
- nFileSystemNameSize:文件系统名称缓冲区的长度,以TCHARs为单位。最大缓冲区大小为 MAX_PATH +1。如果未提供文件系统名称缓冲区,则忽略此参数。
ps:LPSTR和LPWSTR是Win32和VC++所使用的一种字符串数据类型。LPSTR被定义成是一个指向以NULL(‘\0’)结尾的32位ANSI字符数组指针,而LPWSTR是一个指向以NULL结尾的64位双字节字符数组指针。