HidD_GetProductString 函数 (hidsdi.h)
HidD_GetProductString例程返回标识制造商产品的顶级集合的嵌入字符串。
语法
BOOLEAN HidD_GetProductString(
[in] HANDLE HidDeviceObject,
[out] PVOID Buffer,
[in] ULONG BufferLength
);
参数
[in] HidDeviceObject
指定顶级集合的打开句柄。
[out] Buffer
指向调用方分配的缓冲区的指针,例程使用该缓冲区返回请求的产品字符串。 例程返回以 NULL 结尾的宽字符串。
[in] BufferLength
指定在 Buffer 中提供的调用方分配的缓冲区的长度(以字节 为单位)。 如果缓冲区不够大,无法返回以 NULL 结尾的整个嵌入字符串,则例程不会在缓冲区中返回任何内容。 提供的缓冲区必须为 <= 4093 字节 (2^12 – 3) 。
返回值
如果HidD_GetProductString 成功返回整个以 NULL 结尾的嵌入字符串,则返回 TRUE 。 否则,例程返回 FALSE。 使用 GetLastError 获取扩展错误信息。
注解
只有用户模式应用程序才能调用 HidD_GetProductString。 内核模式驱动程序可以使用 IOCTL_HID_GET_PRODUCT_STRING 请求。
嵌入字符串中的最大可能字符数是特定于设备的。 对于 USB 设备,最大字符串长度为 126 个宽字符, (不包括终止 NULL 字符) 。
特定接口的 USB_DEVICE_DESCRIPTOR 结构的 iProduct 成员由 USB 公共类泛型父驱动程序基于以下规则设置:
如果接口的 USB_INTERFACE_DESCRIPTOR 结构的 iInterface 成员为非零,则接口的 USB_DEVICE_DESCRIPTOR 结构的 iProduct 成员设置为 USB_INTERFACE_DESCRIPTOR 结构的 iInterface 成员。
如果接口由 USB 接口关联描述符 分组,并且接口的接口关联描述符的 iFunction 成员为非零,则接口USB_DEVICE_DESCRIPTOR结构的 iProduct 成员设置为接口关联描述符的 iFunction 成员。
如果提供的缓冲区不 <= 4093 字节 (2^12 – 3) 调用可能会失败 (,具体取决于基础协议,HID/蓝牙/SPI) 并显示错误代码ERROR_GEN_FAILURE (0x0000001f)
有关详细信息,请参阅 HID 集合。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows 2000 和更高版本的 Windows 中可用。 |
目标平台 | 通用 |
标头 | hidsdi.h (包括 Hidsdi.h) |
Library | Hid.lib |
DLL | Hid.dll |