Compartir a través de


función HidD_GetIndexedString (hidsdi.h)

La rutina HidD_GetIndexedString devuelve una cadena incrustada especificada de una colección de nivel superior .

Sintaxis

BOOLEAN HidD_GetIndexedString(
  [in]  HANDLE HidDeviceObject,
  [in]  ULONG  StringIndex,
  [out] PVOID  Buffer,
  [in]  ULONG  BufferLength
);

Parámetros

[in] HidDeviceObject

Especifica un identificador abierto para una colección de nivel superior.

[in] StringIndex

Especifica el índice específico del dispositivo de una cadena incrustada.

[out] Buffer

Puntero a un búfer asignado por el autor de la llamada que usa la rutina para devolver la cadena incrustada especificada por StringIndex. La rutina devuelve una cadena de caracteres anchos terminada en NULL en un formato legible.

[in] BufferLength

Especifica la longitud, en bytes, de un búfer asignado por el autor de la llamada proporcionado en Buffer. Si el búfer no es lo suficientemente grande como para devolver toda la cadena insertada terminada en NULL, la rutina no devuelve nada en el búfer. El búfer proporcionado debe ser <= 4093 bytes (2^12 – 3).

Valor devuelto

HidD_GetIndexedString devuelve TRUE si devuelve correctamente toda la cadena insertada terminada en NULL. De lo contrario, la rutina devuelve FALSE. Use GetLastError para obtener información de error extendida.

Observaciones

Solo las aplicaciones en modo de usuario pueden llamar a HidD_GetIndexedString. Los controladores en modo kernel pueden usar una solicitud de IOCTL_HID_GET_INDEXED_STRING.

El número máximo posible de caracteres en una cadena incrustada es específico del dispositivo. En el caso de los dispositivos USB, la longitud máxima de la cadena es de 126 caracteres anchos (sin incluir el carácter NULL de terminación).

El miembro iProduct de una estructura de USB_DEVICE_DESCRIPTOR para una interfaz determinada se establece mediante la controlador principal genérico de clase USB en función de las reglas siguientes:

  • Si el miembro iInterface de la estructura de USB_INTERFACE_DESCRIPTOR para la interfaz es distinto de cero, el miembro iProduct de la estructura USB_DEVICE_DESCRIPTOR para la interfaz se establece en el miembro iInterface de la estructura de USB_INTERFACE_DESCRIPTOR.

  • Si la interfaz se agrupa mediante un descriptor de asociación de interfaz USB de y el miembro iFunction del descriptor de asociación de interfaz para la interfaz es distinto de cero, el miembro iProduct de la estructura de USB_DEVICE_DESCRIPTOR para la interfaz se establece en el miembro iFunction del descriptor de asociación de interfaz.

Si el búfer proporcionado no es <= 4093 bytes (2^12 – 3), la llamada puede producir un error (según el protocolo subyacente, HID/Bluetooth/SPI) con código de error ERROR_GEN_FAILURE (0x0000001f)

Para obtener más información, consulte colecciones hid de.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible en Windows 2000 y versiones posteriores de Windows.
de la plataforma de destino de Universal
encabezado de hidsdi.h (include Hidsdi.h)
biblioteca de Hid.lib
DLL de Hid.dll

Consulte también

HidD_GetManufacturerString

HidD_GetPhysicalDescriptor

HidD_GetProductString

HidD_GetSerialNumberString

IOCTL_HID_GET_INDEXED_STRING

IOCTL_HID_GET_MANUFACTURER_STRING

IOCTL_HID_GET_PRODUCT_STRING

IOCTL_HID_GET_SERIALNUMBER_STRING