<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > USB總線驅(qū)動中的標識串

          USB總線驅(qū)動中的標識串

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

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

          本文引用地址:http://www.ex-cimer.com/article/201609/303490.htm

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

          設(shè)備范例Id:

          USBVID_123APID_567B1234567890ABCDEF

          硬件Id:

          USBVid_123APid567BRev_0001

          USBVid_123APid567B

          兼容Id:

          USBClass_08SubClass_06Pro_50

          USBClass_08SubClass_06

          USBClass_08

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

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

          多功能設(shè)備的枚舉比單功能設(shè)備要復雜一些,USB總線要先加載usbccgp.sys驅(qū)動。然后,這個驅(qū)動按每個功能接口繼續(xù)枚舉設(shè)備。

          硬件標識串

          它是由多個子字符串組成的,以來分隔,以結(jié)尾。

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

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

          兼容標識串

          它也是由多個子字符串組成的,以來分隔,以結(jié)尾。

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

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



          關(guān)鍵詞: USB 總線驅(qū)動 標識串

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();