Як правильно приймати дані по LPT

Розвелося у світі програм бухгалтерських, написаних у махрових роках. Кожна з них друкує, на чому хоче і як хоче. Зрештою, для того, щоб поставити ці програми на сучасні операційки, треба винаходити велосипеди.

Я написав софтину - перенаправник прнтерів - вона сидить і прикидається старим мережевим принтером на порту 9100. При надходженні тексту на цей порт програма зберігає його в читальному вигляді і відкриває віндовський діалог друку, пропонуючи користувачеві роздрукувати документ на принтерах. Це було легко - перехопити мережевий трафік на порту 9100. Сидиш і чекаєш надходження даних, а далі зберігаєш їх із потоку до файлу.

Але в організації з'явився софт древнє та дрімуче. Ця софтина не визнає жодних мережних принтерів. Визнає лише порти LPT1-3 та COM1,2. Якщо ЛПТ ще можна якось обійти через net use LTP1 \sharename то з комами доводиться важче. Користувач мою софтину полюбив і йому подобається можливість зберігати роздруківки у файлах і вибирати принтери в системі. Тому мене попросили допиляти програму до підтримки LPT та COM.

Я радісно сказав «Так!» і ... Не знайшов пристойних мануалів. Індуси щедро роздають інформацію про те, як вважати поточний стан піна на ЛПТ, але цим все обмежується.

Хто може допомогти з інформацією про те, як правильно «Прикидатися» принтером на ЛПТ та КОМах, щоб отримувати текст, який програма хоче роздрукувати?

Пишеться все це на Шарпах із четвертим дотнетом. (Я розумію, що й другого вистачило б, але цільова аудиторія сидить на віндах 7 і 8, а в останній з другим дотнетом негаразди)

Готовий віддати програму до рук громадськості після того, як запилю підтримку LPT та COM — на допомогу сисадмінам, якістраждають із чудовими працями Вась Пупкіних часів 18 століття.