So Schreiben Sie Treiber

Inhaltsverzeichnis:

So Schreiben Sie Treiber
So Schreiben Sie Treiber

Video: So Schreiben Sie Treiber

Video: So Schreiben Sie Treiber
Video: C+ Bonus [025] - Treiber für Windows schreiben 2024, Dezember
Anonim

Ein einheitliches Arbeiten mit allen Geräten eines PCs in Windows sowie einige andere Funktionen des Betriebssystems werden durch eine Reihe von Treibern bereitgestellt. Um Treiber schreiben zu können, benötigen Sie ein gutes Verständnis der Programmierung, der Prinzipien des Kernels und verschiedener Windows-Subsysteme.

So schreiben Sie Treiber
So schreiben Sie Treiber

Notwendig

Entwicklungskit für Windows-Treiber

Anweisungen

Schritt 1

Laden Sie die Windows Driver Development Kit (DDK)-Distribution von microsoft.com (verfügbar für MSDN-Abonnenten) herunter und installieren Sie sie auf Ihrem Computer. Dieses Paket enthält alle notwendigen Werkzeuge zum Entwickeln und Bauen von Treibern (Compiler, Linker, Header-Dateien, Bibliotheken) sowie eine umfassende Dokumentation.

Schritt 2

Studieren Sie die gesamte verfügbare Dokumentation zum Schreiben von Treibern für Windows im Detail. Verwenden Sie die Referenzinformationen aus dem DDK und dem zugehörigen MSDN-Thema (msdn.microsoft.com). Sie müssen alle Aspekte des Windows-Treibermodells (WDM) vollständig verstehen und die grundlegenden Architekturkonzepte verstehen. Sie müssen die Unterschiede zwischen Benutzermodus- und Kernelmodustreibern, Gerätetreibern und Dateisystemtreibern genau verstehen. Sie müssen die Eigenschaften verschiedener Treiberklassen, deren Typen (Bustreiber, Filter, Funktionstreiber) und Untertypen (Bildschirmtreiber, Modems, Netzwerkgeräte, parallele und serielle Schnittstellen, Speichergeräte) kennen. Achten Sie besonders auf die Prinzipien von Packet-Driven I/O mit wiederverwendbaren IRPs, Speicherverwaltung, Ausnahmebehandlung und die richtige Anwendung von Synchronisationsobjekten.

Schritt 3

Definieren Sie die Funktionalität des zu entwickelnden Treibers klar. Bestimmen Sie auf dieser Grundlage, zu welchem Typ und welcher Klasse es gehört.

Schritt 4

Wählen Sie eine Programmiersprache aus. Herkömmlicherweise werden Kernelmodustreiber in C implementiert. Benutzermodustreiber werden normalerweise in C++ entwickelt. Von diesen Regeln gibt es mehrere Ausnahmen. Client-Minitreiber für Audio- und Videostreams, WDM-Audiotreiber für Miniports im Kernelmodus, WIA-Treiber und manchmal auch Anzeigetreiber sind in C++ geschrieben.

Schritt 5

Erstellen Sie ein Projekt, das den Treiber-Stub implementiert. Erkunden Sie das DDK-Verzeichnis mit Beispielen. Finden Sie das richtige Treiber-Demo-Projekt. Wenn Sie kein geeignetes Beispiel finden, erstellen Sie selbst die Dateien, die den erforderlichen Quellcode enthalten und bauen Skriptdateien auf. Wenn Sie beispielsweise einen Kernelmodustreiber entwickeln, müssen Sie die Funktion DriverEntry implementieren, die den Initialisierungscode sowie einige Standardroutinen (wie AddDevice, StartIo usw.) enthält.

Schritt 6

Implementieren Sie die Treiberfunktionalität. Fügen Sie den im vorherigen Schritt erstellten Funktionen Code hinzu. Fügen Sie Logik hinzu, um E / A-Anfragen usw. zu verarbeiten.

Empfohlen: