IOCTL_IR_PRIORITY_RECEIVE control code

Important

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.

Input Parameters

None.

Output Parameters

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:

  • STATUS_INVALID_DEVICE_STATE
    The device is not in Priority Receive mode.

  • STATUS_BUFFER_TOO_SMALL
    The supplied output buffer is too small to be an IR_PRIORITY_RECEIVE_PARAMS structure.

  • STATUS_INVALID_BUFFER_SIZE
    The ByteCount field of the IR_PRIORITY_RECEIVE_PARAMS structure is larger than the output buffer size that is specified in the request.

Remarks

The IOCTL_IR_PRIORITY_RECEIVE IOCTL is available on x86-based and x64-based computers with the Windows Vista operating system.

Requirements

Header

Irclass_ioctl.h (include Irclass_ioctl.h)

See also

IOCTL_IR_ENTER_PRIORITY_RECEIVE

IOCTL_IR_EXIT_PRIORITY_RECEIVE

IOCTL_IR_RECEIVE

IR_PRIORITY_RECEIVE_PARAMS

Send comments about this topic to Microsoft