IOCTL_IR_PRIORITY_RECEIVE control code
The Infrared driver stack is deprecated starting in Windows 10, version 1803 and should no longer be used.
The IOCTL_IR_PRIORITY_RECEIVE request occurs when data is sent from a learned remote control to the class driver.
This request is sent from the CIRClass driver and receives Run Length Coded (RLC) IR data when the device is running in Priority Receive mode. If the device is not already in Priority Receive mode (which is initiated by having previously received an IOCTL_IR_ENTER_PRIORITY_RECEIVE request), the CIR Port driver fails this request immediately. If in Priority Receive mode, the request will remain pending until one of the following occurs:
The data buffer that is provided in the request is completely filled with data.
An IR time-out occurs. The length of time required for the IR time-out was specified when entering Priority Receive mode.
While in Priority Receive mode and processing IOCTL_IR_PRIORITY_RECEIVE requests, IOCTL_IR_RECEIVE requests remain pending and are not filled with IR data.
Irp->MdlAddress contains a variable length IR_PRIORITY_RECEIVE_PARAMS structure.
I/O Status Block
The Information field is set to the actual number of bytes that are copied into the supplied data buffer, including the IR_PRIORITY_RECEIVE_PARAMS structure.
The Status field is set to STATUS_SUCCESS if the operation is completed successfully. It can also be one of the following values:
The device is not in Priority Receive mode.
The supplied output buffer is too small to be an IR_PRIORITY_RECEIVE_PARAMS structure.
The ByteCount field of the IR_PRIORITY_RECEIVE_PARAMS structure is larger than the output buffer size that is specified in the request.
The IOCTL_IR_PRIORITY_RECEIVE IOCTL is available on x86-based and x64-based computers with the Windows Vista operating system.
|Irclass_ioctl.h (include Irclass_ioctl.h)|