Cum Se Scriu Drivere

Cuprins:

Cum Se Scriu Drivere
Cum Se Scriu Drivere

Video: Cum Se Scriu Drivere

Video: Cum Se Scriu Drivere
Video: Cum sa instalezi driverele pentru Windows 10 2024, Noiembrie
Anonim

Lucrul unificat cu toate dispozitivele unui computer personal din Windows, precum și alte funcții ale sistemului de operare sunt furnizate de un set de drivere. Pentru a scrie drivere, trebuie să aveți o bună înțelegere a programării, a principiilor nucleului și a diferitelor subsisteme Windows.

Cum se scriu drivere
Cum se scriu drivere

Necesar

Kit de dezvoltare driver Windows

Instrucțiuni

Pasul 1

Descărcați distribuția Windows Driver Development Kit (DDK) de la microsoft.com (disponibilă pentru abonații MSDN) și instalați-o pe computer. Acest pachet conține toate instrumentele necesare pentru dezvoltarea și construirea driverelor (compilator, linker, fișiere antet, biblioteci), precum și documentație cuprinzătoare.

Pasul 2

Studiați în detaliu toată documentația disponibilă despre scrierea driverelor pentru Windows. Utilizați informațiile de referință din DDK și subiectul MSDN aferent (msdn.microsoft.com). Trebuie să înțelegeți pe deplin toate aspectele modelului de driver Windows (WDM) și să înțelegeți conceptele arhitecturale de bază. Trebuie să înțelegeți în mod clar diferențele dintre driverele în modul utilizator și în modul kernel, driverele de dispozitiv și driverele sistemului de fișiere. Trebuie să cunoașteți caracteristicile diferitelor clase de drivere, tipurile acestora (drivere de autobuz, filtre, drivere funcționale) și subtipuri (drivere de afișare, modemuri, dispozitive de rețea, porturi paralele și seriale, dispozitive de stocare). Acordați o atenție deosebită principiilor I / O bazate pe pachete cu IRP-uri reutilizabile, gestionarea memoriei, gestionarea excepțiilor și aplicarea corectă a obiectelor de sincronizare.

Pasul 3

Definiți în mod clar funcționalitatea driverului dezvoltat. Pe baza acestui lucru, determinați la ce tip și clasă aparține.

Pasul 4

Selectați un limbaj de programare. În mod tradițional, driverele în modul kernel sunt implementate în C. Driverele în modul utilizator sunt de obicei dezvoltate în C ++. Există mai multe excepții de la aceste reguli. De exemplu, mini-drivere client pentru fluxuri audio și video, drivere audio WDM pentru miniporturi în modul kernel, drivere WIA și, uneori, drivere de afișare sunt scrise în C ++.

Pasul 5

Creați un proiect care implementează stub-ul driverului. Explorează directorul DDK cu exemple. Găsiți proiectul demo corect al driverului. Dacă nu găsiți un exemplu adecvat, creați singur fișierele care conțin codul sursă necesar și creați fișiere script. De exemplu, atunci când dezvoltați un driver în modul kernel, trebuie să implementați funcția DriverEntry, care conține codul de inițializare, precum și unele rutine standard (cum ar fi AddDevice, StartIo etc.).

Pasul 6

Implementați funcționalitatea driverului. Adăugați cod la funcțiile create în pasul anterior. Adăugați logică pentru a gestiona solicitările I / O etc.

Recomandat: