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 |