valores IR_TRANSMIT_PARAMS.TransmitPortMask?
Pergunta
Eu tenho olhar ao redor em todos os lugares e não consigo encontrar qualquer documentação sobre os valores para colocar em TransmitPortMask da estrutura IR_TRANSMIT_PARAMS para uso com IOCTL_IR_TRANSMIT.
Toda a documentação diz é que é "A máscara de bits que contém as portas para transmitir on".
Assim, primeiro eu tentei:
PORT1 = 0x1
PORT2 = 0x2
não funcionou!
Então, no meu computador, eu tentei todos os valores e descobriu que:
PORT1 = 0x4
PORT2 = 0x2
Qual é o tipo de valores estranhos ... especialmente para PORT1.
É claro que, se eu colocar -1 (ou ~ 0 ou 0xFFFFFFFF) que transmitir os dados em todas as portas simultaneamente. Mas eu quero controlar portas individuais.
Agora eu estou recebendo relatos de alguns usuários dizendo que ele não funciona em seus sistemas, mesmo que eles estão tendo a mesma versão do Windows.
Assim eu pergunto, quais são os valores que eu deveria colocar em TransmitPortMask?
- Estou usando o Windows 7 RC 32-bits.
- Eu estou usando um Microsoft IR Blaster (não meramente um compatível, o real Microsoft) que veio com a Microsoft Media Center remoto
Solução
Eu encontrei a minha resposta. Eu postá-lo aqui para a posteridade
Os portos são os bits menos significativos da máscara, mas o último porto como o LSBit.
example with 1 port: ---- ---- ---- ---1 LSB
example with 2 ports: ---- ---- ---- --12 LSB
example with 3 ports: ---- ---- ---- -123 LSB