COM-Port-Emulatoren

Programme für Modems, die nicht über die im letzten Kapitel beschriebenen Einstellungsmöglichkeiten verfügen (BIOS Int. 14h oder FOSSIL) waren unter DOS zunächst von der Benutzung zusammen mit ISDN-Karten ausgeschlossen.

Unter Windows 3.11, Windows 95 und OS/2 greifen aber die Terminalprogramme normalerweise nicht mehr direkt auf die Ports zu, sondern bedienen sich der Programmierschnittstelle (API) des jeweiligen Betriebssystems. Diese Schnittstellen werden von betriebssystemeigenen Treibern bedient, die dann erst den direkten Zugriff auf die Schnittstelle ausführen.

Dadurch bietet sich die Möglichkeit, diese betriebssystemeigenen Treiber durch eigene Treiber zu ersetzen oder zu ergänzen und sich damit zwischen Anwendungsprogramm und die serielle Schnittstelle zu schmuggeln, um Befehle abzufangen und umzuleiten. Unter Windows 3.11 wird z.B. der COMM.DRV sehr häufig durch andere Treiber ersetzt. Dadurch kann den Anwendungen ein zusätzlicher (virtueller) COM-Port vorgespiegelt werden, der physikalisch nicht existiert. Wird in der Modem-Anwendung dieser COM-Port eingestellt, sendet das Programm die AT-Befehle an den Treiber, der hinter diesem COM-Port steht.

Der Treiber emuliert, wie auch ein CAPI-FOSSIL-Treiber, ein Modem, setzt also die Befehle in CAPI-Befehle um. Das Terminalprogramm merkt gar nicht, dass in Wirklichkeit kein Modem da ist, sondern der Datenfluss über die ISDN-Karte geht.

Sie bekommen mit dem Treiber eine Beschreibung, mit welchen AT-Befehlen welche ISDN-Protokolle ausgewählt werden können. Benötigen Sie für eine Mailbox oder einen Online-Dienst ein spezielles ISDN-Protokoll, dann tragen sie den entsprechenden Befehl direkt in Ihrer Modemanwendung z.B. als Init-String ein.

Für Windows 3.11 sieht die Schichtung der Treiber in etwa so aus:

XCOMM.DRV ist in dem Beispiel der Treiber, der an die Stelle des Original Windows Kommunikationstreibers gesetzt würde (vgl. SYSTEM.INI, Abschnitt [boot], COMM.DRV=....\XCOMM.DRV). Beispiel dafür sind der WINCOMM.DRV der Firma Teles oder der CFOS.DRV von Chris Lüders und Martin Winkler.

Mit Hilfe eines COM-Port-Emulators für Windows 3.11 lassen sich also Programme, die die Windows 3.11-Kommunikationsfunktionen verwenden, zusammen mit ISDN-Karten verwenden. Da diese Funktionen aus Kompatibilitätsgründen auch unter Windows 95 für 16 Bit-Programme (Windows 3.11-Programme) zu Verfügung stehen, funktioniert das für solche Programme auch unter Windows 95. Da 32 Bit-Programme (für Windows 95) normalerweise einen anderen Weg zur seriellen Schnittstelle gehen, hilft ein COM-Port-Emulator hier normalerweise nicht weiter. DOS-Programme in Windows 3.11 DOS-Boxen können damit ebenfalls nicht mit der ISDN-Karte betrieben werden.

Unter OS/2 sind solche Treiber als physical device driver realisiert. Für den Benutzer von OS/2-Programmen stellen sie sich aber genauso dar wie Treiber unter Windows 3.11 in Windows-Programmen. In der Anwendung wird einfach der virtualisierte COM-Port eingestellt, hinter dem der COM-Port-Emulator steht.

Durch das System der Harware-Virtualisierung (siehe auch Kommunikation unter OS/2) unter Windows 95 und OS/2 ist es sogar möglich, dass DOS-Programme in der DOS-Box solche virtuellen COM-Ports vorgespiegelt bekommen. Damit könnten auch DOS-Programme, die weder BIOS Int. 14h noch FOSSIL unterstützen zusammen mit einer ISDN-Karte verwendet werden. Diese Funktionalität bieten aber nicht alle COM-Port-Emulatoren.


Home Infos Download Links Feedback