32位
1、高2G 内核 进程共享
2、字符串、返回类型、USHORT。。。
3、驱动对象 driver object 、设备对象 Device object, 请求 IRP。
驱动对象生成多个设备对象, 请求发给设备对象
4、 不涉及内存管理、控制台的C Runtime函数 可以使用 但是不提倡
5、开发模型 WDK
6、中断级 Dispatch > Passive
7、字符串的操作 Rtl开头函数 大部分情况下使用的是unicode.. 不保证以‘\0’结束!!!!
8、输出字符传
9、链表
内存分配 申请释放成对出现 否则只能重启解决内存泄露
链表初始化,遍历,节点地址
10、自旋锁
ExInster... 带锁的插入链表节点方式
队列自旋锁 适用多CPU , 适用方法差不多 变函数名
11、注册表、文件、线程
OBJECT_ATTRIBUTES结构体
//文件&注册表
ZwCreateFile ZwRead.... Zw....
ZwOpenkey...
//时间与定时器
KeQueryTickCount...
//线程与事件
1、高2G 内核 进程共享
2、字符串、返回类型、USHORT。。。
3、驱动对象 driver object 、设备对象 Device object, 请求 IRP。
驱动对象生成多个设备对象, 请求发给设备对象
4、 不涉及内存管理、控制台的C Runtime函数 可以使用 但是不提倡
5、开发模型 WDK
6、中断级 Dispatch > Passive
7、字符串的操作 Rtl开头函数 大部分情况下使用的是unicode.. 不保证以‘\0’结束!!!!
8、输出字符传
9、链表
内存分配 申请释放成对出现 否则只能重启解决内存泄露
链表初始化,遍历,节点地址
10、自旋锁
ExInster... 带锁的插入链表节点方式
队列自旋锁 适用多CPU , 适用方法差不多 变函数名
11、注册表、文件、线程
OBJECT_ATTRIBUTES结构体
//文件&注册表
ZwCreateFile ZwRead.... Zw....
ZwOpenkey...
//时间与定时器
KeQueryTickCount...
//线程与事件