Compartilhar via


função HidP_SetButtonArray (hidpi.h)

A função HidP_SetButtonArray define o estado dos botões por meio de uma matriz de estruturas HIDP_BUTTON_ARRAY_DATA .

Sintaxe

NTSTATUS HidP_SetButtonArray(
  HIDP_REPORT_TYPE        ReportType,
  USAGE                   UsagePage,
  USHORT                  LinkCollection,
  USAGE                   Usage,
  PHIDP_BUTTON_ARRAY_DATA ButtonData,
  USHORT                  ButtonDataLength,
  PHIDP_PREPARSED_DATA    PreparsedData,
  PCHAR                   Report,
  ULONG                   ReportLength
);

Parâmetros

ReportType

Um valor de HidP_Output ou HidP_Feature da enumeração HIDP_REPORT_TYPE .

UsagePage

A página de uso à qual o uso especificado se refere.

LinkCollection

(Opcional) Esse valor pode ser usado para diferenciar entre dois campos que podem ter o mesmo UsagePage e Usage, mas existem em coleções diferentes. Se o valor for HIDP_LINK_COLLECTION_UNSPECIFIED, a primeira matriz de botões encontrada que corresponde a UsagePage e Usage será retornada, independentemente do local. Se o valor for HIDP_LINK_COLLECTION_ROOT, a primeira matriz de botões encontrada, na coleção raiz, correspondente a UsagePage e Usage será retornada.

Usage

O uso cuja matriz de botões HidP_SetButtonArray será definida.

ButtonData

O buffer com os valores a serem definidos na matriz de botões.

ButtonDataLength

Número de elementos no buffer ButtonData .

PreparsedData

Os dados analisados retornados de HIDCLASS.

Report

O pacote de relatório. O primeiro byte deve ser o ReportId.

ReportLength

Comprimento do pacote de relatório especificado em bytes.

Retornar valor

HidP_SetButtonArray retorna um dos seguintes valores de status:

Código de retorno Descrição
HIDP_STATUS_SUCCESS A matriz de botões no pacote de relatório foi definida com êxito
HIDP_STATUS_INVALID_REPORT_TYPE ReportType não é válido
HIDP_STATUS_INVALID_PREPARSED_DATA PreparsedData não é válido
HIDP_STATUS_INVALID_REPORT_LENGTH O comprimento do pacote de relatório não é igual ao comprimento especificado na estrutura HIDP_CAPS para o ReportType especificado
HIDP_STATUS_REPORT_DOES_NOT_EXIST Não há relatórios neste dispositivo para o ReportType especificado
HIDP_STATUS_NOT_BUTTON_ARRAY O controle especificado não é uma matriz de botões
HIDP_STATUS_INCOMPATIBLE_REPORT_ID A página de uso, o uso e a coleção de links especificados existem em um relatório com uma ID de relatório diferente do relatório que está sendo passado
HIDP_STATUS_USAGE_NOT_FOUND A combinação de página de uso, uso e coleção de links não existe em nenhum relatório para este ReportType
HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE O ArrayIndex para uma das estruturas de HIDP_BUTTON_ARRAY_DATA fornecidas está fora do intervalo válido para essa matriz de botões

Comentários

HidP_SetButtonArray define o estado dos botões para a primeira matriz de botões encontrada, dentro do LinkCollection especificado, com o Uso fornecido para o Relatório especificado.

O chamador deve usar HidP_GetVersion para determinar se essa função está disponível. HidP_SetButtonArray só estará disponível se HidP_GetVersion retornar um valor de dois ou mais. A versão dois da API corresponde a Windows 11.

Uma matriz de botões ocorre quando o último uso na sequência de usos que descrevem um item de main deve ser repetido porque há menos usos definidos do que o ReportCount declarado para o item de main determinado. Nesse caso, uma única HIDP_BUTTON_CAPS é alocada para esse uso e o ReportCount do HIDP_BUTTON_CAPS é definido para refletir o número de campos que o uso se refere.

Um HIDP_BUTTON_CAPS que descreve uma matriz de botões sempre terá ReportCount maior que um. Se ReportCount for igual a um, ele não será uma matriz de botões e não poderá ser usado com HidP_SetButtonArray. Para obter mais informações, consulte HidP_SetUsages.

Requisitos

Requisito Valor
Cabeçalho hidpi.h

Confira também