Frühere Versionen von Windows – Übersicht über serielle Controllertreiber

Windows bietet Treiberunterstützung für herkömmliche serielle Controllergeräte. Der Begriff serieller Controller bezieht sich auf einen universellen asynchronen Empfänger-Transmitter (UART) von 16550 oder ein kompatibles Gerät. Ein serieller Controller verfügt über einen seriellen Port, über den er mit einem seriellen Peripheriegerät kommuniziert. Zur Unterstützung der seriellen Kommunikation umfasst Windows die Serial.sys- und Serenum.sys-Treiber sowie die Versionen 1 und 2 der seriellen Frameworkerweiterung (SerCx und SerCx2).

SerCx

In Windows 8 ist SerCx eine vom System bereitgestellte Komponente, die die serielle Kommunikation zwischen integrierten Leitungen auf einer Leiterplatte unterstützt. SerCx ist eine Erweiterung des Kernel-Mode Driver Framework (KMDF). Diese Erweiterung vereinfacht die Entwicklung benutzerdefinierter Treiber für serielle Controller. SerCx unterstützt einen erweiterungsbasierten seriellen Controllertreiber durch die Verarbeitung vieler Verarbeitungsaufgaben, die für serielle Controller üblich sind. Dieser Treiber kommuniziert mit SerCx über die SerCx-Gerätetreiberschnittstelle.

SerCx2

Ab Windows 8.1 wurde SerCx von SerCx2 abgelöst. SerCx2 verfügt über viele Verbesserungen gegenüber SerCx, um die Größe und Komplexität serieller Controllertreiber zu reduzieren. SerCx2 entlastet insbesondere den seriellen Controllertreiber von der Verarbeitungsarbeit, die zum Verwalten von Timeouts und zur Koordinierung von E/A-Transaktionen erforderlich ist, die um den Zugriff auf den seriellen Controller konkurrieren. Daher ist der serielle Controllertreiber kleiner und einfacher. Der Hardwarehersteller für den seriellen Controller stellt einen erweiterungsbasierten seriellen Controllertreiber bereit, der die hardwarespezifischen Funktionen im seriellen Controller verwaltet und der auf SerCx2 angewiesen ist, um generische serielle Controlleraufgaben auszuführen. Dieser Treiber kommuniziert mit SerCx2 über die SerCx2-Gerätetreiberschnittstelle.

Weitere Informationen zu SerCx2 finden Sie unter Verwenden von Version 2 der Serial Framework-Erweiterung (SerCx2).

Allgemeine Informationen zum Treiberframework finden Sie unter Verwenden von WDF zum Entwickeln eines Treibers.

Serial.sys und Serenum.sys

In älteren Versionen von Windows wie Windows 2000 unterstützte der vom System bereitgestellte serielle Treiber Serial.sys eigenständige serielle Ports, COM-Ports und Multiport-Boards. Der vom System bereitgestellte serielle Enumerationstreiber Serenum.sys listet Geräte auf, die mit einem seriellen Port verbunden sind, der von Serial.sys oder einem kompatiblen seriellen Porttreiber gesteuert wird. Serial.sys steuert in der Regel die COM-Ports (in der Regel COM1, COM2 usw.), die sich physisch auf dem Fall eines PCs befinden, auf dem Windows ausgeführt wird. Diese Ports entsprechen lose dem RS-232-Standard, enthalten aber zusätzlich De-facto-Standards (z. B. für Spannungsebenen, Pinverbindungen und Hardwareflusssteuerung), die weiterentwickelt wurden, um PCs zu unterstützen. Weitere Informationen finden Sie unter Verwenden von Serial.sys und Serenum.sys.

Das Repository für Windows-Treiberbeispiele auf GitHub enthält den Quellcode für die Serial - und Serenum-Treiberbeispiele , die ähnlich funktionieren wie der Posteingang Serial.sys und Serenum.sys Treibern.