Поделиться через


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