检查磁盘是否插入到保留的分区中

Check if disk inserted into a preserved partition

本文关键字:分区 保留 磁盘 是否 插入 检查      更新时间:2023-10-16

我使用GetDriveTypeA("D:\")来检查"保留的D"驱动器的存在,但它始终存在,即使没有插入磁盘。为什么?当磁盘未插入时,它甚至在磁盘管理中不可见。

没有插入可移动磁盘并不意味着驱动器本身或其分配的驱动器号不存在。Windows系统UI可能会隐藏带有弹出介质的驱动器(用户将在没有介质的驱动器上执行什么管理?),但如果需要,代码仍然可以与这些驱动器交互。这就是为什么如果D:已分配给驱动器,则GetDriveType()不会失败。

如果您真的需要检查是否插入了磁盘,请执行一些需要磁盘的操作(如查询磁盘空间或磁盘卷信息),或者转到MMC层并使用DeviceIoControl()直接询问驱动器是否已插入磁盘(如果需要,请询问磁盘类型)。