Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
SerCx2 ist eine Erweiterung des Kernel-Mode Driver Framework (KMDF), die spezielle Features zur Unterstützung von seriellen Controllertreibern bietet. Weitere Informationen zu KMDF finden Sie unter Verwendung von WDF zum Entwickeln eines Treibers. Ein SerCx2-basierter serieller Controllertreiber ist ein KMDF-Treiber, der die Methoden und Rückrufe in KMDF zur Ausführung generischer Treibervorgänge verwendet. Dieser kommuniziert mit SerCx2, um Vorgänge auszuführen, die spezifisch für serielle Controllertreiber sind.
Serielle Controller sind in der Regel auf Hardwareebene mit 16550 universellen asynchronen Empfänger-/Sendergeräten (UART) kompatibel. UARTs werden seit den frühen Tagen des Personal Computing verwendet, um die seriellen Ports zu steuern, die sich auf den Fällen von Desktop-PCs befinden. In jüngster Zeit sind serielle Controller in System on a Chip (SoC) integrierten Schaltkreisen enthalten, um eine Kommunikation mit geringem Pin-Anzahl mit anderen integrierten Schaltkreisen zu ermöglichen. In einer soC-basierten Hardwareplattform ist der "serielle Port", an den ein Client E/A-Anforderungen sendet, einfach eine Reihe von seriellen Schnittstellen-Pins auf dem SoC-Chip. Weitere Informationen finden Sie unter Übersicht über serielle Controllertreiber.
Microsoft stellt möglicherweise den seriellen Controllertreiber für eine Familie von seriellen Controllern mit ähnlichen Hardwarefeatures zur Verfügung. Oder der Hardwareanbieter für einen seriellen Controller mit speziellen Features kann einen benutzerdefinierten seriellen Controllertreiber bereitstellen, um diese Features zu unterstützen.
Ein serieller Controllertreiber kommuniziert mit SerCx2 über eine Gerätetreiberschnittstelle (Device Driver Interface, DDI). Der SerCx2 DDI weist zwei Teile auf:
- Eine Reihe von Treiberunterstützungsmethoden, die von SerCx2 implementiert werden und vom seriellen Controllertreiber aufgerufen werden.
- Eine Reihe von Ereignisrückruffunktionen, die vom seriellen Controllertreiber implementiert werden und von SerCx2 aufgerufen werden.
Ausführliche Beschreibungen der Methoden und Rückrufe in den SerCx2 DDI finden Sie in den Themen zu sercx.h-Headern unter Version 2 Serial Framework Extension (SerCx2) Reference.
Obwohl ein Hardwareanbieter die Möglichkeit hat, einen eigenständigen seriellen Controllertreiber zu schreiben, ist hierfür ein erheblicher Aufwand erforderlich. Im Vergleich dazu ist die Entwicklung eines seriellen Controllertreibers, der SerCx2 verwendet, einfacher und führt in der Regel zu einem Treiber, der viel kleiner und zuverlässiger ist.
SerCx2 verwaltet die folgenden Aufgaben im Auftrag des Controllertreibers:
- Lese- und Schreibvorgänge
- Erkennung des seriellen E/A-Timeouts
- Hardwareereignisse
- System-DMA-Übertragungen (wenn System-DMA-Transaktionen unterstützt werden)
- Übergänge zu und von Gerätezuständen mit niedriger Leistung
- Stornierungen von E/A-Anforderungen (außer bei benutzerdefinierten E/A-Transaktionen)
Um Lese- und Schreibvorgänge zu verwalten, transformiert SerCx2 IRP_MJ_READ - und IRP_MJ_WRITE Anforderungen von Clients in relativ einfache E/A-Transaktionen für den seriellen Controllertreiber zum Verarbeiten. Weitere Informationen finden Sie unter SerCx2 E/A-Transaktionen.
SerCx2 ist in Windows als Komponente mit dem Namen Sercx2.sysenthalten. Der serielle Controllertreiber verknüpft statisch mit der SerCx2-Bibliothek, Sercxstubs.lib (Version 2.0) und kommuniziert zur Laufzeit mit Sercx2.sys. Die SerCx2 DDI ist in der Headerdatei 2.0\Sercx.h definiert. Sercxstubs.lib und Sercx.h sind im Windows Driver Kit für Windows 8.1 verfügbar.