top of page


Public·11 members

Advanced Usb Port Monitor Serial


Portmon is a utility that monitors and displays all serial andparallel port activity on a system. It has advanced filtering and searchcapabilities that make it a powerful tool for exploring the way Windowsworks, seeing how applications use ports, or tracking down problems insystem or application configurations.

Simply execute the Portmon program file (portmon.exe) and Portmonwill immediately start capturing debug output. To run Portmon onWindows 95 you must get the WinSock2update from Microsoft. Notethat if you run Portmon on Windows NT/2K portmon.exe must be locatedon a non-network drive and you must have administrative privilege.Menus, hot-keys, or toolbar buttons can be used to clear the window,save the monitored data to a file, search output, change the windowfont, and more. The on-line help describes all of Portmon's features.

Portmon understands all serial and parallel port I/O control (IOCTLs)commands and will display them along with interesting informationregarding their associated parameters. For read and write requestsPortmon displays the first several dozen bytes of the buffer, using'.' to represent non-printable characters. The Show Hex menu option letsyou toggle between ASCII and raw hex output of buffer data.

The Portmon GUI is responsible for identifying serial and parallelports. It does so by enumerating the serial ports that are configuredunder HKEY_LOCAL_MACHINE\Hardware\DeviceMap\SerialComm and theparallel ports defined underHKEY_LOCAL_MACHINE\Hardware\DeviceMap\Parallel Ports. These keyscontain the mappings between serial and parallel port device names andthe Win32-accessible names.

When you select a port to monitor, Portmon sends a request to itsdevice driver that includes the NT name (e.g. \device\serial0) thatyou are interested in. The driver uses standard filtering APIs to attachits own filter device object to the target device object. First, it usesZwCreateFile to open the target device. Then it translates thehandle it receives back from ZwCreateFile to a device objectpointer. After creating its own filter device object that matches thecharacteristics of the target, the driver callsIoAttachDeviceByPointer to establish the filter. From that point onthe Portmon driver will see all requests aimed at the target device.

Portmon has built-in knowledge of all standard serial and parallelport IOCTLs, which are the primary way that applications and driversconfigure and read status information from ports. The IOCTLs are definedin the DDK file \ddk\src\comm\inc\ntddser.h and\ddk\src\comm\inc\ntddpar.h, and some are documented in the DDK.

On Windows 95 and 98, the Portmon GUI relies on a dynamically loadedVxD to capture serial and parallel activity. The Windows VCOMM (VirtualCommunications) device driver serves as the interface to parallel andserial devices, so applications that access ports indirectly use itsservices. The Portmon VxD uses standard VxD service hooking tointercept all accesses to VCOMM's functions. Like its NT device driver,Portmon's VxD interprets requests to display them in a friendlyformat. On Windows 95 and 98 Portmon monitors all ports so there is noport selection like on NT.

Monitor ports have changed over the years. Not only can they carry increasingly complex data, but they can also charge and power the devices that they connect. Like any technology, monitor ports are undergoing a continuing evolution to improve image quality and power efficiency.

This constant evolution requires a faster transfer of data in a more optimized way. The solution: faster, smaller, and more reliable monitor ports replacing heftier versions of yesteryear to produce higher quality, more efficient and advanced signals, and transmissions.

Monitor ports are points of connection that enable various flows of data and information. It is essential to understand what monitor ports are and how they work to determine which ones will best serve your needs. Staying current with these advances in technology will ensure y


Welcome to the group! You can connect with other members, ge...

Group Page: Groups_SingleGroup
bottom of page