Compartir a través de


función HidP_GetUsagesEx (hidpi.h)

La rutina HidP_GetUsagesEx devuelve una lista de todos los usos del botón de control HID que se establecen en ON en un informe HID.

Sintaxis

NTSTATUS HidP_GetUsagesEx(
  [in]      HIDP_REPORT_TYPE     ReportType,
  [in]      USHORT               LinkCollection,
  [in, out] PUSAGE_AND_PAGE      ButtonList,
  [in, out] ULONG                *UsageLength,
  [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] LinkCollection

Especifica la colección de vínculos de los usos del botón. Si LinkCollection no es cero, la rutina solo devuelve información sobre los botones que contiene esta colección de vínculos; de lo contrario, si LinkCollection es cero, la rutina devuelve información sobre todos los botones de la colección de nivel superior asociada a PreparsedData.

[in, out] ButtonList

Puntero a un búfer asignado por el autor de la llamada que la rutina usa para devolver los identificadores de página de uso y uso de cada botón que se establece en ON (1).

[in, out] UsageLength

Especifica, en la entrada, la longitud, en los elementos de matriz, del búfer ButtonList . Especifica, en la salida, los usos numéricos que se establecen actualmente en ON en el informe especificado.

[in] PreparsedData

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

[in] Report

Puntero a un informe que contiene datos de botón.

[in] ReportLength

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

Valor devuelto

HidP_GetUsagesEx devuelve uno de los siguientes valores de estado:

Código devuelto Descripción
HIDP_STATUS_SUCCESS
La rutina devolvió correctamente todos los usos de botón establecidos en ACTIVADO.
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_BUFFER_TOO_SMALL
El búfer UsageList es demasiado pequeño para contener todos los usos establecidos actualmente en ON en el informe especificado.
HIDP_STATUS_INCOMPATIBLE_REPORT_ID
La colección contiene botones 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.

Comentarios

Las aplicaciones en modo de usuario y los controladores en modo kernel llaman a HidP_MaxUsageListLength para determinar el número máximo de botones que se devuelven para el tipo de informe especificado. Como alternativa, las aplicaciones o controladores pueden llamar a HidP_GetUsagesEx y establecer (*UsageLength) en cero para devolver la longitud necesaria en UsageLength. En otras palabras, UsageLength debe ser un puntero válido que apunte a un valor de ULONG 0 para obtener la longitud necesaria.

Las aplicaciones o controladores determinan la longitud de informe necesaria de los miembros XxxReportByteLength de una estructura de HIDP_CAPS de una colección de nivel superior.

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_GetButtons

HidP_GetButtonsEx

HidP_GetCaps

HidP_GetScaledUsageValue

HidP_GetUsageValue

HidP_GetUsageValueArray

HidP_GetUsagesEx

HidP_MaxUsageListLength

USAGE_AND_PAGE

_HIDP_PREPARSED_DATA