IOCTL_HID_GET_SERIALNUMBER_STRING IOCTL (hidclass.h)

IOCTL_HID_GET_SERIALNUMBER_STRING请求获取 顶级集合的 嵌入式字符串,用于标识设备的序列号。 检索到的字符串是以人可读格式结尾的 NULL 终止宽字符字符串。

有关 HIDClass 设备的常规信息,请参阅 HID 集合

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

参数.DeviceIoControl.OutputBufferLength IRP 的 I/O 堆栈位置指示输出缓冲区的大小(以字节为单位)。 如果输出缓冲区不够大,无法容纳整个以 NULL 结尾的嵌入字符串,则请求在输出缓冲区中不返回任何内容。

输入缓冲区长度

嵌入字符串中可能的最大字符数特定于设备。 对于 USB 设备,最大字符串长度为 126 宽字符(不包括终止 NULL 字符)。

输出缓冲区

Irp->MdlAddress 指向缓冲区以接收序列号字符串(以 NULL 结尾的宽字符串)。

输出缓冲区长度

以 NULL 结尾的宽字符字符串的长度。 提供的缓冲区必须 <= 4093 字节(2^12 – 3)。

状态块

HID 类驱动程序设置 Irp->IoStatus的以下字段:

  • 信息 设置为从设备传输的字节数。

  • 如果传输已完成且未出错,状态 设置为STATUS_SUCCESS。 否则,它设置为适当的 NTSTATUS 错误代码。

要求

要求 价值
标头 hidclass.h (include Hidclass.h)

另请参阅

HidD_GetIndexedString

HidD_GetManufacturerString

HidD_GetPhysicalDescriptor

HidD_GetProductString

HidD_GetSerialNumberString

IOCTL_HID_GET_INDEXED_STRING

IOCTL_HID_GET_MANUFACTURER_STRING

IOCTL_HID_GET_PRODUCT_STRING