سؤال

بالمختصر: أحتاج إلى اكتشاف أحداث السخرية من جهاز USB CDC الخاص بي بواسطة PID/VID والحصول على منفذ COM الظاهري المقابل الذي تم إنشاؤه بواسطة Windows في Visual C ++ وفي النهاية إنشاء DLL.

لدي جهاز USB CDC الذي يجب إخطاره عند الاتصال/فصله على Windows. مقاربي هو الاستخدام RegisterDeviceNotification ونافذة "غير مرئية" لتلقيها WM_DEVICECHANGE إشعارات. هذا الجزء يعمل حتى الآن.

الآن بقدر ما اكتشفت أنني بحاجة إلى الحصول على قائمة أجهزة USB التي يتم توصيلها ، وتكرارها وتصفية الأجهزة باستخدام PID/VID الخاص بي؟ أفترض أنني قادر على الحصول على مزيد من المعلومات حول الجهاز بما في ذلك منفذ COM؟

هي الطريقة الوحيدة لتحقيق هدفي للاستخدام SetupDi مكالمات في setupapi.h؟ هل استخدام WDK / DDK هو الطريقة الوحيدة لتحقيق هدفي؟

بمجرد أن يعمل ذلك ، فتحت المصدر http://github.com/vinzenzweber/usbeventhandler. إصدار MAC متاح بالفعل!

هل كانت مفيدة؟

المحلول

بعد الحفر عبر أطنان من الوثائق غير المجدية في MSDN وبعض تصحيح الأخطاء ، وجدت الرابط المفقود: مكالمات setupdi في setupapi.h: يمكن العثور على المزيد من INFOS وكذلك رمز المصدر لنظام التشغيل Mac و Windows في مشروع UsbeventHandler الخاص بي على github.com مع مصادر لنظام التشغيل Mac و Windows.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top