Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
>> System Console.WriteLine("EPP: {0}", port.Capabilities.EPP); Console.WriteLine("PC98: {0}", port.Capabilities.PC98); Console.WriteLine("PC98Hireso: {0}", port.Capabilities.PC98Hireso); Console.WriteLine("PCH98: {0}", port.Capabilities.PCH98); Console.WriteLine("PS2Compatible: {0}", port.Capabilities.PS2Compatible); Console.WriteLine("Other: {0}", port.Capabilities.Other); Console.WriteLine(); } Listing 365: Beispielhafte Anwendung der Methode zum Auflisten der parallelen Ports des Systems (Forts.) 557 210 Informationen zu den seriellen Schnittstellen des Systems auslesen Ähnlich dem Rezept 209 können Sie über die WMI-Klasse Win32_SerialPort (eingeschränkte) Informationen zu den seriellen Schnittstellen des lokalen Systems auslesen. Die Methode Enum- SerialPorts in Listing 369 arbeitet deswegen auf nahezu dieselbe Weise wie die Methode EnumParallelPorts aus dem genannten Rezept. EnumSerialPorts gibt eine Auflistung des Typs SerialPorts mit Instanzen der Klasse Serial- Port zurück. Die Klasse SerialPort enthält die wichtigsten Eigenschaften einer seriellen EnumSerialPorts benötigt eine Referenz auf die Assembly System.Management.dll und den Import der Namensräume System , System.Management , System.Collections.Generic und Sys- tem.Collections.ObjectModel . Auf dem ausführenden Rechner muss WMI installiert sein (ab System Schnittstelle. Windows 2000 ist WMI per Voreinstellung installiert). Informationen dazu finden Sie im Zusatzartikel »Einführung in die unter .NET verwendeten externen Technologien« in den Buchdaten. Zunächst habe ich eine Klasse implementiert, die die Fähigkeiten eines seriellen Ports verwal- tet. Die einzelnen Fähigkeiten sind in der WMI-Dokumentation leider nicht dokumentiert. public class SerialPortCapabilities { /* Unbekannte Fähigkeit */ public bool Unknown; /* XT/AT-kompatibel */ public bool CompatibleXTAT; /* 16450-kompatibel */ public bool Compatible16450; /* 16550-kompatibel */ public bool Compatible16550; /* 16550A-kompatibel */ public bool Compatible16550A; Listing 366: Klasse zur Verwaltung der Fähigkeiten eines seriellen Ports