> 2.1 | Hierarchy Chart in the System

> Figure 1: Driver architecture
> Figure 1 shows the driver architecture of winmux2k.sys in the operating system. The device driver winmux2k.sys emulates virtual serial ports. The lower layer of the WinMux driver is the physical serial port driver (serial.sys). The WinMux driver is loaded during system startup. It creates virtual port objects. The physical port is opened, when the first virtual port is opened by an application.
> If the last virtual port is closed the physical port will be released by the WinMux driver. This allows applications to access the module without the WinMux driver.
> If the WinMux driver is opened by at least one application a special device object is attached to the driver stack of the serial.sys driver. This device object is used to control the power management request. It is detached from the stack if the last handle is closed.