GetRawInputDeviceInfoA 函数 (winuser.h)
检索有关原始输入设备的信息。
语法
UINT GetRawInputDeviceInfoA(
[in, optional] HANDLE hDevice,
[in] UINT uiCommand,
[in, out, optional] LPVOID pData,
[in, out] PUINT pcbSize
);
参数
[in, optional] hDevice
类型: 句柄
原始输入设备的句柄。 这来自 RAWINPUTHEADER 的 hDevice 成员或 GetRawInputDeviceList。
[in] uiCommand
类型: UINT
指定将在 pData 中返回的数据。 此参数的取值可为下列值之一:
值 | 含义 |
---|---|
|
pData 是指向顶级集合的预分析数据的缓冲区的PHIDP_PREPARSED_DATA指针。 |
|
pData 指向包含 设备接口名称的字符串。
如果此设备 是使用共享访问模式打开的 ,则可以使用此名称调用 CreateFile 以打开 HID 集合,并使用返回的句柄调用 ReadFile 读取输入报告, 并使用 WriteFile 发送输出报告。 有关详细信息,请参阅 打开 HID 集合 和 处理 HID 报表。 仅对于此 uiCommand , ) , (,) 中的值是字符计数。 |
|
pData 指向 RID_DEVICE_INFO 结构。 |
[in, out, optional] pData
类型: LPVOID
指向包含 uiCommand 指定信息的缓冲区的指针。
如果 uiCommand 是RIDI_DEVICEINFO,请在调用 GetRawInputDeviceInfo 之前将 RID_DEVICE_INFO 的 cbSize 成员设置为 sizeof(RID_DEVICE_INFO)
。
[in, out] pcbSize
类型: PUINT
pData 中数据的大小(以字节为单位)。
返回值
类型: UINT
如果成功,此函数将返回一个非负数,指示复制到 pData 的字节数。
如果 pData 对于数据不够大,则函数返回 -1。 如果 pData 为 NULL,则该函数将返回零值。 在这两种情况下, 将“pcSize ”设置为 pData 缓冲区所需的最小大小。
调用 GetLastError 以识别任何其他错误。
注解
注意
winuser.h 标头将 GetRawInputDeviceInfo 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h (包括 Windows.h) |
Library | User32.lib |
DLL | User32.dll |
API 集 | 在 Windows 10 版本 10.0.14393 中引入的 ext-ms-win-ntuser-rawinput-l1-1-0 () |
请参阅
概念性
引用
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈