Windows下USB驱动基础知识
+ -

Windows驱动硬件ID生成

2021-08-30 478 0

Windows驱动硬件ID生成的测试代码

这里只是对代码进行收藏,方便以后要用的时候直接复制来用

Index = swprintf(Buffer, L"USB\\Class_%02x&SubClass_%02x&Prot_%02x", DeviceDescriptor->bDeviceClass, DeviceDescriptor->bDeviceSubClass, DeviceDescriptor->bDeviceProtocol) + 1;
Index += swprintf(&Buffer[Index], L"USB\\Class_%02x&SubClass_%02x", DeviceDescriptor->bDeviceClass, DeviceDescriptor->bDeviceSubClass) + 1;
Index += swprintf(&Buffer[Index], L"USB\\Class_%02x", DeviceDescriptor->bDeviceClass) + 1;
Index += swprintf(&Buffer[Index], L"USB\\COMPOSITE") + 1;
HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

USB通用父驱动usbccgp.sys的过滤UVC摄像头、UAC麦克风和HID设备硬件ID
激动的心情,无溢言表。。虽然只是一个很简单的东西。。但相于折腾了这么久,还是很开心的了。最近有个需求,功能是这样的:有一个USB复合设备,连接到windows系统中它在windows下的设备树如下:USB Composite Device(usbccgp.sys)UVC CameraUAC ......
HID复合设备(键盘、鼠标)的实现
在使用一些USB键盘或鼠标的时候,特别是一些电竟高档HID设备时,经常发现这些设备会额外定义一些特别的快捷键,使得这些设备不仅有基础设备(如键盘,鼠标)的功能,也有一些特别的快捷功能(如系统声音的放大放小)。甚至更有一些复杂的设备,只需要一个USB接口,就同时支持鼠标键盘功能或在键盘的额外区域支持触......
Windows驱动硬件ID生成
Windows驱动硬件ID生成的测试代码这里只是对代码进行收藏,方便以后要用的时候直接复制来用Index = swprintf(Buffer, L"USB\Class_%02x&SubClass_%02x&Prot_%02x", DeviceDescript......
USBCCGP 复合设备接口设备ID
复合 USB 设备上的接口可分组到集合中或分别代表一个 USB 函数。如果接口未分组在集合中,则通用父驱动程序会为每个接口创建一个 PDO,并为每个 PDO 生成一组硬件 Id。USB设备ID接口 PDO 的设备 ID具有以下格式:USBVID_v(4)&PID_p(4)&MI......
Windows驱动usbstor硬件ID生成规则
如本人手中的金士顿U盘,在设备管理器中如下:我们查看设备的属性信息,可以看到,其使用的驱动是:USBPCapy.sysUSBSTOR.SYS从驱动来看,这是一个典型的BOT协议的U盘,更多详见:http://www.usbzh.com/article/detail-353.htmlUSBST......
HID报告描述符复合HID设备
如我们电脑中有一个键盘,其设备管理器中如下:它们的硬件ID分别如下:USBVID_1A2C&PID_2124&REV_0110USBVID_1A2C&PID_2124&REV_0110&MI_00HIDVID_1A2C&PID_2124......
HIDCLASS.SYS获取HID设备的硬件ID
在应用层通过如下代码实现: HANDLE tmp_DeviceHandle = CreateFile(st.DeviceName, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, ......
USB设备硬件ID和兼容ID的生成规则介绍
USB设备在插入电脑后,会触发一系列的操作,详见Windows下USB设备的枚举过程分析:https://www.usbzh.com/article/detail-420.html当然这里更多是站在硬件或者USB层面来讲的,但是USB设备与驱动是怎么绑定的呢?这里得先介绍一个概念叫做硬件ID和兼容I......
USBIP 请求设备ID(IRP_MN_QUERY_ID)
一个设备包括各种ID,不过都是通过IRP_MN_QUERY_ID来完成的,只是根据不同的参数来区分不同的ID类型。 case IRP_MN_QUERY_ID: status = pnp_query_id(vdev, irp, irpstack); break;......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!