Freigeben über


Designhandbuch für serielle Controllertreiber

Sie können einen Treiber oder eine Anwendung entwerfen, der die serielle E/A-Anforderungsschnittstelle verwendet, um mit einem Peripheriegerät zu kommunizieren, das mit einem seriellen Anschluss verbunden ist. Ein serieller Port ist eine Hardwarekommunikationsschnittstelle auf einem seriellen Controller, bei dem es sich um ein 16550 UART- oder kompatibles Gerät handelt. Um einen seriellen Port zu steuern, an den ein Peripheriegerät dauerhaft angeschlossen ist, können Sie einen benutzerdefinierten seriellen Controllertreiber entwerfen, der mit Version 2 der seriellen Framework-Erweiterung (SerCx2) arbeitet, die Version 1 (SerCx) ersetzt.

In älteren Versionen von Windows wurde ein benannter serieller COM-Port, der sich am Gehäuse eines PCs befindet, verwendet, zusammen mit den standardmäßigen Serial.sys- und Serenum.sys-Treibern. Weitere Informationen finden Sie unter früheren Versionen von Windows – Serielle Controllertreiber und serielle IRP-Hauptfunktionscodes.

Hinweis

In diesem Thema wird die Programmierung herkömmlicher COM-Ports beschrieben. Informationen zu angeschlossenen seriellen USB-Anschlüssen finden Sie unter USB-Serieller Treiber (Usbser.sys).

SerCx2

Sie können einen seriellen Controllertreiber schreiben, der zusammen mit Version 2 der seriellen Framework-Erweiterung (SerCx2) arbeitet, um einen seriellen Controller zu verwalten. Sie können auch einen Peripherietreiber für ein Peripheriegerät schreiben, das an einen Anschluss an einen seriellen Controller angeschlossen ist, der gemeinsam von SerCx2 und einem seriellen Controllertreiber verwaltet wird. Dieser Peripherietreiber verwendet die serielle E/A-Anforderungsschnittstelle, um Daten an und vom Gerät zu übertragen. Ein erweiterungsbasierter serieller Controllertreiber verarbeitet alle hardwarespezifischen Aufgaben für den seriellen Controller, verwendet jedoch SerCx2, um viele Systemaufgaben auszuführen, die für alle seriellen Controller gemeinsam sind. SerCx2 ist eine vom System bereitgestellte Komponente ab Windows 8.1.

SerCx2 entlastet den seriellen Controllertreiber von den Verarbeitungsaufgaben, die zum Verwalten von Timeouts erforderlich sind, und von der Koordination von E/A-Transaktionen, die um den Zugriff auf den seriellen Controller konkurrieren. Daher ist der serielle Controllertreiber kleiner und einfacher. Der Hardwareanbieter für den seriellen Controller liefert einen erweiterungsbasierten seriellen Controllertreiber, der die hardwarespezifischen Funktionen im seriellen Controller verwaltet, und die 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).For more information about SerCx2, see Using Version 2 of the Serial Framework Extension (SerCx2).

Siehe auch