2015-01-11 66 views
0

我需要獲取物理驅動器上的所有卷路徑以卸載它們。例如,如果「\\。\ PhysicalDrive1」包含分區「G」和「I」等,則需要字符串「\\。\ G:」和「\\。\ I:」。在枚舉驅動器上的分區後,我將在其中發佈一個FSCTL_DISMOUNT_VOLUME control code如何獲取物理驅動器上的所有卷路徑?

+0

請注意,驅動器上可能存在沒有驅動器盤符的分區。 –

+0

如果驅動器沒有驅動器號,我怎麼能存在,然後打開它進行卸載? @哈里約翰斯頓 –

+0

我不確定。這個例子可能有所幫助:http://msdn.microsoft.com/en-us/library/windows/desktop/cc542456%28v=vs.85%29.aspx –

回答

0

的一種方法是使用GetLogicalDrives獲得邏輯驅動器的位掩碼在系統中,然後爲每個驅動器使用IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS找到找出哪個物理驅動器的邏輯驅動器駐留在(記住,一個邏輯驅動器可能會被拆分跨越多個物理驅動器)。

+0

謝謝。所以我需要做一個邏輯驅動器「A」到「Z」的循環。我知道如何做到這一點。但是如何將多個物理驅動器分開的邏輯驅動器呢?它屬於哪個物理驅動器?@Jonathan Potter –

相關問題