Compartir a través de


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

Consulte también