Specifications
Remote Control and Receiver-Transceiver Specifications and Requirements
for Windows Media Center in Windows Operating Systems
151
Wake Programmability Options
The following options are available for building your hardware:
One protocol, one button only, not programmable (version 1 DDI or version 2 DDI). In this option,
your hardware is basically hard-wired to respond to a single wake pattern. Note that this option is
not allowed in Windows 7. In future Windows Logo program detail, this option will eventually be
eliminated in its entirety. If you do this with the version 2 DDI, you should make sure that the
V2_DEV_CAPS_PROGRAMMABLE_WAKE bit is not set.
All protocols, all buttons, programmable (version 2 DDI only). In this option, you support a
programmable wake pattern, but your hardware can only respond to a single wake pattern. If you
do this, be sure to set the V2_DEV_CAPS_PROGRAMMABLE_WAKE bit and be sure to
indicate which protocols your hardware supports by setting the appropriate bits in the
IR_DEV_CAPS_V2.WakeProtocols variable.
This second option
is the Microsoft recommended method.
All protocols, all buttons, simultaneous decoding (version 1 DDI or version 2 DDI). In this option,
you must program your hardware to respond to all valid wake patterns simultaneously. If you do
this, be sure to set the V2_DEV_CAPS_MULTIPLE_WAKE bit. Note that if you choose this
option, your device will still need to be programmable because the Address field can change and
you must filter wake patterns based on the Address field.
IOCTL Definitions
This section describes the specific IOCTLs that the CIRClass driver uses to communicate with
CIR Port drivers. Note that support of all IOCTLs is mandatory, unless a given IOCTL specifically
indicates that its implementation is optional.
IOCTL_IR_ENTER_PRIORITY_RECEIVE
User Scenario
This puts the IR receiver into learning mode for parse and match as well as for learning of
individual buttons (IR learning short range).
Operation
This request is sent to prepare the port to enter Priority Receive mode. While the device is in
Priority Receive mode, all IOCTL_IR_RECEIVE requests should be starved and
IOCTL_IR_PRIORITY_RECEIVE requests should be completed.
Input
Irp->AssociatedIrp.SystemBuffer points to an IR_ENTER_PRIORITY_RECEIVE_PARAMS
structure containing parameters for the Priority Receive operation.
Output
None.
I/O Status Block
The Information field is set to zero.
The Status field is set to STATUS_SUCCESS or an appropriate error status.










