Hoe een stuurprogramma te schrijven

Hoe een stuurprogramma te schrijven


Uniform werken met alle apparaten van een pc in Windows, evenals enkele andere functies van het besturingssysteem worden geleverd door een aantal stuurprogramma's. Om te schrijven bestuurder, je moet de programmering, de principes van de kernel en verschillende Windows-subsystemen goed begrijpen.



Hoe een stuurprogramma te schrijven


Je hebt nodig



  • - Windows Driver Development Kit.


instructie


1


Download de Windows Driver DevelopmentKit (DDK) van microsoft.com (beschikbaar voor MSDN-abonnees) en installeer het op uw computer. Dit pakket bevat alle benodigde hulpmiddelen voor het ontwikkelen en samenstellen van stuurprogramma's (compiler, linker, headerbestanden, bibliotheken), evenals uitgebreide documentatie.


2


Lees alle beschikbare documentatie voor meer informatie.schrijven van stuurprogramma's voor Windows. Gebruik de referentie-informatie van het DDK-pakket en de bijbehorende MSDN-sectie (msdn.microsoft.com). U moet alle aspecten van het Windows-stuurprogrammamodel (WDM) volledig begrijpen, de basisarchitectuurconcepten beheersen. Het is noodzakelijk om de verschillen duidelijk te begrijpen bestuurderwelke werken in de gebruikersmodus en in de kernelmodus, bestuurderapparaten en bestandssystemen. U moet de kenmerken kennen van verschillende klassen stuurprogramma's, hun typen (busstuurprogramma's, filters, functionele stuurprogramma's) en subtypen (stuurprogramma's voor beeldschermen, modems, netwerkapparaten, parallelle en seriële poorten, opslagapparaten). Besteed speciale aandacht aan Packet-Driven I / O-principes met herbruikbare IRP's, geheugenbeheer, afhandeling van uitzonderingen en het juiste gebruik van synchronisatieobjecten.


3


Definieer duidelijk de functionaliteit van de bestuurder. Op basis hiervan kunt u bepalen naar welk type en klasse het betrekking heeft.


4


Selecteer de programmeertaal. Traditioneel worden stuurprogramma's in de kernelmodus geïmplementeerd in C. Gebruikersmodusstuurprogramma's worden meestal ontwikkeld in C ++. Van deze regels zijn er een paar uitzonderingen. In C ++ zijn dus geschreven minidrivers van audio- en videostreams, WDM-audiostuurprogramma's van minipoorten van een kernelmodus, WIA-stuurprogramma's, soms stuurprogramma's van het scherm.


5


Maak een project dat de inkoop implementeert bestuurder. Verken de DDK-catalogus met voorbeelden. Kies een demoproject bestuurder van het gewenste type. Als er geen geschikt exemplaar is, maakt u zelf de bestanden met de vereiste broncode, evenals de build-scriptbestanden. Bijvoorbeeld bij het ontwikkelen bestuurder kernelmodus, moet u de DriverEntry-functie implementeren, die de initialisatiecode bevat, evenals enkele standaardprocedures (zoals AddDevice, StartIo, enz.).


6


Implementeer de functionaliteit bestuurder. Voeg de code toe aan de functies die in de vorige stap zijn gemaakt. Logica toevoegen om I / O-aanvragen af ​​te handelen, enz.