这件事让我头痛得厉害。
我试着用CreateService
和SERVICE_ALL_ACCESS
将驱动程序加载到一个进程中,直到我真正尝试用StartService
启动服务,一切看起来都很好,但当我以管理员身份运行ERROR_ACCESS_DENIED
时,它总是失败,我在应用程序中烘焙了一个清单,我尝试了安全属性,它就是不起作用。
如果有人对如何调试这个有什么建议,我洗耳恭听。。。
我使用的是windows7x64sp1安装,最新的DDK,如果驱动程序本身有问题,我会遇到其他问题,对吧?不仅如此,访问被拒绝?
我正在讨论但测试有问题的是,是否有任何用户模式/内核模式的安全考虑,我没有处理。所有这些代码都在同一个提升的进程中运行,但是,它不会工作!
司机能以某种方式导致这个错误发生吗?
最佳答案
噢,可怕的是,我应该早一点看到这一点,不管怎样,从驱动程序中执行的调用产生的错误代码是通过create service调用传播的。这个返回值恰好与ERROR_ACCESS_DENIED
相同,但实际上与驱动程序未正确签名有关。
这个page解释了您需要做什么才能调用驱动程序中的某些函数。