Question

I have look around everywhere and cannot find any documentation about the values to put in TransmitPortMask of IR_TRANSMIT_PARAMS structure for use with IOCTL_IR_TRANSMIT.

All the documentation says is that it is "A bitmask that contains ports to transmit on".

Thus, I first tried:

PORT1 = 0x1 
PORT2 = 0x2

It did not work!

Then, on my computer, I tried all the values and found out that:

PORT1 = 0x4
PORT2 = 0x2

Which is kind of weird values... especially for PORT1.

Of course, if I put -1 (or ~0, or 0xFFFFFFFF) it transmit the data on all ports simultaneously. But I want to control individual ports.

Now I am receiving reports from some users saying that it does not work on their systems, even though they are having the same version of Windows.

Hence I ask, what are the values I should put in TransmitPortMask?

  • I am using Windows 7 RC 32-bits.
  • I am using a Microsoft IR Blaster (not merely a compatible one, the real Microsoft one) that came with a Microsoft Media Center Remote
Was it helpful?

Solution

I found my answer. I post it here for posterity

Ports are the least significant bits of the mask but the last port as the LSBit.

example with 1 port:  ---- ---- ---- ---1 LSB
example with 2 ports: ---- ---- ---- --12 LSB
example with 3 ports: ---- ---- ---- -123 LSB
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top