Domanda

Mi sono guardato intorno ovunque e non riesco a trovare alcuna documentazione sui valori da inserire nella struttura TransmitPortMask della struttura IR_TRANSMIT_PARAMS da utilizzare con IOCTL_IR_TRANSMIT.

Tutta la documentazione dice che è " Una maschera di bit che contiene le porte su cui trasmettere "

Quindi, per prima cosa ho provato:

PORT1 = 0x1 
PORT2 = 0x2

Non ha funzionato!

Quindi, sul mio computer, ho provato tutti i valori e ho scoperto che:

PORT1 = 0x4
PORT2 = 0x2

Che è una specie di valori strani ... specialmente per PORT1.

Naturalmente, se inserisco -1 (o ~ 0, o 0xFFFFFFFF), trasmette i dati su tutte le porte contemporaneamente. Ma voglio controllare le singole porte.

Ora sto ricevendo report da alcuni utenti che dicono che non funziona sui loro sistemi, anche se hanno la stessa versione di Windows.

Quindi chiedo, quali sono i valori che dovrei inserire in TransmitPortMask?

  • Uso Windows RC RC a 32 bit.
  • Sto usando un Microsoft IR Blaster (non solo un compatibile, il vero Microsoft) fornito con un Microsoft Media Center Remote
È stato utile?

Soluzione

Ho trovato la mia risposta. Lo pubblico qui per i posteri

Le porte sono i bit meno significativi della maschera ma l'ultima porta come LSBit.

example with 1 port:  ---- ---- ---- ---1 LSB
example with 2 ports: ---- ---- ---- --12 LSB
example with 3 ports: ---- ---- ---- -123 LSB
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top