Hvordan Man Skriver Drivere

Indholdsfortegnelse:

Hvordan Man Skriver Drivere
Hvordan Man Skriver Drivere

Video: Hvordan Man Skriver Drivere

Video: Hvordan Man Skriver Drivere
Video: Guide til hvordan man opdatere sine drivere med DriverChecker - Shocknews 2024, December
Anonim

Samlet arbejde med alle enheder på en pc i Windows såvel som nogle andre funktioner i operativsystemet leveres af et sæt drivere. For at kunne skrive drivere skal du have en god forståelse af programmering, kerneprincipperne og forskellige Windows-undersystemer.

Hvordan man skriver drivere
Hvordan man skriver drivere

Nødvendig

Windows driverudviklingssæt

Instruktioner

Trin 1

Download distributionen af Windows Driver Development Kit (DDK) fra microsoft.com (tilgængelig for MSDN-abonnenter), og installer det på din computer. Denne pakke indeholder alle de nødvendige værktøjer til udvikling og opbygning af drivere (kompilator, linker, headerfiler, biblioteker) samt omfattende dokumentation.

Trin 2

Undersøg i detaljer al tilgængelig dokumentation om skrivning af drivere til Windows. Brug referenceoplysningerne fra DDK og relateret MSDN-emne (msdn.microsoft.com). Du skal have fuld forståelse for alle aspekter af Windows Driver Model (WDM) og forstå de grundlæggende arkitektoniske koncepter. Du skal klart forstå forskellene mellem drivere til brugertilstand og kernetilstand, enhedsdrivere og filsystemdrivere. Du skal kende funktionerne i forskellige klasser af drivere, deres typer (busdrivere, filtre, funktionelle drivere) og undertyper (displaydrivere, modemer, netværksenheder, parallelle og serielle porte, lagerenheder). Vær særlig opmærksom på principperne for pakkedrevet I / O med genanvendelige IRP'er, hukommelsesstyring, undtagelseshåndtering og den korrekte anvendelse af synkroniseringsobjekter.

Trin 3

Definér klart funktionaliteten af den driver, der udvikles. På baggrund af dette skal du bestemme hvilken type og klasse den tilhører.

Trin 4

Vælg et programmeringssprog. Traditionelt implementeres kerne-mode-drivere i C. Bruger-mode-drivere udvikles normalt i C ++. Der er flere undtagelser fra disse regler. For eksempel er klientminidrivere til lyd- og videostreams, WDM-lyddrivere til kernepunkt-miniporte, WIA-drivere og undertiden displaydrivere skrevet i C ++.

Trin 5

Opret et projekt, der implementerer driverstubben. Udforsk DDK-biblioteket med eksempler. Find det rigtige driverdemoprojekt. Hvis du ikke kan finde et passende eksempel, skal du oprette filerne selv, der indeholder den krævede kildekode, og oprette scriptfiler. For eksempel, når du udvikler en kerne-mode driver, skal du implementere DriverEntry-funktionen, der indeholder initialiseringskoden samt nogle standardrutiner (såsom AddDevice, StartIo osv.).

Trin 6

Implementere driverfunktionaliteten. Tilføj kode til funktionerne oprettet i det foregående trin. Tilføj logik til at håndtere I / O-anmodninger osv.

Anbefalede: