Windows驱动学习(七)-- 内核线程

版权声明: https://blog.csdn.net/m0_37552052/article/details/84343752

教程参考自:https://www.bilibili.com/video/av26193169/?p=8
代码地址:https://github.com/G4rb3n/Windows-Driver/tree/master/MT_Thread

1. 概述

内核开发少不了线程的创建调用,这章就来实现线程的编程。

2. 驱动编写

2.1 驱动入口函数

入口函数没啥代码,就是调用CreateThread函数。
1

2.2 CreateThread函数

CreateThread的主要功能就是创建线程TestThread,以及一些初始化工作。
2

2.3 TestThread函数

核心函数TestThread,做的是一个死循环操作,间隔2s打印一提示信息。
3

2.4 卸载函数

卸载函数会设置bTerminated为TRUE,来终端死循环。
4

3. 驱动测试

首先是间隔2s的情况,正常输出提示信息。
5

然后我们将间隔时间改为0s,可以发现CPU占用率急剧,因为内核线程的优先级是很高的,其他R3层的程序抢不过它。
6

猜你喜欢

转载自blog.csdn.net/m0_37552052/article/details/84343752