开始服务?

时间:2010-09-20 02:39:00

标签: c++ windows service driver

好吧,我最近开始开发驱动程序,所以我想我应该创建一个以编程方式启动服务的类。但是,当然,像往常一样,我在途中遇到了一些麻烦。

我正在使用StartService来启动它,但由于某种原因它只是挂起,我已经在互联网上做了一些研究,它似乎等待来自ServiceMain函数的保证告诉控制管理器该服务已经成功已初始化并正在运行。

问题是,似乎没有任何工作,我已经使用StartServiceCtrlDispatcher()初始化了ServiceMain函数,但它似乎永远不会被调用,我已经将一些代码插入到servicemain函数中以确保它被调用,并且它不是出于某种奇怪的原因。

我确保过程中没有其他功能失败,CreateService会返回成功,OpenService也是如此,但是一旦我到达StartService,它就会挂起,而且它让我再次调用StartService的唯一方法是我重新启动后。

所以,我想我要问的是,如果有任何关于我如何解决这个问题的简单解释,可能会有一些代码,如果你们不介意的话。

提前致谢。 非常感激。

1 个答案:

答案 0 :(得分:0)

我相信有很多示例代码here:)

一般来说,如果StartService挂起,那是因为你给它了垃圾数据。无论有问题的服务有多么糟糕,StartService都应立即返回。