HidP_SetButtonArray función (hidpi.h)
La función HidP_SetButtonArray establece el estado de los botones a través de una matriz de estructuras de 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 UsagePage y 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 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 ButtonData .
PreparsedData
Los datos analizados devueltos de HIDCLASS.
Report
Paquete de informe. El primer byte debe ser 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 determinado. |
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 | ArrayIndex para una de las estructuras de HIDP_BUTTON_ARRAY_DATA proporcionadas está fuera del intervalo válido para esta matriz de botones |
Comentarios
HidP_SetButtonArray establece el estado de los botones de la primera matriz de botones encontrada, dentro de linkCollection especificado, con el uso proporcionado 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 único 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, consulte HidP_SetUsages.
Requisitos
Requisito | Valor |
---|---|
Header | hidpi.h |