检查磁盘是否插入到保留的分区中
Check if disk inserted into a preserved partition
我使用GetDriveTypeA("D:\")
来检查"保留的D"驱动器的存在,但它始终存在,即使没有插入磁盘。为什么?当磁盘未插入时,它甚至在磁盘管理中不可见。
没有插入可移动磁盘并不意味着驱动器本身或其分配的驱动器号不存在。Windows系统UI可能会隐藏带有弹出介质的驱动器(用户将在没有介质的驱动器上执行什么管理?),但如果需要,代码仍然可以与这些驱动器交互。这就是为什么如果D:
已分配给驱动器,则GetDriveType()
不会失败。
如果您真的需要检查是否插入了磁盘,请执行一些需要磁盘的操作(如查询磁盘空间或磁盘卷信息),或者转到MMC层并使用DeviceIoControl()
直接询问驱动器是否已插入磁盘(如果需要,请询问磁盘类型)。
相关文章:
- 有根的二进制搜索树.保留与其父级的链接
- 为多个会话保留XPtr
- 是否有类似std::lower_bound的函数,而不需要排序/分区输入
- 保留对其他类的成员函数的引用
- 指针保留字符串
- 是否有内置方法可以强制转换为不同的基础类型,但保留常量限定符?
- 如何让 GCC/Clang 在保留标识符上出错
- 必须为 C++20 协程帧保留多少内存?
- 如何将一个窗口保留在另一个应用程序窗口的前面
- 使用 char 分隔符解析C++中的字符串,但将可重复的字符保留为每个解析的子字符串 (C++ STL) 中的分隔符
- 按字母顺序对C++问题中的子字符串索引进行分区
- 局部变量保留函数中的值
- 保留函数指针模板参数
- 变量超出范围后如何保留向量值?
- C++矢量复制构造函数和赋值运算符是否也复制保留空间?
- 如何查找集合的所有分区 (C++)
- 当为可变性配置时,boost::heap::d_ary_heap 保留的额外 std::list 的目的是什么?
- 如何使用 swig 修改类构造函数以保留对其中一个构造函数参数的引用?
- 我如何保留乘法和分区的顺序
- 检查磁盘是否插入到保留的分区中