Compartilhar via


Troubleshooting: HID Report Identifier Errors

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Descrição

Quando um driver recebe um relatório HID de uma coleção HID, ele pode ser qualquer relatório que contém a coleção, porque uma coleção pode retornar os relatórios em qualquer ordem.

A seguinte tabela mostra os valores de status que o HidP_GetXXX funções retornar para indicar valores identificador relatório.

Valor do status Descrição

HIDP_STATUS_INCOMPATIBLE_REPORT_ID

Solicitada uso está em um relatório com suporte pela coleção HID, mas não do relatório que o driver especificado.

HIDP_STATUS_USAGE_NOT_FOUND

Solicitado o uso não está em qualquer relatório com suporte pela de alto nível coleção.

De exemplo, suponha que um driver recebe um relatório de uma coleção e, em seguida, chama HidP_GetUsageValue Para extrair um valor de uso. Se identificador do relatório for sete, a função retornará HIDP_STATUS_INCOMPATIBLE_REPORT_ID, que indica que o dispositivo suporta o valor retornado, mas o valor retornado não está no relatório. Por outro lado, se o driver solicita um valor, a função retorna HIDP_STATUS_USAGE_NOT_FOUND, que indica que o valor não está em qualquer relatório com suporte pela coleção.

Quando usa um driver de HidP_SetXXX funções Definir usos em um relatório, o pode funções também retornam os mesmos valores status dois. O significado dos HIDP_STATUS_USAGE_NOT_FOUND é o mesmo que com o HidP_GetXXX funções. No entanto, o significado dos HIDP_STATUS_INCOMPATIBLE_REPORT_ID é diferente. Este valor status indica que o relatório tiver sido configurado anteriormente com um identificador relatório, e o uso especificado pelo chamador não pertence ao identificador desse relatório. Após usa um driver HidP_SetUsages Para definir um botão em um relatório zero-initialized, o relatório é configurado com um identificador relatório de um valor especificado. Se o driver subseqüentemente tenta usar HidP_SetUsageValue Para definir um valor no mesmo relatório, a função retorna HIDP_STATUS_INCOMPATIBLE_REPORT_ID.

Resolução

A seguinte lista mostra as ações que o chamador deve realizar se um HidP_XXX função retorna HIDP_STATUS_INCOMPATIBLE_REPORT_ID:

  • Se o chamador define usos, o chamador deve alocar um novo relatório o comprimento correto, inicializá-lo para zero e em seguida, chamar a função novamente. O chamador pode enviar o relatório para a coleção depois com êxito configuração Todos os usos no relatório.
  • Se o chamador extrai usos, o chamador deve chamar a função com um relatório diferente obtido a coleção.

See Also

Tasks

Troubleshooting: Dropped HID Reports