如何通过程序删除磁盘的一个设备节点

How to delete a device node of disk by program

我正在开发 Windows 程序,从 Windows 系统中删除指定的磁盘。
"removing" 的操作并不意味着拔下硬盘 "physically"。
这意味着该程序从 OS.
管理的设备节点中删除了一个磁盘 "disk" 我说的是 disk.sys(PhysicalDrive0, PhysicalDrive1..)

管理的磁盘

顺便说一句,在通常的 Linux 系统上,可以使用如下命令完成。

echo 1 > /sys/block/sde/device/delete

我想通过程序在 Windows 上做同样的事情。

有一次我尝试通过在 DeviceManager 中删除磁盘来完成此操作。
其实这种方式可以移除U盘,但是这种方式在不重启的情况下无法移除SATA盘OS。
我想在不重启的情况下完成。

有什么办法吗?

我相信WMI可能对您有帮助:

wmic logicaldisk delete (check with /? how to use it)

为了知道您现在有哪些,请先启动以下内容:

wmic logicaldisk list brief