Specifications

Remote Control and Receiver-Transceiver Specifications and Requirements
for Windows Media Center in Windows Operating Systems
165
PulseSize
Currently unused.
Headers
For more information, see IOCTL_IR_TRANSMIT and IR_TRANSMIT_CHUNK.
IR_TRANSMIT_CHUNK
The IR_TRANSMIT_CHUNK structure is used in conjunction with the IOCTL_IR_TRANSMIT
IOCTL and IR_TRANSMIT_PARAMS structure to blast IR data. It describes the IR data to be
blasted by the device:
Syntax
typedef struct _IR_TRANSMIT_CHUNK {
ULONG_PTR OffsetToNextChunk;
ULONG_PTR RepeatCount;
ULONG_PTR ByteCount;
LONG Data[1];
} IR_TRANSMIT_CHUNK, *PIR_TRANSMIT_CHUNK;
Members
OffsetToNextChunk
Offset, in bytes, from Data member of this buffer to next IR_TRANSMIT_CHUNK (or zero if no
more chunks in buffer.)
RepeatCount
Number of times to serially repeat ByteCount bytes of data.
ByteCount
Number of data bytes contained in Data[].
Data
First byte of ByteCount bytes of data.
Note Each chunk is filled to integral ULONG_PTR boundary.
Headers
For more information, see IOCTL_IR_TRANSMIT and IR_TRANSMIT_PARAMS.
HID Device Requirements
The Windows Media Center user interface is designed to be used with a remote control by a user
who is sitting up to five meters away from a computer running a Windows operating system. The
remote control receiver is used to process commands that control and navigate the Windows
Media Center user interface.
In Microsoft Windows® XP Media Center Edition, the only supported remote control
implementation is an infrared (IR) device that is based on reference designs provided by
Microsoft. In an effort to give IHVs and OEMs more options for building remote control solutions,
Microsoft is providing these additional specifications for delivering Human Interface Device
(HID)based remote control receivers (input only) that will work with Windows Media Center.
Using these specifications, any medium can be used to create HIDbased PC remote control
receivers (for example, IR, RF, and so on). The considerations and restrictions for IR devices are
described in this section.
If you need to build a transmit/receive device, you must build a legacy device, a port driver
device, or an emulator device.