Frage

Ich habe überall herum schauen und kann keine Dokumentation über die Werte finden mit IOCTL_IR_TRANSMIT in TransmitPortMask von IR_TRANSMIT_PARAMS Struktur zu nutzen.

Die gesamte Dokumentation sagt, ist, dass es „eine Bitmaske, die Ports enthält übertragen auf“.

So ich zum ersten Mal versucht:

PORT1 = 0x1 
PORT2 = 0x2

Es hat nicht funktioniert!

Dann auf meinem Computer habe ich versucht, alle Werte und fand heraus, dass:

PORT1 = 0x4
PORT2 = 0x2

Welche Art seltsame Werte ... vor allem für PORT1 ist.

Natürlich, wenn ich -1 gesetzt (oder ~ 0 oder 0xFFFFFFFF) er die Daten auf allen Ports gleichzeitig übertragen. Aber ich möchte einzelne Ports steuern.

Jetzt erhalte ich Berichte von einigen Benutzern zu sagen, dass es nicht auf ihren Systemen nicht funktioniert, obwohl sie die gleiche Version von Windows haben.

Daher frage ich, was sind die Werte, die ich in TransmitPortMask setzen sollte?

  • Ich verwende Windows 7 RC 32-Bit.
  • Ich bin mit einem Microsoft IR Blaster (nicht nur ein kompatibles, der real Microsoft eins), die mit einer Microsoft Media Center-Fernbedienung kam
War es hilfreich?

Lösung

fand ich meine Antwort. Ich poste es hier für die Nachwelt

Ports sind die am wenigsten signifikanten Bits der Maske, aber der letzte Port als LSBit.

example with 1 port:  ---- ---- ---- ---1 LSB
example with 2 ports: ---- ---- ---- --12 LSB
example with 3 ports: ---- ---- ---- -123 LSB
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top