función HidP_SetButtonArray (hidpi.h)
La función HidP_SetButtonArray establece el estado de los botones a través de una matriz de estructuras HIDP_BUTTON_ARRAY_DATA.
Sintaxis
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
Valor de HidP_Output o HidP_Feature de la enumeración HIDP_REPORT_TYPE.
UsagePage
Página de uso a la que hace referencia el uso especificado.
LinkCollection
(Opcional) Este valor se puede usar para diferenciar entre dos campos que pueden tener el mismo UsagePage y Usage, pero que existen en colecciones diferentes. Si el valor es HIDP_LINK_COLLECTION_UNSPECIFIED, se devolverá la primera matriz de botones encontrada que coincida con el UsagePage y se devolverá Usage, independientemente de la ubicación. Si el valor es HIDP_LINK_COLLECTION_ROOT, se devolverá la primera matriz de botones encontrada, en la colección raíz, que coincida con el usagePage y Usage.
Usage
El uso cuya matriz de botones HidP_SetButtonArray establecerá.
ButtonData
Búfer con los valores que se van a establecer en la matriz de botones.
ButtonDataLength
Número de elementos del búfer de ButtonData.
PreparsedData
Los datos analizados devueltos de HIDCLASS.
Report
Paquete de informe. El primer de bytes debe ser el ReportId.
ReportLength
Longitud del paquete de informe especificado en bytes.
Valor devuelto
HidP_SetButtonArray devuelve uno de los siguientes valores de estado:
Código devuelto | Descripción |
---|---|
HIDP_STATUS_SUCCESS | La matriz de botones del paquete de informe se estableció correctamente |
HIDP_STATUS_INVALID_REPORT_TYPE | ReportType no es válido |
HIDP_STATUS_INVALID_PREPARSED_DATA | preparsedData no es válido |
HIDP_STATUS_INVALID_REPORT_LENGTH | La longitud del paquete de informe no es igual a la longitud especificada en la estructura de HIDP_CAPS para el ReportType especificado |
HIDP_STATUS_REPORT_DOES_NOT_EXIST | No hay ningún informe en este dispositivo para el ReportType dado |
HIDP_STATUS_NOT_BUTTON_ARRAY | El control especificado no es una matriz de botones |
HIDP_STATUS_INCOMPATIBLE_REPORT_ID | La página de uso, el uso y la colección de vínculos especificadas existen en un informe con un identificador de informe diferente al que se pasa en el informe. |
HIDP_STATUS_USAGE_NOT_FOUND | La combinación de la colección de vínculos, uso y página de uso no existe en ningún informe de este ReportType |
HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE | El arrayIndex de para una de las estructuras de HIDP_BUTTON_ARRAY_DATA proporcionadas está fuera del intervalo válido para esta matriz de botones |
Observaciones
HidP_SetButtonArray establece el estado de los botones de la primera matriz de botones encontrada, dentro de la LinkCollectionespecificada, con la de uso de proporcionada para el informe especificado.
El autor de la llamada debe usar HidP_GetVersion para determinar si esta función está disponible. HidP_SetButtonArray solo está disponible si HidP_GetVersion devuelve un valor de dos o más. La versión dos de la API corresponde a Windows 11.
Una matriz de botones se produce cuando el último uso de la secuencia de usos que describe un elemento principal, debe repetirse porque hay menos usos definidos que el ReportCount declarado para el elemento principal especificado. En este caso, se asigna un solo HIDP_BUTTON_CAPS para ese uso y el ReportCount del HIDP_BUTTON_CAPS se establece para reflejar el número de campos a los que hace referencia el uso.
Un HIDP_BUTTON_CAPS que describe una matriz de botones, siempre tendrá ReportCount mayor que uno. Si ReportCount es igual a uno, no es una matriz de botones y no se puede usar con HidP_SetButtonArray. Para obtener más información, vea HidP_SetUsages.
Requisitos
Requisito | Valor |
---|---|
encabezado de | hidpi.h |