GetRawInputDeviceInfoA 函数 (winuser.h)

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

语法

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

参数

[in, optional] hDevice

类型: 句柄

原始输入设备的句柄。 这来自 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,请在调用 GetRawInputDeviceInfo 之前将 RID_DEVICE_INFOcbSize 成员设置为 sizeof(RID_DEVICE_INFO)

[in, out] pcbSize

类型: PUINT

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

返回值

类型: UINT

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

如果 pData 对于数据不够大,则函数返回 -1。 如果 pDataNULL,则该函数将返回零值。 在这两种情况下, 将“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 ()

请参阅

概念性

RAWINPUTHEADER

RID_DEVICE_INFO

原始输入

引用

WM_INPUT

顶级集合

预分析的数据

PHIDP_PREPARSED_DATA

打开 HID 集合

处理 HID 报告