Partilhar via


função HidD_GetIndexedString (hidsdi.h)

A rotina de HidD_GetIndexedString retorna uma cadeia de caracteres inserida especificada de uma coleção de 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 em buffer. Se o buffer não for grande o suficiente para retornar toda a cadeia de caracteres inserida terminada por NULL, a rotina não retornará nada no buffer. O buffer fornecido deve ser <= 4093 bytes (2^12 – 3).

Valor de retorno

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

Observações

Somente aplicativos no modo de usuário podem chamar HidD_GetIndexedString. Os drivers no modo kernel podem usar uma solicitação 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 de largura (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 iInterface membro da estrutura de USB_INTERFACE_DESCRIPTOR da interface não for 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 iFunction membro do descritor de associação de interface para a interface não for 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 o código de erro ERROR_GEN_FAILURE (0x0000001f)

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

Requisitos

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

Consulte 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