Фрагмент кода ниже использует OPOS .NET для открытия POS-принтера для печати. Он отлично работает, когда выполняется как часть автономного приложения. При выполнении службой Windows вызов GetDevice(...) всегда возвращает значение null.
explorer = new PosExplorer();
device_info = explorer.GetDevice(DeviceType.PosPrinter, PrinterName);
printer = (PosPrinter)explorer.CreateInstance(device_info);
printer.Open();
printer.Claim(1000);
printer.DeviceEnabled = true;
Принтер оказался Epson TM-U220B. Есть ли проблема безопасности, которую необходимо решить, прежде чем служба получит доступ к POS-устройствам? Может ли кто-нибудь порекомендовать хороший источник информации о разработке служб Windows, использующих OPOS .NET?