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 Uso, mas existem em coleções diferentes. Se o valor for HIDP_LINK_COLLECTION_UNSPECIFIED, a primeira matriz de botões encontrada que corresponde ao UsagePage e de Uso de será retornada, independentemente da localização. Se o valor for HIDP_LINK_COLLECTION_ROOT, a primeira matriz de botões encontrada, na coleção raiz, correspondente à UsagePage e de Uso de 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 de bytes deve ser o ReportId.
ReportLength
Comprimento do pacote de relatório especificado em bytes.
Valor de retorno
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 de HIDP_CAPS para o ReportType determinado |
HIDP_STATUS_REPORT_DOES_NOT_EXIST | Não há relatórios neste dispositivo para o ReportType determinado |
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 página de uso, o uso e a combinação da coleção de links não existem 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 esta matriz de botões |
Observações
HidP_SetButtonArray define o estado dos botões da primeira matriz de botões encontrada, no LinkCollection especificado, com o de Uso de fornecido para o de Relatórioespecificado.
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 ao Windows 11.
Uma matriz de botões ocorre quando o último uso na sequência de usos que descreve um item principal deve ser repetido porque há menos usos definidos do que o ReportCount declarado para o item principal especificado. Nesse caso, um único HIDP_BUTTON_CAPS é alocado para esse uso e o ReportCount do HIDP_BUTTON_CAPS é definido para refletir o número de campos que o uso refere.
Um HIDP_BUTTON_CAPS que descreve uma matriz de botões sempre terá ReportCount maior que um. Se ReportCount for igual a uma, ela não será uma matriz de botões e não poderá ser usada com HidP_SetButtonArray. Para obter mais informações, consulte HidP_SetUsages.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | hidpi.h |