如何从Topshelf服务挂钩服务控制处理程序

时间:2013-09-20 11:11:21

标签: topshelf

我有一个非常成功使用Topshelf的现有Windows服务。

我现在需要让特定USB设备连接到机器/从机器断开连接时接收通知。

我在Topshelf中看不到任何可以让我这样做的东西。但我相信有一种方法可以使用Win32 API,例如ServiceControlHandlerEx和RegisterDeviceNotification,以及DEVICE_NOTIFY_SERVICE_HANDLE选项。

使用这些Win32 API是否会干扰Topshelf?据我了解,Topshelf包装服务控制处理程序本身,所以我的服务也尝试做同样的事情可能会导致一些问题?

更新: 可以在基于Topshelf的服务中挂钩来自服务控制处理程序的设备通知。有关详细信息,请参阅sample project。非常感谢Chris Patterson的帮助。

1 个答案:

答案 0 :(得分:2)

Topshelf不会干扰您调用这些Win32 API。