GetRawInputDeviceInfoA 函数 (winuser.h)

检索有关原始输入设备的信息。

语法

UINT GetRawInputDeviceInfoA(
  [in, optional]      HANDLE hDevice,
  [in]                UINT   uiCommand,
  [in, out, optional] LPVOID pData,
  [in, out]           PUINT  pcbSize
);

参数

[in, optional] hDevice

类型: HANDLE

原始输入设备的句柄。 这来自 RAWINPUTHEADERhDevice 成员或 GetRawInputDeviceList

[in] uiCommand

类型: UINT

指定 将在 pData 中返回哪些数据。 此参数的取值可为下列值之一:

含义
RIDI_PREPARSEDDATA
0x20000005
pData 是指向顶级集合预分析数据的缓冲区的PHIDP_PREPARSED_DATA指针。
RIDI_DEVICENAME
0x20000007
pData 指向包含 设备接口名称的字符串。

如果此设备 是使用共享访问模式打开的 ,则可以使用此名称调用 CreateFile 以打开 HID 集合,并使用返回的句柄调用 ReadFile 读取输入报告和 WriteFile 发送输出报告。

有关详细信息,请参阅 打开 HID 集合处理 HID 报表

仅对于此 uiCommand在 ( 不是字节计数) 的字符计数。

RIDI_DEVICEINFO
0x2000000b
pData 指向 RID_DEVICE_INFO 结构。

[in, out, optional] pData

类型: LPVOID

指向包含 uiCommand 指定的信息的缓冲区的指针。

如果 uiCommandRIDI_DEVICEINFO,请将RID_DEVICE_INFO的cbSize 成员设置为sizeof(RID_DEVICE_INFO)调用 GetRawInputDeviceInfo 之前。

[in, out] pcbSize

类型: PUINT

pData 中数据的大小(以字节为单位)。

返回值

类型: UINT

如果成功,此函数将返回一个非负数,指示复制到 pData 的字节数。

如果 pData 不足以容纳数据,则函数返回 -1。 如果 pDataNULL,则函数返回值为零。 在这两种情况下,对于 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 集 ext-ms-win-ntuser-rawinput-l1-1-0 (在 Windows 10 版本 10.0.14393)

请参阅

概念性

RAWINPUTHEADER

RID_DEVICE_INFO

原始输入

参考

WM_INPUT

顶级集合

预分析的数据

PHIDP_PREPARSED_DATA

打开 HID 集合

处理 HID 报告