gpt4 book ai didi

c# - 如何从软件中捕获准确的 USB-HID 设备交互并在我自己的代码中重新实现它

转载 作者:行者123 更新时间:2023-11-30 18:43:22 26 4
gpt4 key购买 nike

我正在尝试使用一些 USB HID 设备。
我有可以与设备交互的专有软件(来自设备供应商)。但我需要自己写一个。
在嗅探器工具的帮助下,我捕获了主机和设备之间的流量。这个工具是BusDog .
然后,我能够使用从 CreateFile 获得的设备句柄通过 WriteFile 重现相同的流量(对于从 setupapi.dll API 获得的路径)。但是设备不会对我的命令使用react(在 USB/HID 世界中称为“请求”)。

然后我使用了另一个工具——HHD Device Monitoring Studio。该工具不仅显示“中断传输”,还显示各种传输。我可以看到以下日志:

008852: Class-Specific Request (DOWN), 20.12.2010 18:58:10.242 +0.031Destination: Interface, Index 0Reserved Bits: 34Request: 0x9Value: 0x30dSend 0x8 bytes to the device 0D 01 01 00 00 00 00 00                           ........008853: Control Transfer (UP), 20.12.2010 18:58:10.242 +0.0. Status: 0x00000000Pipe Handle: 0x8638c5c8 0D 01 01 00 00 00 00 00                           ........Setup Packet 21 09 0D 03 00 00 08 00                           !.......Recipient: InterfaceRequest Type: ClassDirection: Host->DeviceRequest: 0x9 (Unknown)Value: 0x30dIndex: 0x0Length: 0x8

我的问题是如何在我自己的代码中重新实现这种转移?以及如何将这些东西解析为适当功能的参数(是 DeviceIoControl 吗?)

附注我用的是C#,其实没关系,我能看懂C/C++。

最佳答案

查看 HIDClass 支持例程 ( http://msdn.microsoft.com/en-us/library/ff538865%28v=vs.85%29.aspx ),它为您包装了所有相关的 HID ioctls……它可能类似于功能报告 (HidD_SetFeature)。

关于c# - 如何从软件中捕获准确的 USB-HID 设备交互并在我自己的代码中重新实现它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4491450/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com