IOCTL_HID_GET_MANUFACTURER_STRING IOCTL (hidclass.h)

Запрос IOCTL_HID_GET_MANUFACTURER_STRING получает внедренную строку коллекции верхнего уровня , которая идентифицирует производителя устройства. Полученная строка — это строка с широкими символами, заканчивающаяся NULL, в понятном для человека формате.

Общие сведения об устройствах HIDClass см. в разделе Коллекции HID.

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Parameters.DeviceIoControl.OutputBufferLength в расположении стека ввода-вывода IRP указывает размер выходного буфера в байтах. Если выходной буфер недостаточно велик для хранения всей строки, завершаемой null, запрос не возвращает ничего в выходном буфере.

Длина входного буфера

Максимально возможное количество символов во внедренной строке зависит от устройства. Для USB-устройств максимальная длина строки составляет 126 символов в ширину (без учета завершающего символа NULL).

Выходной буфер

Irp->MdlAddress указывает на буфер для получения идентификатора производителя (строка расширенных символов, заканчивающаяся NULL).

Длина выходного буфера

Длина строки расширенных символов с завершением NULL. Указанный буфер должен быть <= 4093 байта (2^12 –3).

Блок состояния

Драйвер класса HID задает следующие поля Irp-IoStatus>:

  • Для сведений задается количество байтов, передаваемых с устройства.

  • Состояние устанавливается в STATUS_SUCCESS, если передача выполнена без ошибок. В противном случае устанавливается соответствующий код ошибки NTSTATUS.

Требования

Требование Значение
Заголовок hidclass.h (включая Hidclass.h)

См. также раздел

HidD_GetIndexedString

HidD_GetManufacturerString

HidD_GetPhysicalDescriptor

HidD_GetProductString

HidD_GetSerialNumberString

IOCTL_HID_GET_INDEXED_STRING

IOCTL_HID_GET_PRODUCT_STRING

IOCTL_HID_GET_SERIALNUMBER_STRING