Question

J'ai jeté un coup d'œil un peu partout et je ne trouve aucune documentation sur les valeurs à mettre dans la structure TransmitPortMask de la structure IR_TRANSMIT_PARAMS à utiliser avec IOCTL_IR_TRANSMIT.

Tout ce que dit la documentation, c’est qu’il s’agit d’un masque binaire contenant des ports sur lesquels transmettre. "

Ainsi, j'ai d'abord essayé:

PORT1 = 0x1 
PORT2 = 0x2

Cela n'a pas fonctionné!

Ensuite, sur mon ordinateur, j'ai essayé toutes les valeurs et découvert que:

PORT1 = 0x4
PORT2 = 0x2

Ce qui est un peu bizarre, surtout pour PORT1.

Bien sûr, si je mets -1 (ou ~ 0, ou 0xFFFFFFFF), il transmet les données sur tous les ports simultanément. Mais je veux contrôler des ports individuels.

Maintenant, certains utilisateurs me signalent que cela ne fonctionne pas sur leurs systèmes, même s'ils utilisent la même version de Windows.

Par conséquent, je demande quelles sont les valeurs que je devrais mettre dans TransmitPortMask?

  • J'utilise Windows 7 RC 32 bits.
  • J'utilise un Microsoft IR Blaster (non seulement compatible, le vrai Microsoft) fourni avec une télécommande Microsoft Media Center
Était-ce utile?

La solution

J'ai trouvé ma réponse. Je le poste ici pour la postérité

Les ports sont les bits les moins significatifs du masque mais le dernier port est le LSBit.

example with 1 port:  ---- ---- ---- ---1 LSB
example with 2 ports: ---- ---- ---- --12 LSB
example with 3 ports: ---- ---- ---- -123 LSB
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top