Pregunta

He buscado por todas partes y no puedo encontrar ninguna documentación sobre los valores para poner en TransmitPortMask de la estructura IR_TRANSMIT_PARAMS para usar con IOCTL_IR_TRANSMIT.

Toda la documentación dice que es " Una máscara de bits que contiene puertos para transmitir en " ;.

Por lo tanto, primero probé:

PORT1 = 0x1 
PORT2 = 0x2

¡No funcionó!

Luego, en mi computadora, probé todos los valores y descubrí que:

PORT1 = 0x4
PORT2 = 0x2

Que es una especie de valores extraños ... especialmente para PORT1.

Por supuesto, si pongo -1 (o ~ 0, o 0xFFFFFFFF) transmite los datos en todos los puertos simultáneamente. Pero quiero controlar puertos individuales.

Ahora recibo informes de algunos usuarios que dicen que no funciona en sus sistemas, a pesar de que tienen la misma versión de Windows.

Por lo tanto, pregunto, ¿cuáles son los valores que debo poner en TransmitPortMask?

  • Estoy usando Windows 7 RC de 32 bits.
  • Estoy usando un Microsoft IR Blaster (no simplemente uno compatible, el verdadero Microsoft) que vino con un Microsoft Media Center Remote
¿Fue útil?

Solución

Encontré mi respuesta. Lo publico aquí para la posteridad

Los puertos son los bits menos significativos de la máscara pero el último puerto como LSBit.

example with 1 port:  ---- ---- ---- ---1 LSB
example with 2 ports: ---- ---- ---- --12 LSB
example with 3 ports: ---- ---- ---- -123 LSB
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top