首页 > Windows开发 > 详细

WINUSB使用(附STM32Demo)

时间:2019-12-22 11:34:36      阅读:210      评论:0      收藏:0      [点我收藏+]

参考链接:

https://github.com/pbatard/libwdi/wiki/WCID-Devices

https://www.amobbs.com/thread-5530162-1-1.html

https://github.com/MichaelTien8901/STM32WINUSB

https://0w0.pw/417.html

 

总结一下,主要需要做三个工作:

1.添加存储在字符串索引0xEE处的【OS字符串描述符】,其中包含bMS_VendorCode值,接下来的请求将使用该值。

2.在收到Vendor Request的 bRequest  等于bMS_VendorCode值的请求以后,若设置包的 wIndex == 0x0004,返回【WINUSB_ExtendedCompatId_Descritpor】。

3.在收到 Interface Request 的 bmRequestType 等于0xC1值的请求以后,若设置包的 wIndex == 0x0005,则返回【WINUSB_ExtendedProperty_InterfaceGUID_Descritpor】。

 

在调试1的过程中,win只会在第一次插入时请求0xEE,所以

0x00 关于如何对WINUSB进行DEBUG
请注意,Windows仅查询OS字符串描述符一次,在开发过程中会造成麻烦。OS描述符存储在注册表中
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags\VVVVPPPPRRRR
(VVVV - VID; PPPP - PID; RRRR - 版本号)
请删除你USB设备对应的注册表项,然后使用USBDeview卸载设备,以便始终获得新的设备插入行为。

第一次插入:

技术分享图片

 

 第二次及以后插入:

技术分享图片

 

 可见只会在第一次查询OS字符串描述符。

WINUSB使用(附STM32Demo)

原文:https://www.cnblogs.com/guanglun/p/12079192.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!