[英]Get drive letter of Hard drive
我的申請適用於 windows Vista 和 XP。
有多個硬盤連接到我的機器。 我需要獲取系統正在啟動的硬盤驅動器的驅動器號。
通過使用 GetLogicalDriveStrings Function 我可以獲得所有硬盤的驅動器號。 但是如何區分這個特定的驅動器號是我啟動硬盤的分區名稱?
磁盤的結構是:
disk0(以此啟動)- C DG
磁盤1-EFH
磁盤2-IJ
我只需要獲得 C,D,G。
調用GetLogicalDrives以獲取所有可用的驅動器號。
調用GetSystemDirectory以獲取包含操作系統的驅動器。
使用CreateFile("\.\C:", ...打開卷
此處將 C: 替換為 GetSystemDirectory 中返回的驅動器號。
使用IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS代碼調用返回句柄的DeviceIControl以獲取硬盤編號。
現在您知道了包含操作系統的驅動器的硬盤號。
在所有其他驅動器號上重復CreateFile和DeviceIoControl ,並將硬盤號與您之前獲得的硬盤號進行比較。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.