У нас есть несколько устаревших компонентов, которые взаимодействуют с COM-портами, USB и т.д.
Я хотел бы создать .NET-программу, которая будет эмулировать COM-порт и регистрировать трафик, передавая его в конечную точку службы WCF где-то или непосредственно в базу данных. Возможно, также обертывание реального COM-порта, похожего на шаблон декоратора.
Я посмотрел вокруг, и я нашел проект Sourceforge Com0Com, но он довольно старый API и в С++.
Я понимаю, что я могу решить эту проблему, создав драйвер линейного принтера и никогда не взаимодействую с COM-портами, зарегистрированными в системе. Некоторые ссылки на это также будут высоко оценены.
Кто-нибудь это сделал? Как создать системные ресурсы в .NET?
Вам нужно будет написать драйвер, как работает Com0Com. Если эти компоненты запущены в процессе, вы можете захватить функции Windows API, например Microsoft Detours.
Для любого решения требуется C/С++, этот код нельзя писать на управляемом языке. Хотя обход может быть технически возможным, просто очень трудно получить право. Вы можете купить решение, хотя ваши требования не являются редкостью, хотя и датированы. Достаточно достаточно, чтобы найти одно может быть немного сложнее.
Кто-нибудь это сделал?
Чтобы добавить к тому, что сказал nobugz:
Когда я написал эмулятор COM-порта, я сделал это, начиная с примера драйвера последовательного порта в DDK (serial.sys).
Когда я написал обертку/регистратор COM-порта, я сделал это, начиная с образца драйвера фильтра параллельного порта в DDK (parport.sys).