função HidP_GetButtonArray (hidpi.h)
HidP_GetButtonArray retorna uma matriz de estruturas de HIDP_BUTTON_ARRAY_DATA para o relatório especificado.
Sintaxe
NTSTATUS HidP_GetButtonArray(
HIDP_REPORT_TYPE ReportType,
USAGE UsagePage,
USHORT LinkCollection,
USAGE Usage,
PHIDP_BUTTON_ARRAY_DATA ButtonData,
PUSHORT ButtonDataLength,
PHIDP_PREPARSED_DATA PreparsedData,
PCHAR Report,
ULONG ReportLength
);
Parâmetros
ReportType
Um valor 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 LinkCollection for HIDP_LINK_COLLECTION_UNSPECIFIED, a primeira matriz de botões encontrada correspondente a UsagePage e Usage será retornada, independentemente da localização. Se o valor LinkCollection for HIDP_LINK_COLLECTION_ROOT, a primeira matriz de botões encontrada na coleção raiz que corresponde a UsagePage e Usage será retornada.
Usage
O uso cujos botões HidP_GetButtonArray será recuperado.
ButtonData
Uma matriz de estruturas de HIDP_BUTTON_ARRAY_DATA em que os dados de botões definidos como ON
serão colocados. O número de elementos necessários é o campo ReportCount do HIDP_BUTTON_CAPS para esse controle. Esse buffer é fornecido pelo chamador.
ButtonDataLength
Como entrada, esse parâmetro especifica o comprimento do parâmetro ButtonData no número de elementos de matriz, não o número de bytes. Como saída, se HIDP_STATUS_SUCCESS for retornado, esse valor será definido para indicar quantos desses elementos de matriz foram preenchidos pela função . O número máximo de estruturas de HIDP_BUTTON_ARRAY_DATA que podem ser retornadas é determinado por HIDP_BUTTON_CAPS. ReportCount. Se HIDP_STATUS_BUFFER_TOO_SMALL for retornado, esse valor conterá o número de elementos de matriz necessários para concluir a solicitação com êxito.
PreparsedData
Os dados pré-analisados retornados pelo HIDCLASS.
Report
O pacote de relatório. O primeiro byte deve ser o ReportId. Isso será definido corretamente se o relatório for lido do sistema.
ReportLength
Comprimento do pacote de relatório especificado em bytes.
Retornar valor
HidP_GetButtonArray retorna um dos seguintes valores de status:
Código de retorno | Descrição |
---|---|
HIDP_STATUS_SUCCESS | Recuperou com êxito os botões do pacote de relatório |
HIDP_STATUS_INVALID_REPORT_TYPE | O parâmetro ReportType não é válido |
HIDP_STATUS_INVALID_PREPARSED_DATA | O parâmetro 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_NOT_BUTTON_ARRAY | O controle especificado não é uma matriz de botões |
HIDP_STATUS_BUFFER_TOO_SMALL | O tamanho do buffer passado no qual retornar a matriz é muito pequeno |
HIDP_STATUS_INCOMPATIBLE_REPORT_ID | A página de uso, o uso e a coleção de link 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 de coleção de links não existem em nenhum relatório para este ReportType |
Comentários
O chamador deve usar HidP_GetVersion para determinar se essa função está disponível. HidP_GetButtonArray 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 main deve ser repetido porque há menos usos definidos do que o ReportCount declarado para o item de main determinado. 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 aos quais 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_GetButtonArray. Em vez disso , consulte HidP_GetUsages .
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | hidpi.h |