微前端架构如何改变企业的开发模式与效率提升
865
2022-09-19
驱动的DriverUnload函数
对于一个Windows驱动来说,一般需要提供DriverUnload函数,有了这个函数,驱动对应的服务(service)就能被停止。 驱动是已服务的方式运行的,服务停止的实质是系统把该驱动模块对应在内核地址空间中的代码以及数据移除了。 同时,开发者可以在DriverUnload函数中进行一些清理相关的工作。例如驱动Driver A内部有一个线程B,如果开发者没有在DriverUnload函数中停止线程B,一旦驱动A被停止,则线程B对应与驱动A的代码就被系统删除了,线程B执行就会发生异常,从而引起系统异常。 但DriverUnload函数并不是必须的,因此,有些软件就不提供DriverUnload函数,服务就只能启动而不能停止,这一特性被很多软件(例如安全软件)利用,避免驱动被恶意停止。 参考:《Windows内核编程》- 谭文,陈铭霖
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~