Inhaltsverzeichnis
 
1 Einleitung 1.1 Motivation
1.2 Voraussetzungen
1.3 Begriffe und Konventionen
2 Grundlagen Windows NT
2.1 Entwicklungsgeschichte
2.2 Die Ziele bei der Entwicklung
2.2.1 Erweiterbarkeit
2.2.2 Portabilität
2.2.3 Zuverlässigkeit und Robustheit
2.2.4 Kompatibilität
2.2.5 Leistung
3 Interne Strukturen und Abläufe in Windows NT
3.1 Kernelmodus
3.2 Ausnahmen (Exceptions)
3.3 Interrupts
3.3.1 Interrupt Request Levels – IRQLs
3.3.2 Das Interrupt Objekt
3.3.3 Interruptbehandlung
3.3.4 IDT Look
3.3.5 Deferred Procedure Calls (DPCs) – Verzögerte Prozeduraufrufe
3.3.6 Asynchronous Procedure Calls (APCs) – Asynchrone Prozeduraufrufe
3.4 I/O Verarbeitung
3.5 Treiber unter Windows NT
4 Grundlagen zur Programmierung von Treibern
4.1 Erstellen von Treibern für Windows NT
4.1.1 Die Entwicklungsumgebung
4.1.2 Übersetzen des Treibers
4.1.3 Installation des Treibers
4.2 Struktur eines Treibers
4.2.1 Treiberinitialisierungs- und Aufräumfunktionen
4.2.2 Dispatch Routinen
4.2.3 Routinen für den Datentransfer
4.2.4 Synchronisations-/Rückruffunktionen
4.2.5 Andere Treiberfunktionen
4.3 Zugriffsmechanismen auf Speicherpuffer
4.4 Datenstrukturen
4.4.1 I/O Request Packets (IRPs)
4.4.2 Das Treiberobjekt – Driver_Object
4.4.3 Das Geräteobjekt und Geräteerweiterungen (DeviceObject / DeviceExtension)
4.5 Debugging
4.5.1 Debugging mit WinDbg
4.5.2 Der Blue Screen of Death (BSOD)
4.6 Eventlogging
4.6.1 Aufbau der Message Codes
4.6.2 Erstellen eines Definitionsfiles für den Messagecompiler
4.6.3 Einbinden in den Treiber
4.6.4 Registry Einträge
4.6.5 Erzeugen einer Eventlog Meldung
4.7 Betriebssystemfunktionen im Kernelmodus
5 Beispieltreiber
5.1 Treiber für Portzugriffe
5.1.1 Universal Porttreiber
5.1.2 GiveIO
5.1.3 Beispielanwendung
5.2 Der Treiber K
5.2.1 Die Initialisierung des Treibers
5.2.2 Die Dispatch Routinen
5.2.3 Die Eventlog Funktion
5.3 Die Brunelco Timer Card
5.3.1 Funktionen der Karte
5.3.2 Die Programmierung der Karte
5.3.3 Der Treiber brun.sys
5.3.4 Beispielanwendung
6 Abschluß
6.1 Zusammenfassung
6.2 Ausblick
7 Anhang
7.1 Optionen in der Datei BOOT.INI
7.2 Daten von IDT_Look
7.3 Quellcodes
7.4 Abkürzungen
7.5 Literaturverzeichnis
7.6 Abbildungsverzeichnis
7.7 Tabellenverzeichnis
7.8 Hilfsmittel zur Erstellung der Diplomarbeit




written 1998/1999 by Guido Wischrop
all rights reserved