HidD_GetFeature函数 (hidsdi.h)
HidD_GetFeature 例程从指定的 顶级集合返回功能报告。
语法
BOOLEAN HidD_GetFeature(
[in] HANDLE HidDeviceObject,
[out] PVOID ReportBuffer,
[in] ULONG ReportBufferLength
);
参数
[in] HidDeviceObject
顶级集合的打开句柄。
[out] ReportBuffer
指向调用方分配的 HID 报表缓冲区的指针,调用方使用该缓冲区指定报表 ID。 HidD_GetFeature 使用 ReportBuffer 返回指定的功能报表。
有关此参数的详细信息,请参阅 备注 部分。
[in] ReportBufferLength
报表缓冲区的大小(以字节为单位)。 报表缓冲区必须足够大,才能保存功能报表以及一个指定非零报表 ID 的其他字节。 如果未使用报表 ID,则 ID 值为零。
返回值
如果 HidD_GetFeature 成功,则返回 TRUE ;否则,它将返回 FALSE。 使用 GetLastError 获取扩展的错误信息。
言论
正确的 reportBufferLength 是由从 HidP_GetCaps 调用返回的顶级集合 HIDP_CAPS 结构的 FeatureReportByteLength 成员指定的。
在调用 HidD_GetFeature 例程之前,调用方必须执行以下作:
- 如果 顶级集合 包含报表 ID,则调用方必须将 ReportBuffer 参数的第一个字节设置为非零报表 ID。
- 如果 顶级集合 不包含报表 ID,则调用方必须将 ReportBuffer 参数的第一个字节设置为零。
功能报表在 ReportBuffer 参数中返回。 根据报表 ID,调用方通过调用以下函数之一来分析报表:
- HidP_GetButtonCaps
- HidP_GetData
- HidP_GetExtendedAttributes
- HidP_GetScaledUsageValue
- HidP_GetSpecificButtonCaps
- HidP_GetSpecificValueCaps
- HidP_GetUsages
- HidP_GetUsagesEx
- HidP_GetUsageValue
- HidP_GetUsageValueArray
- HidP_GetValueCaps
有关如何分析 HID 报表的示例,请参阅 HClient 示例应用程序。 此示例位于 MSDN 代码库中。
只有用户模式应用程序才能调用 HidD_GetFeature。 内核模式驱动程序可以使用 IOCTL_HID_GET_FEATURE 请求。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows 2000 及更高版本的 Windows 中可用。 |
目标平台 | 普遍 |
标头 | hidsdi.h (包括 Hidsdi.h) |
库 | Hid.lib |
DLL | Hid.dll |