In the last post I just talked about the differences between old and new Com Port Mapping. This time I’m just going to focus on the old stuff.
First of all, the old Com Port Mapping only supports COM1 and COM2. This is accomplished by giving each their own virtual channel. These virtual channels are so old that they are given reserved channels 5 and 6. This would have been inherited from the original Multiuser based product first designed in 1989. LPT1 and LPT2 are treated very similar and given channels 1 and 2.
On these channels, the protocol is fairly simple. The focus is on presenting data from the server to the client for the sake of printing (either COM or LPT).
The model only allows for writing these ports. It also does not allow setting anything special with the COM port. The list of possible operations is basically OPEN, WRITE, SET INFORMATION, GET INFORMATION, and CLOSE. SET INFORMATION and GET INFORMATION are very limited and only support the concepts of printer status feedback.
It is good advice to consider the Old Way as being write-only with limited control support. It is good for simple printing but absolutely no good at anything that requires bi-directional data.
In PortICA we still support this interface in the hopes of keeping things compatible with the older model. Obviously it makes more sense to use the new model when dealing with more advanced operations than simple printing.
The PICAPAR driver in PortICA will handle these requests. This driver is responsible for all the old ways of working with COM1, COM2, LPT1, and LPT2. It is modelled after how CDM.SYS works in Presentation Server.