阅读:1488回复:1
关于全局变量的入门问题
小弟刚学驱动开发,想问一个初级问题。
驱动程序的全局变量在系统中是不是只有一份啊? 我们知道,dll的全局变量在各个用户进程中是独立的,值的改变不会相互影响。 但是sys的全局变量对于各个用户进程中是不是只有一份呢? 值的改变应该会相互影响的吧? 那通常是如何定义独立于各个进程的全局变量的呢。。。 TLS??? 望各位前辈赐教,不胜感激。 |
|
沙发#
发布于:2009-01-25 19:06
.sys文件实质上就是一个DLL文件,它只有一个导出函数DriverEntry(),它的加载和DLL的加载是一样的,不过它是加载(映射)到系统地址空间(大于2G),而系统地址空间是不随进程切换而改变的,即所有进程的大于2G的地址空间都是一样的,所以驱动程序在整个系统中只有一份,它之中的全局变量所有的进程都能看到,所以用到全局变量的话必须进行同步
|
|