Compartilhar via


IOCTL_HID_SET_POLL_FREQUENCY_MSEC IOCTL (hidclass.h)

A solicitação IOCTL_HID_SET_POLL_FREQUENCY_MSEC define a frequência de sondagem, em milissegundos, para uma coleção de nível superior.

Aplicativos no modo de usuário ou drivers de modo kernel que executam leituras irregulares e oportunistas em um dispositivo sondado devem fornecer um intervalo de sondagem de zero. Nesses casos, IOCTL_HID_SET_POLL_FREQUENCY_MSEC não altera a frequência de sondagem do dispositivo; mas se os dados do relatório não estiverem obsoletos quando forem lidos, a leitura será concluída imediatamente com os dados de relatório mais recentes da coleção indicada. Se os dados do relatório estiverem obsoletos, eles serão atualizados imediatamente, sem aguardar a expiração do intervalo de sondagem e a leitura será concluída com os novos dados.

Se o valor do intervalo de sondagem fornecido no IRP não for zero, ele deverá ser >= MIN_POLL_INTERVAL_MSEC e <= MAX_POLL_INTERVAL_MSEC.

A sondagem poderá ser limitada se houver várias coleções de nível superior.

Para obter informações gerais sobre dispositivos HIDClass, consulte Coleções HID.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

Parameters.DeviceIoControl.InputBufferLength no local da pilha de E/S do IRP indica o tamanho, em bytes, do buffer de entrada, que deve ser >= sizeof(ULONG).

Irp->AssociatedIrp.SystemBuffer contém o novo intervalo de sondagem.

Comprimento do buffer de entrada

Um valor maior ou igual a sizeof(ULONG).

Buffer de saída

Nenhum.

Comprimento do buffer de saída

Nenhum.

Bloco de status

O driver de classe HID define o membro Status de Irp-IoStatus> como STATUS_SUCCESS se a transferência for concluída sem erro. Caso contrário, ele será definido como um código de erro NTSTATUS apropriado.

Requisitos

Requisito Valor
Cabeçalho hidclass.h (inclua Hidclass.h)

Confira também

IOCTL_HID_GET_POLL_FREQUENCY_MSEC