// hidclass.h
// CTL_CODE(0x000b, 0x06c, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_HID_SET_S0_IDLE_TIMEOUT 0x000B01B0
View the official Windows Driver Kit DDI referenceNo description available.
The IOCTL_HID_SET_S0_IDLE_TIMEOUT request is used by a client to inform the HID class driver about the client's preferred idle timeout value.
When the client sets this value to zero (0), it informs the HID class driver that the preferred idle timeout value is no longer valid. In this case, the HID class driver will start to use the default idle timeout value.
The Parameters.DeviceIoControl.OutputBufferLength member specifies the size, in bytes, of a requester-allocated output buffer.
This is a buffer of size ULONG.
The Irp->AssociatedIrp.SystemBuffer member is a pointer to the requestor-allocated buffer that the client uses to return the idle timeout value.
Irp->IoStatus.Status is set to STATUS_SUCCESS if the request is successful. Otherwise, Status to the appropriate error condition as a NTSTATUS code.