Some older applications only know of technologies that existed when the software was written.
Printers were only connected to computers using the parallel or serial ports installed in the computer, so it was standard practice to write directly to those ports, or to use BIOS (Basic Input Output System) interrupt routines to communicate with the printer.
In order to provide a transitional phase to DOS application users, port capturing techniques are used to intercept the data stream intended for the hardware port, and redirect the stream to the corresponding Windows spooler queue.
This involves replacing entries in the interrupt vector table, as well as modifying the I/O permissions of ports so that the application cannot actually completely modify the state.
Since some applications will refuse to continue processing until it detects the attempted change has actually occurred, these applications will appear to hang during the printing process, which forces the user of the application to continue to use the older operating system.