Как правилно да получавате данни на LPT

Разведе се в света на счетоводните програми, писани в хавлиени години. Всеки от тях печата върху каквото си иска и както си иска. В резултат на това, за да се поставят тези програми на модерни операционни системи, е необходимо да се преоткрие колелото.

Написах софтуер - пренасочващ принтер - той седи и се представя за стар мрежов принтер на порт 9100. Когато текстът пристигне на този порт, програмата го записва в четима форма и отваря диалоговия прозорец за печат на Windows, подканвайки потребителя да отпечата документа на съществуващи принтери. Беше лесно да прихванете мрежовия трафик на порт 9100. Седите и чакате данните да пристигнат и след това ги запазвате от потока във файл.

Но в организацията софтуерът изглеждаше древен и плътен. Този софтуер не разпознава мрежови принтери. Разпознава само портове LPT1-3 и COM1,2. Ако LTP все още може да бъде заобиколен по някакъв начин чрез net use LTP1 \\sharename, тогава е по-трудно със запетая. + Потребителят се влюби в моя софтуер и харесва възможността да запазва разпечатки във файлове и да избира принтери в системата. Затова бях помолен да завърша програмата за поддръжка на LPT и COM.

Щастливо казах "Да!" и ... не намерих прилични ръководства. Индусите щедро разпространяват информация как да изчислят текущото състояние на щифта на LPT, но това е всичко.

Кой може да помогне с информация как да се "преструваш" на принтер на LPT и COM, за да получиш текста, който програмата иска да отпечата?

Всичко това е написано на Sharps с четвъртия dotnet. (Разбирам, че вторият би бил достатъчен, но целевата аудитория е на Windows 7 и 8, а в последния има проблем с втория dotnet)

Готов съм да дам програмата в ръцете на обществеността, след като запиша поддръжката за LPT и COM - в помощ на системните администратори, коитоизмъчен с възхитителните произведения на Вася Пупкин от времето на 18 век.