функция HidD_GetIndexedString (hidsdi.h)
Подпрограмма HidD_GetIndexedString возвращает указанную внедренную строку из коллекции верхнего уровня.
Синтаксис
BOOLEAN HidD_GetIndexedString(
[in] HANDLE HidDeviceObject,
[in] ULONG StringIndex,
[out] PVOID Buffer,
[in] ULONG BufferLength
);
Параметры
[in] HidDeviceObject
Указывает открытый дескриптор для коллекции верхнего уровня.
[in] StringIndex
Указывает индекс внедренной строки для конкретного устройства.
[out] Buffer
Указатель на буфер, выделенный вызывающим объектом, который подпрограмма использует для возврата внедренной строки, указанной в StringIndex. Подпрограмма возвращает строку расширенных символов, завершаемую null, в удобочитаемом формате.
[in] BufferLength
Указывает длину буфера, выделенного вызывающим объектом, в байтах, предоставленного в буфере. Если буфер недостаточно велик для возврата всей встроенной строки, завершаемой значением NULL, подпрограмма не возвращает ничего в буфере. Предоставленный буфер должен быть <= 4093 байта (2^12–3).
Возвращаемое значение
HidD_GetIndexedString возвращает значение TRUE , если возвращается вся строка, завершающаяся значением NULL. В противном случае подпрограмма возвращает значение FALSE. Используйте GetLastError для получения расширенных сведений об ошибке.
Комментарии
Только приложения в пользовательском режиме могут вызывать HidD_GetIndexedString. Драйверы в режиме ядра могут использовать запрос IOCTL_HID_GET_INDEXED_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 |