gpt4 book ai didi

c++ - 在 C++ 中确定 HID 接口(interface)是 POS 还是键盘

转载 作者:可可西里 更新时间:2023-11-01 13:33:17 25 4
gpt4 key购买 nike

我有一些可以处理各种 USB 接口(interface)(COMM 仿真、HID 键盘、HID POS 等)的条码扫描仪设备。问题是,虽然我可以判断设备是否处于 HID 模式,我需要能够确定它是 HID 键盘还是 HID POS。

有没有办法使用 Win32 C++ 确定这一点,最好使用内置的 Windows HID 库 (hidsdi.h)?

最佳答案

您可以使用 HidD_GetHidGuid获取设备的唯一 GUID。设备接口(interface) guid 由每个设备/应用程序软件供应商、Microsoft 或他们认为合适的第三方定义。在某些情况下,guid 已发布并为公众所知,并且是标准接口(interface),在某些情况下则不是。

您还可以使用 USBView utility来自 Microsoft,它可以让您浏览 USB 树,或者您可以查看注册表并查看是否可以找到您设备的 GUID。如果配置数据不存在,或者如果您的设备支持,您可能仍然需要查询您的设备以确定设备类型,或者除了通用设备之外它不会显示自己。

有两种类型的 GUID:设备类和设备接口(interface)。一个设备只能是一个类的一部分。不幸的是,设备类和设备接口(interface) GUID 有时是相同的,因此使开发人员感到困惑。在 WinXP DDK 中,创建了标准以尝试使 GUID 的定义不那么困惑。

另请参阅之前的 SO 问题:Use RegisterDeviceNotification() for ALL USB devices.

关于c++ - 在 C++ 中确定 HID 接口(interface)是 POS 还是键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2086584/

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