ვინდოუსის პერსონალური კომპიუტერის ყველა მოწყობილობასთან ერთად ერთიანი მუშაობა, ისევე როგორც ოპერაციული სისტემის ზოგიერთი სხვა ფუნქცია. დრაივერების დასაწერად საჭიროა კარგად გაეცნოთ პროგრამირებას, ბირთვის პრინციპებს და Windows– ის სხვადასხვა ქვესისტემებს.
აუცილებელია
Windows Driver განვითარების ნაკრები
ინსტრუქციები
Ნაბიჯი 1
ჩამოტვირთეთ Windows Driver Development Kit (DDK) განაწილება microsoft.com– დან (ხელმისაწვდომია MSDN აბონენტებისთვის) და დააინსტალირეთ თქვენს კომპიუტერში. ეს პაკეტი შეიცავს ყველა საჭირო ინსტრუმენტს დრაივერების შემუშავებისა და მშენებლობისთვის (შემდგენელი, დამაკავშირებელი, სათაურის ფაილები, ბიბლიოთეკები), ასევე სრულყოფილი დოკუმენტაცია.
ნაბიჯი 2
დეტალურად შეისწავლეთ Windows– ის დრაივერების შესახებ არსებული ყველა დოკუმენტაცია. გამოიყენეთ საცნობარო ინფორმაცია DDK– დან და მასთან დაკავშირებული MSDN თემადან (msdn.microsoft.com). თქვენ კარგად უნდა გესმოდეთ Windows Driver Model (WDM) ყველა ასპექტი და გაეცნოთ არქიტექტურულ კონცეფციებს. თქვენ კარგად უნდა გესმოდეთ განსხვავებები მომხმარებლის რეჟიმისა და ბირთვის რეჟიმის დრაივერებს, მოწყობილობის დრაივერებსა და ფაილური სისტემის დრაივერებს შორის. თქვენ უნდა იცოდეთ სხვადასხვა კლასის დრაივერების მახასიათებლები, მათი ტიპები (ავტობუსის დრაივერები, ფილტრები, ფუნქციური დრაივერები) და ქვეტიპები (ეკრანის დრაივერები, მოდემები, ქსელური მოწყობილობები, პარალელური და სერიული პორტები, შენახვის მოწყობილობები). განსაკუთრებული ყურადღება მიაქციეთ Packet-ორიენტირებული I / O პრინციპებს მრავალჯერადი გამოყენებადი IRP- ებით, მეხსიერების მენეჯმენტზე, გამონაკლისების მართვასა და სინქრონიზაციის ობიექტების სწორ გამოყენებაში.
ნაბიჯი 3
მკაფიოდ განსაზღვრავს შემუშავებული დრაივერის ფუნქციონირება. ამის საფუძველზე განსაზღვრეთ, რა ტიპსა და კლასს მიეკუთვნება.
ნაბიჯი 4
აირჩიეთ პროგრამირების ენა. ტრადიციულად, ბირთვის რეჟიმის დრაივერები ხორციელდება C. მომხმარებლის რეჟიმის დრაივერები, როგორც წესი, შემუშავებულია C ++ ფორმატით. ამ წესებიდან რამდენიმე გამონაკლისი არსებობს. მაგალითად, კლიენტის მინიდრივერები აუდიო და ვიდეო ნაკადებისთვის, WDM აუდიო დრაივერები ბირთვის რეჟიმის მინიპორტებისთვის, WIA დრაივერები და ზოგჯერ ჩვენების დრაივერები იწერება C ++ - ში.
ნაბიჯი 5
შექმენით პროექტი, რომელიც ახორციელებს დრაივერის ძირს. შეისწავლეთ DDK დირექტორია მაგალითებით. იპოვნეთ მძღოლის დემო პროექტი. თუ ვერ იპოვნეთ შესაფერისი მაგალითი, შექმენით ფაილები, რომლებიც შეიცავს საჭირო კოდს და ააშენეთ სკრიპტის ფაილები. მაგალითად, ბირთვის რეჟიმის დრაივერის შემუშავებისას, თქვენ უნდა დანერგოთ DriverEntry ფუნქცია, რომელიც შეიცავს ინიციალიზაციის კოდს და ზოგიერთ სტანდარტულ რეჟიმს (მაგალითად, AddDevice, StartIo და ა.შ.).
ნაბიჯი 6
შეასრულეთ მძღოლის ფუნქციონირება. წინა ეტაპზე შექმნილ ფუნქციებს დაამატეთ კოდი. დაამატეთ ლოგიკა, რომ გაუმკლავდეთ I / O მოთხოვნებს და ა.შ.