IOCTL_HID_GET_MANUFACTURER_STRING IOCTL (hidclass.h)
IOCTL_HID_GET_MANUFACTURER_STRING请求获取 顶级集合的 嵌入字符串,该字符串标识设备制造商。 检索到的字符串是以 NULL 结尾的宽字符串,采用用户可读的格式。
有关 HIDClass 设备的常规信息,请参阅 HID 集合。
主要代码
输入缓冲区
IRP 的 I/O 堆栈位置中的 Parameters.DeviceIoControl.OutputBufferLength 指示输出缓冲区的大小(以字节为单位)。 如果输出缓冲区不够大,无法容纳整个以 NULL 结尾的嵌入字符串,则请求不会在输出缓冲区中返回任何内容。
输入缓冲区长度
嵌入字符串中的最大可能字符数是特定于设备的。 对于 USB 设备,最大字符串长度为 126 个宽字符, (不包括终止 NULL 字符) 。
输出缓冲区
Irp->MdlAddress 指向缓冲区以接收制造商 ID (以 NULL 结尾的宽字符串) 。
输出缓冲区长度
以 NULL 结尾的宽字符串的长度。 提供的缓冲区必须为 <= 4093 字节 (2^12 – 3) 。
状态块
HID 类驱动程序设置 Irp-IoStatus> 的以下字段:
信息 设置为从设备传输的字节数。
如果传输完成且未出错,则状态设置为STATUS_SUCCESS。 否则,它将设置为相应的 NTSTATUS 错误代码。
要求
要求 | 值 |
---|---|
Header | hidclass.h (包括 Hidclass.h) |