функция 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

Указывает длину буфера, выделенного вызывающим объектом, в байтах, предоставленного в буфере. Если буфер недостаточно велик для возврата всей встроенной строки, завершаемой null, подпрограмма ничего не возвращает в буфере. Указанный буфер должен быть <= 4093 байта (2^12 –3).

Возвращаемое значение

HidD_GetProductString возвращает значение TRUE , если возвращается вся строка, завершающаяся null. В противном случае подпрограмма возвращает значение FALSE. Используйте GetLastError для получения расширенных сведений об ошибке.

Комментарии

Только приложения в пользовательском режиме могут вызывать HidD_GetProductString. Драйверы режима ядра могут использовать запрос IOCTL_HID_GET_PRODUCT_STRING .

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

Элемент iProductструктуры USB_DEVICE_DESCRIPTOR для определенного интерфейса задается универсальным родительским драйвером ОБЩЕГО класса USB на основе следующих правил:

  • Если элемент iInterfaceструктуры USB_INTERFACE_DESCRIPTOR для интерфейса является ненулевым, элемент iProduct структуры USB_DEVICE_DESCRIPTOR для интерфейса присваивается элементу iInterface структуры USB_INTERFACE_DESCRIPTOR.

  • Если интерфейс сгруппирован по дескриптору ассоциации интерфейса USB , а член iFunction дескриптора ассоциации интерфейса для интерфейса является ненулевым, элементу iProduct структуры USB_DEVICE_DESCRIPTOR для интерфейса присваивается член iFunction дескриптора ассоциации интерфейса.

Если указанный буфер не <равен 4093 байтам (2^12–3), вызов может завершиться ошибкой (в зависимости от базового протокола HID,Bluetooth/SPI) с кодом ошибки ERROR_GEN_FAILURE (0x0000001f).

Дополнительные сведения см. в разделе Коллекции HID.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows 2000 и более поздних версиях Windows.
Целевая платформа Универсальное
Верхняя часть hidsdi.h (включая Hidsdi.h)
Библиотека Hid.lib
DLL Hid.dll

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

HidD_GetIndexedString

HidD_GetPhysicalDescriptor

HidD_GetSerialNumberString

IOCTL_HID_GET_INDEXED_STRING

IOCTL_HID_GET_MANUFACTURER_STRING

IOCTL_HID_GET_PRODUCT_STRING

IOCTL_HID_GET_SERIALNUMBER_STRING