2. 遍历所有USB设备 HashMap<String,UsbDevice>deviceList=usbManager.getDeviceList();for(UsbDevicedevice:deviceList.values()){// 获取USB设备的PID和VID} 1. 2. 3. 4. 这段代码用来遍历系统中的所有USB设备。 3. 获取USB设备的PID和VID intpid=device.getProductId();intvid=device.getVendorId(); ...
OEM 可以申请加入 USB 联盟,并获取其公司 VID(如果尚未获取),然后选择对于该产品唯一的 PID。 当具有 USBFN 功能的 Windows 10 IoT 连接到电脑时,它将充当 USB 设备(提供 myUSBFN.sys 中设置的功能供选择),并且具有“VID_nnn”和“PID_NNN”。 然后,主机电脑将使用此 VID 和 PID 组合查找要加载的适当驱动...
先注册设备,这样才能接收到消息,代码如下: void Dialog::registerDevice(){ const GUID GUID_DEVINTERFACE_LIST[] = { { 0xA5DCBF10, 0x6530, 0x11D2, { 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED } }, //USB设备的GUID { 0x53f56307, 0xb6bf, 0x11d0, { 0x94, 0xf2, 0x00, 0...
UsbDeviceList.Add(Marshal.PtrToStringAuto((IntPtr)((int)pDetail + 4))); } // Marshal.FreeHGlobal(pDetail); } } } SetupDiDestroyDeviceInfoList(deviceInfoSet); } public int OpenUsbDevice(UInt16 vID, UInt16 pID) { List<string> deviceList = new List<string>(); GetAllUsbDevice(ref dev...
Default此子键包含用于描述特定于设备的设置(如 VID 和 PID)的默认值。 这是 Microsoft 拥有的子键,其值被父键中的子键替代。 配置此子键包含其他子键,这些子键包含 USB 枚举期间使用的配置描述符值。 例如,标准测试配置可能位于HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configuration...
当设备没有枚举成功时(可以通过一个10K的电阻将USB的电源端和D+或者D-连接起来,电脑会发现一个无法识别的设备,这个设备的PID和VID都是0,根据每个特性可以简单的判定设备的枚举是否成功。 二、 USB标准描述符 USB协议为USB设备定义了一套描述设备功能和属性的有固定结构的描述符,包括标准的描述符即设备描述符、配置...
staticinthub_thread(void*__unused){do{hub_events();//执行一次hub事件函数wait_event_interruptible(khubd_wait,!list_empty(&hub_event_list)||kthread_should_stop());//(1).每次执行一次hub事件,都会进入一次等待事件中断函数try_to_freeze();}while(!kthread_should_stop()||!list_empty(&hub_event...
uint16_t pid; uint16_t vid;};/*return 0 means don't equal;return 1 means equal.*/int chk_serial_number(uint16_t pid,uint16_t vid,char *sn){ //usb information index struct libusb_device_descriptor usb_info; //usb device struct libusb_device *usb_d=NULL; //the handle of the...
在本文将使用libudev库来访问hidraw的设备。通过libudev库,我们可以查询设备的厂家ID(Vendor ID, VID),产品ID(Product ID, PID),序列号和设备字符串等而不需要打开设备。进一步,libudev可以告诉我们在/dev目录下设备节点的具体位置路径,为应用程
可以使用libusb_get_device_list取出所有设备,函数接口如下: /**@ingrouplibusb_dev *返回一个list,list里含有当前系统中所有的USB设备 * *我们一般会在list里寻找需要访问的设备,找到之后使用libusb_open函数打开它 *然后调用libusb_free_device_list释放list ...