سؤال

لقد بحثت في كل مكان ولم أتمكن من العثور على أي وثائق حول القيم التي يجب وضعها في بنية TransmitPortMask الخاصة بـ IR_TRANSMIT_PARAMS للاستخدام مع IOCTL_IR_TRANSMIT.

تقول جميع الوثائق أنه "قناع نقطي يحتوي على منافذ للإرسال عليها".

وهكذا حاولت أولاً:

PORT1 = 0x1 
PORT2 = 0x2

إنها لا تعمل!

ثم قمت بتجريب جميع القيم على جهاز الكمبيوتر الخاص بي واكتشفت ما يلي:

PORT1 = 0x4
PORT2 = 0x2

وهو نوع من القيم الغريبة ...وخاصة بالنسبة للPORT1.

بالطبع، إذا وضعت -1 (أو ~0، أو 0xFFFFFFFF) فإنه ينقل البيانات على جميع المنافذ في وقت واحد.لكني أريد التحكم في المنافذ الفردية.

الآن أتلقى تقارير من بعض المستخدمين تفيد بأن البرنامج لا يعمل على أنظمتهم، على الرغم من أن لديهم نفس إصدار Windows.

ومن هنا أسأل، ما هي القيم التي يجب أن أضعها في TransmitPortMask؟

  • أنا أستخدم Windows 7 RC 32 بت.
  • أنا أستخدم Microsoft IR Blaster (ليس مجرد جهاز متوافق، بل جهاز Microsoft الحقيقي) الذي يأتي مزودًا بجهاز التحكم عن بعد لـ Microsoft Media Center
هل كانت مفيدة؟

المحلول

لقد وجدت إجابتي.أنشرها هنا للأجيال القادمة

المنافذ هي الأجزاء الأقل أهمية في القناع ولكنها المنفذ الأخير مثل LSBit.

example with 1 port:  ---- ---- ---- ---1 LSB
example with 2 ports: ---- ---- ---- --12 LSB
example with 3 ports: ---- ---- ---- -123 LSB
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top