Compartilhar via


função HidP_SetUsageValueArray (hidpi.h)

A rotina HidP_SetUsageValueArray define uma matriz de valor de uso de controle HID em um relatório HID especificado.

Sintaxe

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 um valor HIDP_REPORT_TYPE enumerador que indica o tipo de relatório HID localizado em Relatório.

[in] UsagePage

Especifica a página de uso de um uso.

[in] LinkCollection

Especifica a coleção de links que contém o uso. Se LinkCollection for diferente de zero, a rotina definirá apenas o uso, se houver, nessa coleção de links. Se LinkCollection for zero, a rotina definirá o primeiro uso encontrado na coleção de nível superior associada a PreparsedData.

[in] Usage

Especifica o uso.

[in] UsageValue

Ponteiro para um buffer alocado pelo chamador que contém os dados associados à matriz de valor de uso.

[in] UsageValueByteLength

Especifica o comprimento, em bytes, do buffer UsageValue .

[in] PreparsedData

Ponteiro para os dados pré-preparados de um nível superior.

[in, out] Report

Ponteiro para um relatório HID.

[in] ReportLength

Especifica o tamanho, em bytes, do relatório HID localizado em Relatório, que deve ser igual ao comprimento do relatório para o tipo de relatório especificado que HidP_GetCaps retorna na estrutura HIDP_CAPS de uma coleção.

Retornar valor

HidP_SetUsageValueArray retorna um dos seguintes valores de status:

Código de retorno Descrição
HIDP_STATUS_SUCCESS
A rotina definiu com êxito o valor de uso.
HIDP_STATUS_INVALID_REPORT_LENGTH
O comprimento do relatório não é válido.
HIDP_STATUS_INVALID_REPORT_TYPE
O tipo de relatório especificado não é válido.
HIDP_STATUS_BUFFER_TOO_SMALL
O tamanho, em bytes, do buffer UsageValue é muito pequeno.
HIDP_STATUS_INCOMPATIBLE_REPORT_ID
O uso não existe no relatório especificado, mas existe em um relatório diferente do tipo especificado.
HIDP_STATUS_NOT_VALUE_ARRAY
O uso especificado não é uma matriz de valor de uso.
HIDP_STATUS_INVALID_PREPARSED_DATA
Os dados pré-preparados não são válidos.
HIDP_STATUS_REPORT_DOES_NOT_EXIST
Não há relatórios do tipo especificado.
HIDP_STATUS_NOT_IMPLEMENTED
O tamanho do relatório de campos de dados especificados para a matriz de valor de uso não é um múltiplo de oito bits.
HIDP_STATUS_USAGE_NOT_FOUND
O uso não existe em nenhum relatório do tipo de relatório especificado.

Comentários

O tamanho necessário, em bytes, do buffer UsageValue é determinado multiplicando os membros BitSize e ReportCount da estrutura HIDP_VALUE_CAPS da matriz de valor de uso e arredondando o resultado para o byte mais próximo.

HidP_SetUsageValueArray dá suporte apenas a matrizes de valor de uso em que cada campo de dados da matriz é um múltiplo de oito bits.

O chamador deve definir o buffer UsageValue exatamente como deve ocorrer no relatório.

Para obter mais informações, consulte Coleções HID.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows 2000 e versões posteriores do Windows.
Plataforma de Destino Universal
Cabeçalho hidpi.h (inclua Hidpi.h)
Biblioteca Hidparse.lib
IRQL <= DISPATCH_LEVEL

Confira também

HidP_SetScaledUsageValue

HidP_SetUsageValue

_HIDP_PREPARSED_DATA