Partilhar via


função HidP_SetUsageValueArray (hidpi.h)

A rotina de HidP_SetUsageValueArray define um controle HID matriz de valor de uso 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 de enumerador HIDP_REPORT_TYPE 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 não for zero, a rotina definirá apenas o uso, se houver, nesta coleção de links. Se LinkCollection for zero, a rotina definirá o primeiro uso encontrado na coleção de de nível superior associada a PreparsedData.

[in] Usage

Especifica o uso.

[in] UsageValue

Ponteiro para um buffer alocado por 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 o 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 Report, que deve ser igual ao tamanho do relatório do tipo de relatório especificado que HidP_GetCaps retorna na estrutura de HIDP_CAPS de uma coleção.

Valor de retorno

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 ele 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é-parados 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.

Observações

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

HidP_SetUsageValueArray só dá suporte 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
de cliente com suporte mínimo Disponível no Windows 2000 e versões posteriores do Windows.
da Plataforma de Destino Universal
cabeçalho hidpi.h (inclua Hidpi.h)
biblioteca Hidparse.lib
IRQL <= DISPATCH_LEVEL

Consulte também

HidP_SetScaledUsageValue

HidP_SetUsageValue

_HIDP_PREPARSED_DATA