سؤال

أنا أكتب برنامج تشغيل مستشعر UMDF للجهاز الذي يتصل بالنظام عبر Bluetooth ويمكن الوصول إليه كجهاز إدخال HID. رأيت برنامج تشغيل عينة "Sensor Development" ولاحظت أنه يعمل مع أجهزة FreeScale عبر HID أيضا على الرغم من أنه يتصل بالنظام عبر USB. هل هناك اختلاف في الطريقة التي يتصل فيها برنامج تشغيل UMDF بالجهاز في حالة الاتصال بالنظام عبر Bluetooth؟ لسبب ما، أجد أن الدعوة إلى CreateWdfFile عائدات ERROR_INVALID_FUNCTION حتى عندما يكون لدي الجهاز المقترن بالنظام. أنا قادر على الوصول إلى الجهاز مباشرة عبر HID على ما يرام.

في INF للسائق الذي حددته معرف الجهاز مثل ذلك - HID\VID_1234&PID_5678 (لم تستخدم المعرفات الفعلية هنا). هل هذا يكفي لإطار UMDF لتحديد السائق الذي يجب أن يستخدمه أكثر من أسفل المكدس؟ أم أن هناك شيء آخر يحتاج المرء القيام به؟

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

المحلول

تمكنت من حل هذا واحد بنفسي. اتضح أنني لم أستخدم معرف الجهاز الصحيح. في نزوة نظرت إلى ما تم تسجيل معرفات الأجهزة التي تم تسجيل جهاز Bluetooth HKLM\SYSTEM\CurrentControlSet\Enum\HID واستخدم معرف آخر تم إعطاؤه هناك وفويلا! - IWDFDevice::CreateWdfFile عمل! :) وبالتأكيد، يتم وصف هذا بوضوح تماما على MSDN هنا. وبعد لذلك، كل شيء جيد!

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