将驱动器号转换为分区ID /磁盘ID

给定一个驱动器盘符,如何在不使用registry的情况下获取OSImage InstallTo分区ID和磁盘ID ?

WMIWin32_DiskPartition是我所需要的。 现在要弄清楚如何使用WMI从驱动器盘符中获取这些信息。

Win32_LogicalDisk也是有用的, MSDN示例和这个计算器的答案 。

更新:嗯,这是行不通的! 不管在Windows安装程序中( WMI从Windows PE丢失 !),所以我正在使用其他答案QueryDosDevice (例如\\.\PhysicalDisk1\Partition0 )和黑客一起。 这吸吮微软,接受安装程序中该死的道路。


答案: IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS用于获取Disk ID 。 和DeviceIoControl IOCTL_DISK_GET_PARTITION_INFO_EX (感谢TLama)得到我的Partition ID

你有没有尝试过简单地调用QueryDosDevice