Compartilhar via


função HidD_GetIndexedString (hidsdi.h)

A rotina HidD_GetIndexedString retorna uma cadeia de caracteres inserida especificada de uma coleção de nível superior.

Sintaxe

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

Parâmetros

[in] HidDeviceObject

Especifica um identificador aberto para uma coleção de nível superior.

[in] StringIndex

Especifica o índice específico do dispositivo de uma cadeia de caracteres inserida.

[out] Buffer

Ponteiro para um buffer alocado pelo chamador que a rotina usa para retornar a cadeia de caracteres inserida especificada por StringIndex. A rotina retorna uma cadeia de caracteres largos terminada em NULL em um formato legível por humanos.

[in] BufferLength

Especifica o comprimento, em bytes, de um buffer alocado pelo chamador fornecido no Buffer. Se o buffer não for grande o suficiente para retornar toda a cadeia de caracteres inserida terminada em NULL, a rotina não retornará nada no buffer. O buffer fornecido deve ser <= 4093 bytes (2^12 – 3).

Retornar valor

HidD_GetIndexedString retornará TRUE se retornar com êxito toda a cadeia de caracteres inserida terminada em NULL. Caso contrário, a rotina retornará FALSE. Use GetLastError para obter informações de erro estendidas.

Comentários

Somente aplicativos de modo de usuário podem chamar HidD_GetIndexedString. Os drivers no modo kernel podem usar uma solicitação de IOCTL_HID_GET_INDEXED_STRING .

O número máximo possível de caracteres em uma cadeia de caracteres inserida é específico do dispositivo. Para dispositivos USB, o comprimento máximo da cadeia de caracteres é de 126 caracteres largos (sem incluir o caractere NULL de terminação).

O membro iProduct de uma estrutura de USB_DEVICE_DESCRIPTOR para uma interface específica é definido pelo driver pai genérico de classe comum USB com base nas seguintes regras:

  • Se o membro iInterface da estrutura USB_INTERFACE_DESCRIPTOR da interface for diferente de zero, o membro iProduct da estrutura USB_DEVICE_DESCRIPTOR da interface será definido como o membro iInterface da estrutura USB_INTERFACE_DESCRIPTOR.

  • Se a interface for agrupada por um descritor de associação de interface USB e o membro iFunction do descritor de associação de interface para a interface for diferente de zero, o membro iProduct da estrutura USB_DEVICE_DESCRIPTOR da interface será definido como o membro iFunction do descritor de associação de interface.

Se o buffer fornecido não <for = 4093 bytes (2^12 – 3), a chamada poderá falhar (dependendo do protocolo subjacente, HID/Bluetooth/SPI) com código de erro ERROR_GEN_FAILURE (0x0000001f)

Para obter mais informações, consulte Coleções HID.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows 2000 e versões posteriores do Windows.
Plataforma de Destino Universal
Cabeçalho hidsdi.h (inclua Hidsdi.h)
Biblioteca Hid.lib
DLL Hid.dll

Confira também

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