USB相关知识

原创 2016年08月30日 02:07:04

How can I determine which port my device is attached to?

Under Windows, every device has a unique driver key, also called the software key. You can obtain the key from a device using SetupDi functions, and obtain the same key from a hub port using undocumented DeviceIoControl codes. When you have a match, you know which port the device is attached to.

To retrieve the driver key name for a device, call SetupDiGetClassDevs and SetupDiEnumDeviceInfo, then use SetupDiGetDeviceRegistryPropertyA with Property set to SPDRP_DRIVER.

To retrieve the driver key name for a hub port, first find the hubs with SetupDi_ functions and GUID_DEVINTERFACE_USB_HUB.

Obtain a handle to a hub with CreateFile.

Get the number of ports on the hub with IOCTL_USB_GET_NODE_INFORMATION (undocumented IO control code in usbioctl.h).

Find out if a device is attached to a port with IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX.

For each attached device, get the driver key name with IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME (undocumented IO control code in usbioctl.h).

I have two or more identical devices attached to a host. How can I tell which is which?

Store a serial number in the device descriptor or use another vendor-specific identifier. For HID-class devices, applications can read the serial number with the HidD_GetSerialNumberString function.


//usb 编程知识 总结

http://www.cnblogs.com/SunWentao/archive/2011/10/10/2205779.html


//怎么根据设备管理器中的信息取得其对应的串口或驱动器

http://www.myexception.cn/vc-mfc/316257.html


USB基础知识

http://blog.csdn.net/jia_zhengshen/article/category/1405475


//C++/VC 怎么判断USB接口的唯一性

http://www.myexception.cn/cpp/1680062.html


从设备路径怎么得到对应的盘符??或者从盘符得到对应的VID\PID????

http://www.debugease.com/vc/2586359.html

USB通信相关知识

  • 2013年12月12日 11:41
  • 203KB
  • 下载

Linux USB驱动相关细节知识

1. 在usb_fill_bulk_urb,usb_fill_int_urb,usb_fill_control_urb都需要指定回调函数,当此URB请求完成时,usb core回调用此函数。 注意:...
  • MyArrow
  • MyArrow
  • 2011年11月25日 16:19
  • 4193

Linux USB驱动相关细节知识

http://blog.csdn.net/myarrow/article/details/7012573 1. 在usb_fill_bulk_urb,usb_fill_int_urb,usb_fil...

android usb相关知识总结

转载请注明出处:http://blog.csdn.net/droyon/article/details/45098027 1、android背景介绍 UsbService,在系统启动时创建,在该文件中...

windows VC USB开发相关的api说明

1、头文件包含,库文件链接  在VC中开发HID应用程序时,需要包含setupapi.h和hidsdi.h,包含方式必须为extern "C",如下所示: extern "C" { // Decla...

STM32的USB相关资料(转载)

ST官网年初改版了,很多客户抱怨找不到资料了~~~~这里给大家一个新官网下基于STM32 USB的所有资料汇总,及其下载链接,希望大家不要在找资料时,lost在ST官网浩瀚的大海中 --------...

usb中urb相关接口函数

一. 简介              usb总线是一种轮询式总线,协议规定所有的数据传输都必须由主机发起,usb主机与设备之间是通过管道(pipe)传输的,管道两边分别对应主机中的数据缓冲区和设备侧...

USB相关内容总结

工作中涉及了一些USB相关的内容,整理总结一下。

USB Drivers 相关结构体和宏定义记录 <LDD3 学习笔记>

USB Drivers 相关数据结构记录

usb-skeleton相关分析

最好还是看一看内核源 码的注释,具体内容参见源码树下include/linux/usb.h。     在这里我们重点介绍程序中出现的几个关键字段: struct usb_device *de...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:USB相关知识
举报原因:
原因补充:

(最多只允许输入30个字)