簡體   English   中英

獲取硬盤的盤符

[英]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以獲取硬盤編號。

現在您知道了包含操作系統的驅動器的硬盤號。

在所有其他驅動器號上重復CreateFileDeviceIoControl ,並將硬盤號與您之前獲得的硬盤號進行比較。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM