遍历usb设备,获取usb序列号

遍历usb设备,获取usb序列号

ID:14289251

大小:55.00 KB

页数:19页

时间:2018-07-27

遍历usb设备,获取usb序列号_第1页
遍历usb设备,获取usb序列号_第2页
遍历usb设备,获取usb序列号_第3页
遍历usb设备,获取usb序列号_第4页
遍历usb设备,获取usb序列号_第5页
资源描述:

《遍历usb设备,获取usb序列号》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、windowssdk编程系列文章----遍历USB设备,获取扫描仪序列号之一2008-08-0816:33理论:   对于USB接口的设备,现在越来越多了。本篇我们就通过获取一个USB扫描仪设备中的序列号,来介绍如何获取usb设备的一些硬件信息。对于usb设备都是采用HCD0,HCD1,HCD2,HCD3等符号描述的。如下图:因此,有了这个名字,我们就可以使用CreateFile来打开usb设备。然后使用DeviceIoControl函数与usb设备通讯了。HCD是hostcontrollerdriver的简写。需要了解详情的,还要仔细的阅读usb协议。u

2、sb的通讯基本步骤如下:HostControllers--->Usbroothub-->usbfunction(device)基本步骤:   1)打开HCD%X   2)得到上面的USBroothub   3)遍历usbroothub上连接的usb设备。获取信息   4)如果有多个usb口,循环前3步。下面介绍通讯用的几个IOCTL:1)USB_HCD_DRIVERKEY_NAME,用于获取USB设备驱动在注册表中的键名。相应的一个结构体是:typedefstruct_USB_HCD_DRIVERKEY_NAME{  ULONG  ActualLength

3、;  WCHAR  DriverKeyName[1];}USB_HCD_DRIVERKEY_NAME,*PUSB_HCD_DRIVERKEY_NAME;2)IOCTL_USB_GET_ROOT_HUB_NAME,用于获取roothub键名。使用的结构体,跟上面一样。typedefstruct_USB_ROOT_HUB_NAME{   ULONGActualLength;   WCHARRootHubName[1];}USB_ROOT_HUB_NAME,*PUSB_ROOT_HUB_NAME;3)IOCTL_USB_GET_NODE_INFORMATION,

4、用于获取连接在roothub上的节点设备信息。也就是我们接在usb口上的所有usb设备的信息,对应的结构体:typedefstruct_USB_NODE_INFORMATION{   USB_HUB_NODENodeType;      union{      USB_HUB_INFORMATIONHubInformation;      USB_MI_PARENT_INFORMATIONMiParentInformation;   }u;}USB_NODE_INFORMATION,*PUSB_NODE_INFORMATION;typedefstruct_

5、USB_MI_PARENT_INFORMATION{   ULONGNumberOfInterfaces;}USB_MI_PARENT_INFORMATION,*PUSB_MI_PARENT_INFORMATION;typedefstruct_USB_HUB_INFORMATION{   USB_HUB_DESCRIPTORHubDescriptor;   BOOLEANHubIsBusPowered;}USB_HUB_INFORMATION,*PUSB_HUB_INFORMATION;typedefstruct_USB_HUB_DESCRIPTOR{  

6、 UCHAR       bDescriptorLength;     //Lengthofthisdescriptor   UCHAR       bDescriptorType;       //Hubconfigurationtype   UCHAR       bNumberOfPorts;        //numberofportsonthishub   USHORT      wHubCharacteristics;   //HubCharateristics   UCHAR       bPowerOnToPowerGood;   //po

7、rtpowerontillpowergoodin2ms   UCHAR       bHubControlCurrent;    //maxcurrentinmA   //   //roomfor255portspowercontrolandremovablebitmask   UCHAR       bRemoveAndPowerMask[64];      }USB_HUB_DESCRIPTOR,*PUSB_HUB_DESCRIPTOR;4)IOCTL_USB_GET_NODE_CONNECTION_INFORMATION,用于获取接在usb口上的单个

8、usb设备的信息,对应的结构体:typedefstruct_USB

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。