Specifications
Remote Control and Receiver-Transceiver Specifications and Requirements
for Windows Media Center in Windows Operating Systems
147
CIR Port drivers are required to process IOCTL_IR_TRANSMIT requests synchronously. That is,
a CIR Port driver must not complete an IOCTL_IR_TRANSMIT request until all the data
described by that request has been transmitted.
Example CIR Port Driver – Hardware Design Requirements and Considerations
This section describes an example of requirements and considerations for designing a consumer
infrared (CIR) port driver.
Software Decoding of Infrared
Implicit to this driver model is that the infrared signal is decoded in software. Hardware that
decodes the infrared signal into a payload or keystroke is not supported in this model. This is
done for several reasons, including the following:
Decoding the infrared signal in software allows us to decouple the receiver implementation from
the remote implementation. This way, any Windows Media Center-compatible remote will work
with any Windows Media Center-compatible receiver. There is no reason to modify the receiver
hardware to support a new remote protocol.
Multiple infrared remote (IR) protocols can be supported simultaneously. There is no need to put
the receiver into "Protocol #1 mode" or "Protocol #2 mode". The software that decodes the
protocol can decode numerous protocols and doesn't need to be put into a specific protocol
mode.
Returning remote line controller (RLC) data allows us to do learning and parse-and-match in a
hardware-independent way. The learning algorithm is implemented in software, as is the IR
database, thus ensuring a consistent learning experience across hardware implementations.
Filtering of input can happen in software. This is useful, for instance, when a single computer has
multiple IR receivers (all the more likely now, considering current MPEG encoder cards are
already being distributed with their own IR receiver.). In this case, the IR driver stack is smart
enough to realize that there are multiple receivers and that it can ignore input from one of the
receivers, thus preventing the user from seeing multiple responses from a single key press.
Another place this is useful is in remote addressing. It is not hard to imagine multiple Windows
Media Center computers in a store environment, or in an enthusiast's home. In that case, the
Windows Media Center software can be configured to only accept input from a given remote
control. This way, remote control #1 can control computer #1 exclusively and remote control #2
can control computer #2 exclusively.
Sampling Resolution
When receiving IR or transmitting IR, your hardware needs to operate with a 50-microsecond
resolution. When transmitting, this means that you can effectively round the RLC durations to the
nearest 50 microseconds. When receiving, this means that you only need to return RLC that is
accurate to 50-microsecond durations.










