为了确定某个逻辑驱动器的类型,必须调用GetDriveType函数。
例如:以路径名作为参数(如C:\),返回DRIVE_FIXED,DRIVE_REMOVABLE,或DRIVE_UNKNOWN。
下面列出了所有可能返回的值:这些值在winbase.h定义 ,
#define DRIVE_UNKNOWN 0 // 无效路径名
#define DRIVE_NO_ROOT_DIR 1 // 无效路经,如无法找到的卷标
#define DRIVE_REMOVABLE 2 // 可移动驱动器(如磁盘驱动器,光驱等)
#define DRIVE_FIXED 3 // 固定的驱动器 (如 通常的硬盘)
#define DRIVE_REMOTE 4 // 网络驱动器
#define DRIVE_CDROM 5 // CD-ROM
#define DRIVE_RAMDISK 6 // 随机存取(RAM) 磁盘
测试代码如下:
QString pathString = QString("C://");
qDebug() << "pathString:" << pathString;
std::wstring pathWstring(pathString.toStdWString());
DWORD driveType = ::GetDriveTypeW(pathWstring.c_str());
qDebug() << "driveType类型:" <<driveType;
截图如下: