我到处浏览,找不到任何关于要放在IR_TRANSMIT_PARAMS结构的TransmitPortMask中的值的文档,以便与IOCTL_IR_TRANSMIT一起使用。
所有文档都说它是“包含要传输的端口的位掩码”。
因此,我首先尝试了:
PORT1 = 0x1
PORT2 = 0x2
它不起作用!
然后,在我的计算机上,我尝试了所有的值并发现:
PORT1 = 0x4
PORT2 = 0x2
这是一种奇怪的价值......特别是对于PORT1。
当然,如果我输入-1(或~0或0xFFFFFFFF),它会同时在所有端口上传输数据。但我想控制各个端口。
现在我收到一些用户的报告,说它在他们的系统上不起作用,即使他们拥有相同版本的Windows。
因此我问,我应该在TransmitPortMask中添加什么值?
答案 0 :(得分:1)
我找到了答案。我在这里张贴后代
端口是掩码的最低有效位,但最后一个端口是LSBit。
example with 1 port: ---- ---- ---- ---1 LSB
example with 2 ports: ---- ---- ---- --12 LSB
example with 3 ports: ---- ---- ---- -123 LSB