Freigeben über


Entwurfshandbuch für serielle Controllertreiber

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

In älteren Versionen von Windows wurden ein benannter serieller COM-Port auf dem Fall eines PCs, der Posteingang Serial.sys und Serenum.sys Treiber verwendet.

Hinweis

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

SerCx2

Sie können einen seriellen Controllertreiber schreiben, der mit Version 2 der Serial Framework-Erweiterung (SerCx2) zusammenarbeitet, um einen seriellen Controller zu verwalten. Sie können auch einen Peripherietreiber für ein Peripheriegerät schreiben, das mit einem Port an einem seriellen Controller verbunden 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 übernimmt alle hardwarespezifischen Aufgaben für den seriellen Controller, verwendet aber SerCx2, um viele Systemaufgaben auszuführen, die allen seriellen Controllern gemeinsam sind. SerCx2 ist eine vom System bereitgestellte Komponente, die mit Windows 8.1 beginnt.

SerCx2 entlastet den seriellen Controllertreiber von der Verarbeitung, die zum Verwalten von Timeouts und zum Koordinieren 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).

In diesem Abschnitt