Compartir a través de


función HidP_SetData (hidpi.h)

La rutina HidP_SetData establece un conjunto especificado de usos de valores y botón de control HID en un informe HID.

Sintaxis

NTSTATUS HidP_SetData(
  [in]      HIDP_REPORT_TYPE     ReportType,
  [in, out] PHIDP_DATA           DataList,
  [in, out] PULONG               DataLength,
  [in]      PHIDP_PREPARSED_DATA PreparsedData,
  [in]      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, out] DataList

Puntero a una matriz asignada por el autor de la llamada de HIDP_DATA estructuras que especifican qué botones y valores de uso se van a establecer.

[in, out] DataLength

Especifica, en la entrada, el número de miembros de la matriz DataList . Para obtener información sobre el valor de salida, vea la sección Comentarios.

[in] PreparsedData

Puntero a los datos preparados de un nivel superior.

[in] 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_SetData devuelve HIDP_STATUS_SUCCESS si establece correctamente todos los datos de control especificados por DataList.

HidP_SetData devuelve uno de los siguientes valores de estado si uno de los parámetros de entrada no es válido:

Código devuelto Descripción
HIDP_STATUS_INVALID_PREPARSED_DATA
Los datos preparados especificados por PreparsedData no son válidos .
HIDP_STATUS_INVALID_REPORT_LENGTH
El tamaño, en bytes, del informe HID no es igual a la longitud especificada en la estructura HIDP_CAPS de la colección para el tipo de informe especificado.
HIDP_STATUS_INVALID_REPORT_TYPE
ReportType no es válido.
HIDP_STATUS_REPORT_DOES_NOT_EXIST
La colección no contiene un informe del tipo especificado.
 

HidP_SetData devuelve uno de los siguientes valores de error si no se pudo establecer uno de los valores de uso o botón especificados:

Código devuelto Descripción
HIDP_STATUS_BUFFER_TOO_SMALL
Un botón de una matriz no se estableció en ON (1) porque todos los campos de matriz ya se usan para indexar otros botones.
HIDP_STATUS_BUTTON_NOT_PRESSED
Un miembro DataList especifica establecer un botón OFF (cero), pero el botón ya está establecido en OFF.
HIDP_STATUS_DATA_INDEX_NOT_FOUND
El índice de datos de un miembro DataList no es válido.
HIDP_STATUS_INCOMPATIBLE_REPORT_ID
Un botón o un valor de uso se incluye en un informe, pero no está en el informe especificado.
HIDP_STATUS_IS_VALUE_ARRAY
Un índice de datos especifica una matriz de valores de uso.

Comentarios

A excepción de las matrices de valores de uso, una aplicación en modo de usuario o un controlador en modo kernel puede usar HidP_SetData para establecer botones y valores de uso en un informe. Para establecer una matriz de valores de uso, una aplicación o controlador debe usar HidP_SetUsageValueArray.

HidP_SetData establece el valor de salida de DataLength de la siguiente manera:

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 PASSIVE_LEVEL

Consulte también

HIDP_DATA

HidP_GetData

HidP_SetButtons

HidP_SetUsageValueArray

HidP_SetUsages

HidP_UnsetButtons

HidP_UnsetUsages

_HIDP_PREPARSED_DATA