2009-08-03 4 views
0

Ich habe mich überall umgesehen und kann keine Dokumentation über die Werte finden, die in die TransmitPortMask-Struktur von IR_TRANSMIT_PARAMS zur Verwendung mit IOCTL_IR_TRANSMIT eingefügt werden sollen.IR_TRANSMIT_PARAMS.TransmitPortMask Werte?

Die gesamte Dokumentation sagt, dass es "eine Bitmaske ist, die zu übertragende Häfen enthält".

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 seltsamer Wert ist ... vor allem für PORT1.

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

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

Daher frage ich, welche Werte sollte ich in TransmitPortMask setzen?

  • Ich verwende Windows 7 RC 32-Bit.
  • Ich bin mit einem Microsoft IR Blaster (nicht nur ein kompatibles, der real Microsoft eins), die Remote-
  • mit Microsoft Media Center kam
+0

Haben Sie versucht, in den entsprechenden Header-Dateien nach Hinweisen zu suchen? ('Irclass_ioctl.h') – arul

+0

Ja wirklich! Gleiches altes altes altes: "Bitmask, das Häfen enthält, auf denen übertragen wird." –

Antwort

1

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

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

example with 1 port: ---- ---- ---- ---1 LSB 
example with 2 ports: ---- ---- ---- --12 LSB 
example with 3 ports: ---- ---- ---- -123 LSB 
Verwandte Themen