Share via


IOCTL_IR_RECEIVE control code

Infrared deprecation warning

Important

The Infrared driver stack is deprecated starting in Windows 10, version 1803 and should no longer be used.

The IOCTL_IR_RECEIVE request occurs with basic remote commands that come from a remote control.

This request is sent from the CIRClass driver and receives Run Length Coded (RLC) IR data when the device is not running in Priority Receive mode. When the device is running in Priority Receive mode, these requests remain queued but receive no data.

An IOCTL_IR_RECEIVE request remains pending until one of the following occurs:

  • The data buffer that is provided in the request has been completely filled with RLC IR data.

  • An IR time-out occurs. In the case of an IR time-out, the DataEnd member of the output structure is set to TRUE. The default time-out is 100 milliseconds.

Input Parameters

None.

Output Parameters

Irp->MdlAddress contains a variable length IR_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_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_BUFFER_TOO_SMALL
    The supplied output buffer is too small to be an IR_RECEIVE_PARAMS structure.

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

Remarks

The IOCTL_IR_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_PRIORITY_RECEIVE

IR_RECEIVE_PARAMS

 

 

Send comments about this topic to Microsoft