función HidP_SetUsageValueArray (hidpi.h)

La rutina HidP_SetUsageValueArray establece una matriz de valores de uso del control HID en un informe HID especificado.

Sintaxis

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

Parámetros

[in] ReportType

Especifica un valor de enumerador HIDP_REPORT_TYPE que indica el tipo de informe HID ubicado en Informe.

[in] UsagePage

Especifica la página de uso de un uso.

[in] LinkCollection

Especifica la colección de vínculos que contiene el uso. Si LinkCollection no es cero, la rutina solo establece el uso, si existe, en esta colección de vínculos. Si LinkCollection es cero, la rutina establece el primer uso que encuentra en la colección de nivel superior asociada a PreparsedData.

[in] Usage

Especifica el uso.

[in] UsageValue

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

[in] UsageValueByteLength

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

[in] PreparsedData

Puntero a los datos preparados de un nivel superior.

[in, out] Report

Puntero a un informe HID.

[in] ReportLength

Especifica el tamaño, en bytes, del informe HID ubicado en Informe, que debe ser igual a la longitud del informe para el tipo de informe especificado que HidP_GetCaps devuelve en la estructura de HIDP_CAPS de una colección.

Valor devuelto

HidP_SetUsageValueArray devuelve uno de los siguientes valores de estado:

Código devuelto Descripción
HIDP_STATUS_SUCCESS
La rutina establece correctamente el valor de uso.
HIDP_STATUS_INVALID_REPORT_LENGTH
La longitud del informe no es válida.
HIDP_STATUS_INVALID_REPORT_TYPE
El tipo de informe especificado no es válido.
HIDP_STATUS_BUFFER_TOO_SMALL
El tamaño, en bytes, del búfer UsageValue es demasiado pequeño.
HIDP_STATUS_INCOMPATIBLE_REPORT_ID
El uso no existe en el informe especificado, pero existe en un informe diferente del tipo especificado.
HIDP_STATUS_NOT_VALUE_ARRAY
El uso especificado no es una matriz de valores de uso.
HIDP_STATUS_INVALID_PREPARSED_DATA
Los datos preparados no son válidos.
HIDP_STATUS_REPORT_DOES_NOT_EXIST
No hay informes del tipo especificado.
HIDP_STATUS_NOT_IMPLEMENTED
El tamaño del informe de los campos de datos especificados para la matriz de valores de uso no es un múltiplo de ocho bits.
HIDP_STATUS_USAGE_NOT_FOUND
El uso no existe en ningún informe del tipo de informe especificado.

Comentarios

El tamaño necesario, en bytes, del búfer UsageValue 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_SetUsageValueArray solo admite matrices de valores de uso donde cada campo de datos de la matriz es un múltiplo de ocho bits.

El autor de la llamada debe establecer el búfer UsageValue exactamente como debería producirse en el informe.

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_SetScaledUsageValue

HidP_SetUsageValue

_HIDP_PREPARSED_DATA