首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查软盘驱动器

检查软盘驱动器
EN

Stack Overflow用户
提问于 2010-07-01 08:53:52
回答 3查看 2.5K关注 0票数 3

为了获得可移动驱动器,我使用了GetDriveType ()函数

是否可以检查驱动器是否是软盘驱动器?

请告诉我你对此的建议..。

谢谢您的帮助

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-01 09:20:10

在内部,Microsoft保存每个设备的命名特征标志(在wdm.h中定义)。如果与驱动器字母对应的设备有标志FILE_FLOPPY_DISKETTE,则驱动器是软盘驱动器:

代码语言:javascript
复制
//
// Define the various device characteristics flags (defined in wdm.h)
//
#define FILE_REMOVABLE_MEDIA                    0x00000001
#define FILE_READ_ONLY_DEVICE                   0x00000002
#define FILE_FLOPPY_DISKETTE                    0x00000004
#define FILE_WRITE_ONCE_MEDIA                   0x00000008
#define FILE_REMOTE_DEVICE                      0x00000010
#define FILE_DEVICE_IS_MOUNTED                  0x00000020
#define FILE_VIRTUAL_VOLUME                     0x00000040
#define FILE_AUTOGENERATED_DEVICE_NAME          0x00000080
#define FILE_DEVICE_SECURE_OPEN                 0x00000100
#define FILE_CHARACTERISTIC_PNP_DEVICE          0x00000800
#define FILE_CHARACTERISTIC_TS_DEVICE           0x00001000
#define FILE_CHARACTERISTIC_WEBDAV_DEVICE       0x00002000

要获得驱动器的特征标志,可以使用不同的API函数。我发现这是使用NtQueryVolumeInformationFile函数的一种最有效和最简单的方法。在获取有关windows7 - 32位系统上磁盘驱动器结果的信息。下,您将找到一个使用此API的示例。

UPDATE: --您可以直接使用NtQueryVolumeInformationFile函数,而无需以前调用IOCTL_STORAGE_GET_DEVICE_NUMBERIOCTL_STORAGE_QUERY_PROPERTY,这在示例中是出于另一个原因而调用的。

更新了2:通过使用GetDriveType来测试驱动器是否可移动是不安全的。我有许多可移动的硬件,GetDriveType将驱动器显示为不可移动,但是特性标志do设置了FILE_REMOVABLE_MEDIA位。SetupDiGetDeviceRegistryPropertySPDRP_REMOVAL_POLICY一起使用也是安全的。在最后一种情况下,您应该像我在示例CM_REMOVAL_POLICY_EXPECT_SURPRISE_REMOVAL中所做的那样,测试CM_REMOVAL_POLICY_EXPECT_ORDERLY_REMOVAL获取有关windows7 - 32位系统上磁盘驱动器结果的信息。

票数 4
EN

Stack Overflow用户

发布于 2010-07-01 09:04:50

这是可能的-看看下面的Microsoft知识库文章

票数 2
EN

Stack Overflow用户

发布于 2010-07-01 08:57:55

据我所知,最好的机会是检查驱动器号是A:还是B:。我还没有尝试将三个USB软盘安装到一台PC上,所以我不知道软盘是否有更高的驱动器号。其他的怪癖也是可能的。但是对于某些目的来说,这个测试几乎是足够可靠的。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3156284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档