<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > USB總線(xiàn)驅動(dòng)中的標識串

USB總線(xiàn)驅動(dòng)中的標識串

作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò ) 收藏

在驅動(dòng)設備的枚舉和加載過(guò)程中,設備的起著(zhù)很重要的作用。設備一般分為硬件、兼容類(lèi)標識串和設備標識串這幾種。這些標識串其實(shí)是由上一級的驅動(dòng)程序(一般是)產(chǎn)生的,Windows系統用它來(lái)尋找和加載相應的驅動(dòng)程序。

本文引用地址:http://dyxdggzs.com/article/201609/303490.htm

舉一個(gè)簡(jiǎn)單的例子,當你插入一個(gè)U盤(pán)時(shí),USB總線(xiàn)就會(huì )檢測到這個(gè)U盤(pán)設備被插入了,然后,它就會(huì )創(chuàng )建這個(gè)U盤(pán)設備的PDO,同時(shí)呢,會(huì )給這個(gè)PDO產(chǎn)生標識串,就象你在設備管理器中設備屬性對話(huà)框的詳細信息中看到的那樣:

設備范例Id:

USBVID_123APID_567B1234567890ABCDEF

硬件Id:

USBVid_123APid567BRev_0001

USBVid_123APid567B

兼容Id:

USBClass_08SubClass_06Pro_50

USBClass_08SubClass_06

USBClass_08

每種設備產(chǎn)生的標識串都是不一樣的,特別的,對于USB設備,這些標識串的產(chǎn)生是有一定的規范的。

USB設備分為單功能設備和多功能設備。單功能設備最常見(jiàn),如U盤(pán)、鼠標等,而多功能設備是指設備描述符里具備多個(gè)接口描述符的設備,如USB手柄,包含按鍵和聽(tīng)筒及受話(huà)器,按鍵部分定義的是HID接口,聽(tīng)筒及受話(huà)器部分定義的是Audio接口。

多功能設備的枚舉比單功能設備要復雜一些,USB總線(xiàn)要先加載usbccgp.sys驅動(dòng)。然后,這個(gè)驅動(dòng)按每個(gè)功能接口繼續枚舉設備。

硬件標識串

它是由多個(gè)子字符串組成的,以來(lái)分隔,以結尾。

對于普通的單功能設備來(lái)說(shuō),一般是2個(gè)子字符串,第一個(gè)字符串是 VID_xxxxPID_xxxxREV_xxxx,每個(gè)xxxx都是4位的16進(jìn)制字符數字,分別表示Vendor ID, Product ID, Revision ID。一般而言,這三項能精確確定某一款具體的設備。但一般情況下,Revision ID不是很重要,在設備驅動(dòng)安裝時(shí)可以不指定,所以就有了第二個(gè)字符串USBVID_xxxxPID_xxxx。

對于多功能設備來(lái)說(shuō),一般包含一個(gè)子字符串USBVID_xxxxPID_xxxxMI_xx,前面的xxxx分別表示是 Vendor ID和Product ID,后面的xx則是表示接口的數目,與設備的接口描述符的bInterfaceNumber項一致。

兼容標識串

它也是由多個(gè)子字符串組成的,以來(lái)分隔,以結尾。

對于普通的單功能設備來(lái)說(shuō),一般是3個(gè)子字符串,第一個(gè)字符串是 CLASS_xxSUBCLASS_xxPROT_xx,每個(gè)xx都是2位的16進(jìn)制字符數字,分別表示Class ID, SubClass ID, Protocol ID。一般而言,這三項能精確確定該設備是屬于哪一類(lèi)設備用的是什么協(xié)議。其中Class ID最重要,其它兩項則有可能會(huì )被忽略,所以就有了第二、第三個(gè)子字串:USBCLASS_xxSUBCLASS_xx,CLASS_xx。

對于多功能設備來(lái)說(shuō),一般是4個(gè)子字符串,前三個(gè)子字符串是差不多 的:USBDEVCLASS_xxSUBCLASS_xxPROT_xx,USB DEVCLASS_xxSUBCLASS_xx,USBDEVCLASS_xx,第四個(gè)子字符串則是 USBCOMPOSITE。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>