Compartir a través de


función HidP_GetUsageValueArray (hidpi.h)

La rutina HidP_GetUsageValueArray extrae los datos asociados a una matriz de valores de uso de controles HID de un informe HID.

Sintaxis

NTSTATUS HidP_GetUsageValueArray(
  [in]      HIDP_REPORT_TYPE     ReportType,
  [in]      USAGE                UsagePage,
  [in]      USHORT               LinkCollection,
  [in]      USAGE                Usage,
  [in, out] PCHAR                UsageValue,
  [in]      USHORT               UsageValueByteLength,
  [in]      PHIDP_PREPARSED_DATA PreparsedData,
  [in]      PCHAR                Report,
  [in]      ULONG                ReportLength
);

Parámetros

[in] ReportType

Especifica un valor de enumerador HIDP_REPORT_TYPE que identifica el tipo de informe.

[in] UsagePage

Especifica la página de uso de la matriz de valores de uso.

[in] LinkCollection

Especifica la colección de vínculos que contiene la matriz de valores de uso. Si LinkCollection no es cero, la rutina solo busca una matriz de valores de uso en esta colección de vínculos; de lo contrario, si LinkCollection es cero, la rutina busca una matriz de valores de uso en la colección de nivel superior asociada a PreparsedData.

[in] Usage

Especifica el uso de la matriz de valores de uso.

[in, out] UsageValue

Puntero a un búfer asignado por el autor de la llamada en el que la rutina devuelve los datos asociados a la matriz de valores de uso.

[in] UsageValueByteLength

Especifica la longitud, en bytes, del búfer en UsageValue.

[in] PreparsedData

Puntero a los datos preparados de una colección de nivel superior.

[in] Report

Puntero a un informe que contiene valores.

[in] ReportLength

Especifica la longitud, en bytes, del informe ubicado en Informe.

Valor devuelto

HidP_GetUsageValueArray devuelve uno de los siguientes valores de estado:

Código devuelto Descripción
HIDP_STATUS_SUCCESS
La rutina devolvió correctamente los datos del valor.
HIDP_INVALID_REPORT_LENGTH
La longitud del informe no es válida.
HIDP_INVALID_REPORT_TYPE
El tipo de informe especificado no es válido.
HIDP_STATUS_NOT_VALUE_ARRAY
El uso solicitado no es una matriz de valores de uso.
HIDP_STATUS_BUFFER_TOO_SMALL
El búfer UsageValue es demasiado pequeño para contener el uso solicitado.
HIDP_STATUS_INCOMPATIBLE_REPORT_ID
La colección contiene una matriz de valores de uso en la página de uso especificada en un informe del tipo especificado, pero no hay tales usos en el informe especificado.
HIDP_STATUS_INVALID_PREPARSED_DATA
Los datos preparados no son válidos.
HIDP_STATUS_USAGE_NOT_FOUND
La colección no contiene una matriz de valores de uso en la página de uso especificada en ningún informe del tipo de informe especificado.

Comentarios

El tamaño necesario, en bytes, de UsageValueByteLength se determina multiplicando los miembros BitSize y ReportCount de la estructura HIDP_VALUE_CAPS de la matriz de valores de uso y redondeando el resultado hasta el byte más cercano.

HidP_GetUsageValueArray establece el búfer UsageValue en orden little endian, empezando por el bit menos significativo de los datos del uso. Los datos no están alineados por bytes y se desplazan de forma que el bit menos significativo de los datos se encuentre en el primer bit del búfer UsageValue .

HidP_GetUsageValueArray está diseñado para extraer todos los valores de uso de un uso cuyo recuento de informes sea mayor que 1. Para extraer un uso cuyo recuento de informes sea igual a 1, use HidP_GetUsageValue.

Para obtener más información, consulte Colecciones HID.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows 2000 y versiones posteriores de Windows.
Plataforma de destino Universal
Encabezado hidpi.h (incluya Hidpi.h)
Library Hidparse.lib
IRQL <= DISPATCH_LEVEL

Consulte también

HIDP_VALUE_CAPS

HidP_GetButtons

HidP_GetButtonsEx

HidP_GetCaps

HidP_GetScaledUsageValue

HidP_GetUsageValue

HidP_GetUsages

HidP_GetUsagesEx

_HIDP_PREPARSED_DATA