Training
Modul
Manage drivers and device peripherals - Training
This module introduces device drivers. Student will learn how drivers work and the tools used to manage common peripheral devices such as printers.
Dieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Von Mark Russinovich
Veröffentlicht am: 12 Januar 2012
Portmon herunterladen (226 KB)
Führen Sie jetzt aus Sysinternals Live aus.
Portmon ist ein Hilfsprogramm, das alle Aktivitäten des seriellen und parallelen Ports auf einem System überwacht und anzeigt. Es verfügt über erweiterte Filter- und Suchfunktionen, die es zu einem leistungsstarken Tool machen, um die Funktionsweise von Windows zu erkunden, die Verwendung von Ports durch Anwendungen anzuzeigen oder Probleme in System- oder Anwendungskonfigurationen nachzuverfolgen.
Mit Version 3.x von Portmon wurde eine Reihe leistungsstarker Funktionen eingeführt.
In der Onlinehilfedatei werden alle diese Features und weitere ausführlich beschrieben.
Führen Sie einfach die Portmon-Programmdatei (portmon.exe) aus, und Portmon beginnt sofort mit der Erfassung der Debugausgabe. Zum Ausführen von Portmon unter Windows 95 müssen Sie das WinSock2-Update von Microsoft beziehen. Beachten Sie, dass sich beim Ausführen von Portmon unter Windows NT/2K „portmon.exe“ auf einem Laufwerk befinden muss, das kein Netzwerklaufwerk ist, und Sie über Administratorrechte verfügen müssen. Mithilfe von Menüs, Tastenkombinationen oder Symbolleistenschaltflächen können Sie das Fenster löschen, die überwachten Daten in einer Datei speichern, die Ausgabe durchsuchen, die Schriftart des Fensters ändern und weitere Aufgaben ausführen. In der Onlinehilfe werden alle Features von Portmon beschrieben.
Portmon versteht alle Befehle der E/A-Steuerung (IOCTLs) für serielle und parallele Ports und zeigt diese zusammen mit interessanten Informationen zu den zugehörigen Parametern an. Für Lese- und Schreibanforderungen zeigt Portmon die ersten paar Dutzend Bytes des Puffers an. Dabei wird „.“ für die Darstellung nicht druckbarer Zeichen verwendet. Mit der Menüoption zum Anzeigen von Hexadezimalwerten können Sie zwischen der ASCII-Ausgabe und der unformatierten Hexadezimalausgabe von Pufferdaten umschalten.
Über die GUI von Portmon werden serielle und parallele Ports identifiziert. Dazu werden die unter „HKEY_LOCAL_MACHINE\Hardware\DeviceMap\SerialComm“ konfigurierten seriellen Ports und die unter „HKEY_LOCAL_MACHINE\Hardware\DeviceMap\Parallel Ports“ definierten parallelen Ports aufgelistet. Diese Schlüssel enthalten die Zuordnungen zwischen den Namen der Geräte mit seriellen und parallelen Ports und die Namen, auf die mit Win32 zugegriffen werden kann.
Wenn Sie einen zu überwachenden Port auswählen, sendet Portmon eine Anforderung an den Gerätetreiber, die den für Sie interessanten NT-Namen (z. B. \device\serial0) enthält. Der Treiber verwendet Standardfilter-APIs, um ein eigenes Filtergeräteobjekt an das Zielgeräteobjekt anzufügen. Zunächst wird ZwCreateFile verwendet, um das Zielgerät zu öffnen. Anschließend wird das Handle, das von ZwCreateFile empfangen wird, in einen Geräteobjektzeiger übersetzt. Nach dem Erstellen eines eigenen Filtergeräteobjekts, das den Merkmalen des Ziels entspricht, ruft der Treiber IoAttachDeviceByPointer auf, um den Filter einzurichten. Ab diesem Zeitpunkt sieht der Portmon-Treiber alle Anforderungen, die für das Zielgerät bestimmt sind.
Portmon verfügt über integrierte Kenntnisse über alle Standard-IOCTLs für serielle und parallele Ports. Dies ist die primäre Methode, mit der Anwendungen und Treiber Statusinformationen von Ports konfigurieren und lesen. Die IOCTLs werden in der DDK-Datei „\ddk\src\comm\inc\ntddser.h“ und „\ddk\src\comm\inc\ntddpar.h“ definiert, und einige sind im DDK dokumentiert.
Unter Windows 95 und 98 basiert die GUI von Portmon auf einem dynamisch geladenen VxD, um serielle und parallele Aktivitäten zu erfassen. Der Windows VCOMM-Gerätetreiber (Virtual Communications) dient als Schnittstelle für parallele und serielle Geräte, sodass Anwendungen, die indirekt auf Ports zugreifen, die Dienste nutzen. Der VxD von Portmon verwendet standardmäßiges VxD-Diensthooking, um alle Zugriffe auf die Funktionen von VCOMM abzufangen. Wie der NT-Gerätetreiber interpretiert der VxD von Portmon Anforderungen, um sie in einem benutzerfreundlichen Format anzuzeigen. Unter Windows 95 und 98 überwacht Portmon alle Ports, sodass keine Portauswahl wie unter NT erfolgt.
Portmon herunterladen (226 KB)
Führen Sie jetzt aus Sysinternals Live aus.
Training
Modul
Manage drivers and device peripherals - Training
This module introduces device drivers. Student will learn how drivers work and the tools used to manage common peripheral devices such as printers.