一、vid和pid
pid/vid唯一標識乙個裝置,hardwareid是為了給系統識別的 ,他是根據pid/vid而生成的。這個與序列號沒什麼關係,序列號一般都是廠家固化到晶元中的資訊而已。guid只是為了標誌你安裝的裝置是屬於乙個什麼類當中,這個類可以顯示再裝置管理器中。比如:你可以定義乙個類,當然這個類有與系統中任何類都不同的guid,然後選擇乙個圖示和類名,就可以同網絡卡等其他裝置一起顯示在裝置管理器下的根目錄中了
根據usb規範的規定,所有的usb裝置都有**商id(vid)和產品識別碼(pid),主機通過不同的vid和pid來區別不同的裝置,vid和pid都是兩個位元組長,其中,**商id(vid)由**商向usb執行論壇申請,每個**商的vid是唯一的,pid由**商自行決定,理論上來說,不同的產品、相同產品的不同型號、相同型號的不同設計的產品最好採用不同的pid,以便區別相同廠家的不同裝置。
vid和pid通常情況下有兩種儲存方式,第一種是主控生產商的vid和pid,儲存在主控的bootcode中;第二種是裝置生產商的vid和pid,該vid和pid儲存在主控外部的非易失性儲存裝置中(eeprom或flash)的裝置韌體中,當usb裝置連線主機時,如果韌體中有裝置生產商的vid和pid,會將該vid和pid報告給主機,而忽略主控生產商的vid和pid。所以理論上乙個usb儲存裝置的vid應該是裝置生產商的vid,而不是主控生產商的vid,這兩個vid應該是不同的(主控生產商自己生產的裝置除外)。
由於vid和pid重複並不會對產品的使用帶來嚴重影響,很多usb裝置生產商(山寨廠居多)為了方便,並不會向usb執行論壇申請自己的vid,而是依然沿用主控生產商的vid或隨便向產品寫入vid和pid;同時,正規廠家只需要申請vid,pid由廠家自行確定,所以存在相同型號的產品,可能採用了不同的主控(商業需要,很正常),而他們的pid是一樣的,基於上述原因通過vid和pid就不能準確識別usb裝置的主控型號,這個問題大家在使用usb裝置的過程中需要注意。
如:, /* intel pc camera pro */
USB裝置的VID與PID
下面這一段是抄的 一 vid和pid pid vid唯一標識乙個裝置,hardwareid是為了給系統識別的 他是根據pid vid而生成的。這個與序列號沒什麼關係,序列號一般都是廠家固化到晶元中的資訊而已。guid只是為了標誌你安裝的裝置是屬於乙個什麼類當中,這個類可以顯示再裝置管理器中。比如 你...
USB裝置的VID和PID
vid vendor id pid product id pid vid唯一標識乙個裝置,hardwareid是為了給系統識別的 他是根據pid vid而生成的。這個與序列號沒什麼關係,序列號一般都是廠家固化到晶元中的資訊而已。guid只是為了標誌你安裝的裝置是屬於乙個什麼類當中,這個類可以顯示再裝...
windows 系統遍歷USB裝置 VID和PID
常用裝置介面類guid identifier class guid guid devinte ce usb device guid devinte ce usb host controller guid devinte ce usb hub guid devinte ce net guid devi...