Entwurfshandbuch zur Kernelmodustreiber-Architektur
Hinweis
Informationen zu Programmierschnittstellen, die Ihr Treiber implementieren oder aufrufen kann, finden Sie in der Kernelmodustreiberreferenz.
Dieser Abschnitt enthält allgemeine Konzepte, die Ihnen dabei helfen, die Programmierung im Kernelmodus zu verstehen und bestimmte Techniken der Kernelprogrammierung zu beschreiben. Eine allgemeine Übersicht über Windows-Treiber finden Sie unter "Erste Schritte mit Windows-Treibern", die eine allgemeine Übersicht über Windows-Komponenten bieten, die in Windows verwendeten Gerätetreibertypen auflistet, die Ziele von Windows-Gerätetreibern erläutert und allgemeine Beispielgerätetreiber im Kit erläutert.
Dieser Abschnitt enthält konzeptionelle Informationen, die Ihnen beim Erstellen von Kernelmodustreibern helfen.
Eine Übersicht mit:
- Eine Übersicht über Windows-Komponenten
- Designziele für Kernelmodustreiber
- Ein Katalog mit Beispiel-Kernelmodustreibern
- Bewährte Methoden für die Kerneltreiberentwicklung, wie vom Microsoft Surface-Team kompiliert
Kernelmoduskomponenten beschreiben die primären Kernelmodus-Manager und -Komponenten des Windows-Betriebssystems.
Komponente Beschreibung Manager Windows Kernelmodus-Objekt-Manager Verwaltet Objekte: Dateien, Geräte, Synchronisierungsmechanismen, Registrierungsschlüssel usw. Speicher-Manager für den Windows-Kernelmodus Verwaltet den physischen Speicher für das Betriebssystem. Prozess und Thread-Manager im Windows-Kernelmodus Behandelt die Ausführung aller Threads in einem Prozess. Windows Kernelmodus-E/A-Manager Verwaltet die Kommunikation zwischen Anwendungen und den Schnittstellen, die von Gerätetreibern bereitgestellt werden. Windows Kernelmodus-Plug & Play-Manager Ein Subsystem des E/A-Managers, der Plug & Play (PnP)-Manager ermöglicht einem PC zu erkennen, wann ein Gerät dem System hinzugefügt wird. Power Manager im Windows-Kernelmodus Verwaltet die geordnete Änderung des Energiestatus für alle Geräte, die Leistungszustandsänderungen unterstützen. Konfigurations-Manager für den Windows-Kernelmodus Verwaltet die Registrierung, z. B. die Überwachung von Änderungen in der Registrierung oder das Registrieren von Rückrufen für bestimmte Registrierungsdaten. Kernelmodus-Kerneltransaktions-Manager für Windows Kernel Implementiert die Transaktionsverarbeitung im Kernelmodus. Sicherheitsmonitor für den Windows-Kernelmodus Bietet Routinen für den Fahrer, um mit der Zugriffssteuerung zu arbeiten. Libraries Kernelbibliothek für den Windows-Kernelmodus Implementiert die Kernfunktionalität, von der alles andere im Betriebssystem abhängt. Der Microsoft Windows-Kernel bietet grundlegende Vorgänge auf niedriger Ebene wie das Planen von Threads oder Routinghardwareunterbrechungen. Supportbibliothek für den Windows-Kernelmodus Bezieht sich auf Kernelmoduskomponenten, die eine Vielzahl von Diensten für Gerätetreiber bereitstellen, darunter: Objektverwaltung, Speicherverwaltung, Prozess- und Threadverwaltung, Eingabe-/Ausgabeverwaltung und Konfigurationsverwaltung. Laufzeitbibliothek für den Windows-Kernelmodus Eine Reihe gängiger Hilfsprogrammroutinen, die von verschiedenen Kernelmoduskomponenten benötigt werden. Sichere Zeichenfolgenbibliothek im Windows-Kernelmodus Eine sichere Zeichenfolgenbibliothek, um eine höhere Sicherheit bei der Kernelmodusentwicklung zu gewährleisten. Windows Kernelmodus-DMA-Bibliothek Eine DMA-Bibliothek (Direct Memory Access) für Gerätetreiberentwickler. Windows Kernelmodus-HAL-Bibliothek Eine Hardwarestraktionsebene (HAL) für die Kernelmodustreiberentwicklung. CLFS-Bibliothek für den Windows-Kernelmodus Ein Transaktionsprotokollierungssystem, das Common Log File System (CLFS). WMI-Bibliothek im Windows-Kernelmodus Ein allgemeiner Mechanismus zum Verwalten von Komponenten, der als Windows-Verwaltungsinstrumentation (Windows Management Instrumentation, WMI) bezeichnet wird. Das Schreiben von WDM-Treibern und die Einführung in WDM stellt Informationen bereit, die zum Schreiben von Treibern mit dem Windows-Treibermodell (WDM) erforderlich sind.
Geräteobjekte und die anderen Themen in Device Objects und Device Stacks beschreiben, wie das Betriebssystem Geräte nach Geräteobjekten darstellt.
Die Speicherverwaltung für Windows-Treiber veranschaulicht, wie Kernelmodustreiber Speicher für Zwecke wie das Speichern interner Daten, das Puffern von Daten während der E/A-Vorgänge und das Freigeben von Speicher für andere Kernelmodus- und Benutzermoduskomponenten zuweisen.
Sicherheit vom Steuern des Gerätezugriffs und der Rechte an SDDL für Geräteobjekte, stellen Sie sicher, dass Ihre Treiber so sicher wie möglich sind.
Die Behandlung von IRPs beschreibt, wie Kernelmodustreiber E/A-Anforderungspakete (IRPs) behandeln.
DMA Direct Memory Access (DMA ) ist ein wichtiger Aspekt der Treiberentwicklung, und die Themen in diesem Knoten behandeln DMA von A bis Z.
Controllerobjekte stellen einen physischen Gerätecontroller mit angeschlossenen Geräten dar.
Interrupt Service Routines (ISRs) handle Interrupts für Treiber eines physischen Geräts, das Unterbrechungen empfängt.
Message-Signaled Interrupts lösen einen Interrupt aus, indem ein Wert in eine bestimmte Speicheradresse geschrieben wird.
Verzögerte Prozeduraufrufe (DPC-Objekte) können von ISRs in die Warteschlange gestellt werden und zu einem späteren Zeitpunkt und zu einer niedrigeren IRQL als der ISR ausgeführt werden.
Plug & Play (PnP) konzentriert sich auf die Systemsoftwareunterstützung für PnP und die Verwendung dieser Unterstützung für die Implementierung von PnP.
Power Management beschreibt die Architektur, die einen umfassenden Ansatz für die System- und Gerätestromverwaltung bietet.
Die Windows-Verwaltungsinstrumentation (Windows Management Instrumentation, WMI) ist Erweiterungen für Ihren Kernelmodustreiber, der es Ihrem Treiber ermöglicht, ein WMI-Anbieter zu werden. Ein WMI-Anbieter stellt Mess- und Instrumentierungsdaten für WMI-Verbraucher bereit, z. B. Anwendungen im Benutzermodus.
Treiberprogrammierungstechniken Die Programmierung von Treibern im Kernelmodus von Windows erfordert Techniken, die sich manchmal erheblich von denen der normalen Benutzermodusprogrammierung unterscheiden.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für