我正在尝试为一个相当简单的 USB 设备创建一个简单的读/写应用程序,但事实证明它根本不是那么简单。
我正在使用 WinUSB 和 SetupAPI DLL 并从头开始工作,因为我似乎找不到任何真正适合我需要的东西。PyWinUSB 和 PyUSB 等等等等都接近了,但是当我尝试用它们实际写入设备时,它们失败了。
无论如何,现在我仍然处于零基础。按照说明,我从 SetupAPI.dll 调用 SetupDiGetClassDevsExW 函数。该函数正确执行,如调用返回零的 kernel32.lasterror 函数所示,但我从调用中返回的唯一内容是一个整数值。那是对的吗?这甚至是正确的功能吗?(有 4 个类似,而且不只是普通的 SetupDiGetClassDevs 函数。这 4 个函数是 SetupGetClassDevsExW、SetupGetCLassDevsExA、SetupGetClassDevsA 和 SetupGetClassDevsW。)我需要创建一个类来处理它吗?我问是因为调用下一个函数 SetupDiEnumDeviceInterfaces 只返回了代码 259 的失败,根据快速谷歌搜索,这意味着 ERROR_NO_MORE_ITEMS。
我已经取得了一些进展,有人向我展示了正确的类结构方法,用于创建用于保存一些信息的结构,但由于我以前从未真正使用过 USB 设备的编程,更不用说在 Python 中了,我我还是有点卡住了。我将提供答案所需的更多信息,但现在我不想让这个 Q/A 陷入不必要的信息。
谢谢。