IR_TRANSMIT_PARAMS.TransmitPortMask値?
質問
どこでも見て回っていますが、IOCTL_IR_TRANSMITで使用するIR_TRANSMIT_PARAMS構造体のTransmitPortMaskに入れる値に関するドキュメントを見つけることができません。
すべてのドキュメントによると、「送信するポートを含むビットマスク」ということです。
したがって、私は最初に試しました:
PORT1 = 0x1
PORT2 = 0x2
機能しませんでした!
次に、コンピューターですべての値を試したところ、次のことがわかりました。
PORT1 = 0x4
PORT2 = 0x2
これは奇妙な値です...特にPORT1について
もちろん、-1(または〜0、または0xFFFFFFFF)を入力すると、すべてのポートで同時にデータが送信されます。しかし、個々のポートを制御したいです。
現在、一部のユーザーから、同じバージョンのWindowsを使用しているにもかかわらず、システム上では機能しないという報告を受けています。
したがって、TransmitPortMaskに入れる値は何ですか?
- Windows 7 RC 32ビットを使用しています。
- Microsoft Media Center Remoteに付属のMicrosoft IR Blaster(単に互換性のあるものではなく、実際のMicrosoftのもの)を使用しています
解決
答えが見つかりました。後世のためにここに投稿します
ポートはマスクの最下位ビットですが、LSBitとして最後のポートです。
example with 1 port: ---- ---- ---- ---1 LSB
example with 2 ports: ---- ---- ---- --12 LSB
example with 3 ports: ---- ---- ---- -123 LSB
所属していません StackOverflow