jjzjj

GetRawInputDeviceInfo

全部标签

c# - 使 GetRawInputDeviceInfo 和 RIDI_DEVICEINFO 与 C# 一起工作

我遇到的问题是,我似乎无法将GetRawInputDeviceInfo与RIDI_DEVICEINFO结合使用(以尝试检索RID_DEVICE_INFO)根本不起作用。我从函数返回错误-1,这应该意味着没有足够的空间来存储RID_DEVICE_INFO,购买我已经尝试将它增加到需要的更多但效果相同。我使用了以下DLLImports:[DllImport("User32.dll")]externstaticuintGetRawInputDeviceInfo(IntPtrhDevice,uintuiCommand,IntPtrpData,refuintpcbSize);[DllImport

windows - GetRawInputDeviceInfo 中的 RIDI_PREPARSEDDATA 是什么?

WindowsAPI函数GetRawInputDeviceInfo有一个参数uiCommand。其中一个选项是RIDI_PREPARSEDDATA。它说“pData指向先前解析的数据”。我不明白他们指的是以前解析过的数据。它是上次使用WM_INPUT发送的数据吗?还是任何函数返回的数据?或者是其他东西?该数据的格式又是什么? 最佳答案 预解析数据是与顶级集合关联的报告描述符数据。用户模式应用程序或内核模式驱动程序使用准备好的数据来提取有关特定HID控件的信息,而无需获取和解释设备的整个报告描述符。MSDNLink

windows - GetRawInputDeviceInfo 在 Windows XP 中返回错误的 USB HID 设备名称语法

我正在使用GetRawInputDeviceInfo获取USBHID设备名称的设备名称。出于某种原因,当我在WindowsXP下运行我的代码时,我得到一个以\??\开头的设备名称而不是\\?\.这当然意味着,当我尝试使用此设备名称(例如CreateFile)时,它不起作用。如果我编辑设备名称并手动将其修复为\\?\,一切正常。这在Windows7中不会发生。在Win7中一切正常。我还测试了GetLastError每次API调用后都没有发生错误。我所有的操作系​​统都是32位的,我的项目是用unicode编译的。有什么建议我做错了吗?这是我的控制台应用程序的代码片段,它获取设备名称。nR