0

我到处环顾四周,找不到任何有关要放入 IR_TRANSMIT_PARAMS 结构的 TransmitPortMask 以与 IOCTL_IR_TRANSMIT 一起使用的值的文档。

所有文档都说它是“包含要传输的端口的位掩码”。

因此,我首先尝试:

PORT1 = 0x1 
PORT2 = 0x2

那没起效!

然后,在我的计算机上,我尝试了所有值并发现:

PORT1 = 0x4
PORT2 = 0x2

这是一种奇怪的值......尤其是对于 PORT1。

当然,如果我输入 -1(或 ~0,或 0xFFFFFFFF),它会同时在所有端口上传输数据。但我想控制个别端口。

现在我收到一些用户的报告说它在他们的系统上不起作用,即使他们拥有相同版本的 Windows。

因此我问,我应该在 TransmitPortMask 中输入什么值?

  • 我正在使用 Windows 7 RC 32 位。
  • 我正在使用 Microsoft Media Center Remote 附带的 Microsoft IR Blaster(不仅仅是兼容的,而是真正的 Microsoft)
4

1 回答 1

1

我找到了我的答案。我把它贴在这里以供后代使用

端口是掩码的最低有效位,但最后一个端口是 LSBit。

example with 1 port:  ---- ---- ---- ---1 LSB
example with 2 ports: ---- ---- ---- --12 LSB
example with 3 ports: ---- ---- ---- -123 LSB
于 2013-11-01T13:00:02.373 回答