2012-02-15 82 views

回答

5

WMIWin32_DiskPartition是我所需要的。現在要弄清楚如何使用WMI從驅動器號中獲取此信息。

Win32_LogicalDisk也是有用的,MSDN Examplethis stackoverflow answer

更新:嗯,這是行不通的!不管在Windows安裝程序中(WMI is missing from Windows PE !!),所以我正在使用其他答案QueryDosDevice(例如\\.\PhysicalDisk1\Partition0)並將它們一起使用。這吸吮微軟,接受你的安裝程序中該死的道路。


答:IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS作品獲得Disk ID。和DeviceIoControl IOCTL_DISK_GET_PARTITION_INFO_EX(謝謝TLama)讓我的Partition ID

2

您是否嘗試過簡單地致電QueryDosDevice

+0

這看起來不像它給我的磁盤ID#和分區ID。我正在使用安裝Windows本身的程序。該設置需要磁盤ID和分區ID。不是虛擬映射。 – unixman83 2012-02-15 17:47:23

+1

@ unixman83:所以返回的「目標路徑」不是沿着「」\\。\ PhysicalDisk1 \ Partition0「'的行嗎? – 2012-02-15 18:03:51

+0

嗯,文檔有不同的說法:'\ Device \ HarddiskVolume1'。我沒有嘗試過。我想這會工作。我明天就得試試看。 – unixman83 2012-02-15 22:26:09