Compartilhar via


função HidP_SetData (hidpi.h)

A rotina de HidP_SetData define um conjunto especificado de usos de valor e botão de controle HID em um relatório HID.

Sintaxe

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

[in, out] DataList

Ponteiro para uma matriz alocada por chamador de estruturas de HIDP_DATA que especificam quais botões e valores de uso devem ser definidos.

[in, out] DataLength

Especifica, na entrada, o número de membros na datalist matriz. Para obter informações sobre o valor de saída, consulte a seção Comentários.

[in] PreparsedData

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

[in] 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_SetData retornará HIDP_STATUS_SUCCESS se definir com êxito todos os dados de controle especificados por datalist.

HidP_SetData retornará um dos seguintes valores de status se um dos parâmetros de entrada não for válido:

Código de retorno Descrição
HIDP_STATUS_INVALID_PREPARSED_DATA
Os dados pré-preparados especificados por PreparsedData não são válidos.
HIDP_STATUS_INVALID_REPORT_LENGTH
O tamanho, em bytes, do relatório HID não é igual ao comprimento especificado na estrutura de HIDP_CAPS da coleção para o tipo de relatório especificado.
HIDP_STATUS_INVALID_REPORT_TYPE
ReportType não é válido.
HIDP_STATUS_REPORT_DOES_NOT_EXIST
A coleção não contém um relatório do tipo especificado.
 

HidP_SetData retornará um dos seguintes valores de erro se um dos valores de uso ou botão especificados não puder ser definido:

Código de retorno Descrição
HIDP_STATUS_BUFFER_TOO_SMALL
Um botão em uma matriz não foi definido como ON (1) porque todos os campos de matriz já são usados para indexar outros botões.
HIDP_STATUS_BUTTON_NOT_PRESSED
Um membro DataList especifica para definir um botão OFF (zero), mas o botão já está definido como OFF.
HIDP_STATUS_DATA_INDEX_NOT_FOUND
O índice de dados de um membro DataList não é válido.
HIDP_STATUS_INCOMPATIBLE_REPORT_ID
Um botão ou valor de uso está contido em um relatório, mas não está no relatório especificado.
HIDP_STATUS_IS_VALUE_ARRAY
Um índice de dados especifica uma matriz de valor de uso .

Observações

Com exceção das matrizes de valor de uso, um driver de modo de usuário ou de modo kernel pode usar HidP_SetData para definir botões e valores de uso em um relatório. Para definir uma matriz de valor de uso, um aplicativo ou driver deve usar HidP_SetUsageValueArray.

HidP_SetData define o valor de saída do DataLength da seguinte maneira:

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 PASSIVE_LEVEL

Consulte também

HIDP_DATA

HidP_GetData

HidP_SetButtons

HidP_SetUsageValueArray

HidP_SetUsages

HidP_UnsetButtons

HidP_UnsetUsages

_HIDP_PREPARSED_DATA