يتم توفير العمل الموحد مع جميع أجهزة الكمبيوتر الشخصي في Windows ، بالإضافة إلى بعض الوظائف الأخرى لنظام التشغيل من خلال مجموعة من برامج التشغيل. من أجل كتابة برامج تشغيل ، يجب أن يكون لديك فهم جيد للبرمجة ومبادئ النواة وأنظمة Windows الفرعية المختلفة.
ضروري
Windows Driver Development Kit
تعليمات
الخطوة 1
قم بتنزيل توزيع Windows Driver Development Kit (DDK) من موقع microsoft.com (متاح لمشتركي MSDN) وقم بتثبيته على جهاز الكمبيوتر الخاص بك. تحتوي هذه الحزمة على جميع الأدوات اللازمة لتطوير وبناء برامج التشغيل (مترجم ، رابط ، ملفات رأس ، مكتبات) ، بالإضافة إلى وثائق شاملة.
الخطوة 2
ادرس بالتفصيل جميع الوثائق المتاحة حول كتابة برامج التشغيل لنظام التشغيل Windows. استخدم المعلومات المرجعية من DDK وموضوع MSDN ذي الصلة (msdn.microsoft.com). يجب أن تفهم تمامًا جميع جوانب نموذج برنامج تشغيل Windows (WDM) وأن تفهم المفاهيم المعمارية الأساسية. يجب أن تفهم بوضوح الاختلافات بين برامج تشغيل وضع المستخدم ووضع kernel وبرامج تشغيل الأجهزة وبرامج تشغيل نظام الملفات. تحتاج إلى معرفة ميزات الفئات المختلفة من السائقين وأنواعها (برامج تشغيل الحافلات ، والفلاتر ، وبرامج التشغيل الوظيفية) والأنواع الفرعية (برامج تشغيل العرض ، وأجهزة المودم ، وأجهزة الشبكة ، والمنافذ المتوازية والمتسلسلة ، وأجهزة التخزين) انتبه بشكل خاص لمبادئ الإدخال / الإخراج المستند إلى الحزم مع عمليات IRP القابلة لإعادة الاستخدام وإدارة الذاكرة ومعالجة الاستثناءات والتطبيق الصحيح لكائنات المزامنة.
الخطوه 3
حدد بوضوح وظائف السائق الجاري تطويره. بناءً على ذلك ، حدد النوع والفئة التي تنتمي إليها.
الخطوة 4
اختر لغة البرمجة. تقليديًا ، يتم تنفيذ برامج تشغيل وضع kernel في C. عادةً ما يتم تطوير برامج تشغيل وضع المستخدم في C ++. هناك عدة استثناءات لهذه القواعد. على سبيل المثال ، تتم كتابة minidrivers للعميل لتدفقات الصوت والفيديو ، وبرامج تشغيل الصوت WDM للمنافذ المصغرة لوضع kernel ، وبرامج تشغيل WIA ، وأحيانًا برامج تشغيل العرض بلغة C ++.
الخطوة الخامسة
قم بإنشاء مشروع يقوم بتنفيذ كعب السائق. استكشف دليل DDK مع الأمثلة. ابحث عن المشروع التجريبي الصحيح للسائق. إذا لم تتمكن من العثور على مثال مناسب ، فأنشئ بنفسك الملفات التي تحتوي على التعليمات البرمجية المصدر المطلوبة وأنشئ ملفات البرامج النصية. على سبيل المثال ، عند تطوير برنامج تشغيل وضع kernel ، فأنت بحاجة إلى تنفيذ وظيفة DriverEntry ، والتي تحتوي على كود التهيئة بالإضافة إلى بعض الإجراءات القياسية (مثل AddDevice و StartIo وما إلى ذلك).
الخطوة 6
تنفيذ وظيفة السائق. أضف التعليمات البرمجية إلى الوظائف التي تم إنشاؤها في الخطوة السابقة. أضف منطقًا للتعامل مع طلبات الإدخال / الإخراج ، إلخ.