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
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) |