Specifications

Remote Control and Receiver-Transceiver Specifications and Requirements
for Windows Media Center in Windows Operating Systems
155
The Status field is set to STATUS_SUCCESS if the operation is completed successfully. It may
also be the following value:
STATUS_BUFFER_TOO_SMALL - The supplied output buffer is too small to be a ULONG.
IOCTL_IR_HANDSHAKE
User Scenario
User plugs device into computer.
Operation
This IOCTL is sent from CIRClass before creating the HID child device to represent the port. This
IOCTL is to be completed synchronously by the port as an indication that it is prepared to return
RLC IR data to the class driver.
Input
None.
Output
None.
I/O Status Block
The Information field is set to zero.
The Status field is set to STATUS_SUCCESS.
IOCTL_IR_PRIORITY_RECEIVE
User Scenario
Data sent from learned remote control to the class driver.
Operation
This request is sent from CIRClass 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,
initiated by having previously received an IOCTL_ENTER_PRIORITY_RECEIVE, the CIR Port
driver fails this request immediately. If in Priority Receive mode, the request will remain pending
until one of two events occurs:
The data buffer provided in the request has been completely filled with data.
An IR timeout occurs. The length of time required for the IR timeout 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
None.
Output
Irp->MdlAddress contains a variable length IR_PRIORITY_RECEIVE_PARAMS structure.
I/O Status Block