物理盤,邏輯盤對應?

2021-04-16 05:02:07 字數 964 閱讀 2591

首先通過指定guid,用setupdigetclassdevs,得到harddisk類和volume兩大類裝置的所有裝置資訊。  

define_guid /  

(harddisk_guid,   0x53f56307,   0xb6bf,   0x11d0,   0x94,   0xf2,   0x00,   0xa0,   0xc9,   0x1e,   0xfb,   0x8b);  

define_guid /  

volume_guid,   0x53f5630d,   0xb6bf,   0x11d0,   0x94,   0xf2,   0x00,   0xa0,   0xc9,   0x1e,   0xfb,   0x8b);  

hdevinfoset   =   setupdigetclassdevsw(lpguid,   null,null,digcf_present|digcf_inte***cedevice);  

接著用setupdienumdeviceinte***ces依次列舉裝置資訊集中各個裝置的介面資訊。  

如果成功,進一步呼叫setupdigetdeviceinte***cedetail得到每個裝置的詳細資訊。  

然後依次用cm_get_parent、cm_get_device_id取得該裝置例項的device instance   id   這個東西是類似下面這樣的串:pciide/idechannel/4&e3ec092&0&0、usb/vid_0d7d&pid_0150/4d3b190303c0。  

想必你已經注意到usb裝置都以usb開頭,同時包含了該裝置的pid和vid,這樣就可以判斷是否是特定廠商的裝置。接著要取得該usb裝置對應的碟符,因為每個裝置可能包含多個卷,所以用上面類似的方法取得所有卷的資訊,通過比對裝置號可以判斷多個卷是否屬於同乙個裝置,接著用捲裝置的物理裝置名稱反查符號連線(querydosdevice)就能得到該卷對應的碟符,進一步可以得到,乙個物理磁碟所有卷的碟符。

LVM邏輯盤卷管理實戰

lvm是邏輯盤卷管理 logical volume manager 的簡稱,它是 linux 環境下對磁碟分割槽的進行管理的一直機制,是建立在硬碟和分割槽之上的邏輯層,來為檔案系統遮蔽下層的磁碟分割槽布局,從而提高磁碟分割槽管理的靈活性。可以看到物理層位於最底層,它是包含 lvm相關引數的物理層 邏...

linux 如何掛載 系統的物理 D盤

你用fdisk k沒有看到d盤很正常呀,因為d盤那塊硬碟並沒有加到vmware上,也就是說d盤沒有安裝到你的虛擬計算機上,怎麼可能在linux上看到呢!加入電腦硬碟的方法是 點edit virtual machine settings add 選中hard disk next 選擇use a phy...

CreateFile開啟U盤的方法1 邏輯方式

在網上發現createfile開啟u盤的方法很多,總結起來總共兩種,一種是通過邏輯方式碟符開啟u盤,一種是通過物理驅動方式開啟u盤。下面具體介紹 1.通過邏輯方式碟符開啟u盤 通過getlogicaldrivestrings函式獲取所有碟符 像a,c,d等 放到乙個陣列中 迴圈遍歷 得到的陣列,通過...