Printer drivers should buffer output into large blocks and call PrtWrite on a separate thread. Use DosCreateThread to start this separate thread when the first printer-specific commands are to be written.