IOCTL_HID_GET_SERIALNUMBER_STRING IOCTL (hidclass.h)
The IOCTL_HID_GET_SERIALNUMBER_STRING request obtains a top-level collection's embedded string that identifies the device's serial number. The retrieved string is a NULL-terminated wide character string in a human-readable format.
For general information about HIDClass devices, see HID Collections.
Major code
Input buffer
Parameters.DeviceIoControl.OutputBufferLength in the I/O stack location of the IRP indicates the size, in bytes, of the output buffer. If the output buffer is not large enough to hold the entire NULL-terminated embedded string, the request returns nothing in the output buffer.
Input buffer length
The maximum possible number of characters in an embedded string is device specific. For USB devices, the maximum string length is 126 wide characters (not including the terminating NULL character).
Output buffer
Irp->MdlAddress points to a buffer to receive the serial number string (a NULL-terminated wide character string).
Output buffer length
The length of a NULL-terminated wide character string. The supplied buffer must be <= 4093 bytes (2^12 – 3).
Status block
The HID class driver sets the following fields of Irp->IoStatus:
Information is set to the number of bytes transferred from the device.
Status is set to STATUS_SUCCESS if the transfer completed without error. Otherwise, it is set to an appropriate NTSTATUS error code.
Requirements
Requirement | Value |
---|---|
Header | hidclass.h (include Hidclass.h) |