给定驱动器号,如何在不使用注册表的情况下获得OSImage InstallTo Partition ID和Disk ID?
WMI
类Win32_DiskPartition
正是我所需要的。现在来了解如何使用WMI
从驱动器号中获取这些信息。
Win32_LogicalDisk
也很有用,MSDN示例和这个stackoverflow答案。
更新:嗯,这不起作用!无论如何都不在Windows安装程序中(Windows PE中缺少WMI!!),所以我正在使用另一个答案QueryDosDevice
(例如\.PhysicalDisk1Partition0
)并将其破解。这很糟糕的微软,在你的安装程序中接受一个该死的路径。
答案:IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS
用于获取Disk ID
。DeviceIoControl IOCTL_DISK_GET_PARTITION_INFO_EX
(感谢TLama)为我提供了Partition ID
。
您是否尝试过简单地调用QueryDosDevice
?