У меня есть служба Windows, написанная на С#, которая обрабатывает весь наш внешний аппаратный ввод-вывод для приложения киоска. Одним из наших новых устройств является USB-устройство, которое поставляется с API в родной DLL. У меня есть собственный класс оболочки P/Invoke. Однако этот API должен быть инициализирован HWnd для приложения Windows, потому что он использует насос сообщений для повышения асинхронных событий.
Помимо запроса производителю оборудования предоставить нам API, который не зависит от насоса сообщений Windows, есть ли способ вручную создать поток сообщений в новом потоке моей Службы Windows, который я могу пройти в этот API? Должен ли я на самом деле создавать полный класс приложения или есть класс .NET более низкого уровня, который инкапсулирует насос сообщений?