lxcsyh
驱动牛犊
驱动牛犊
  • 注册日期2007-08-05
  • 最后登录2010-11-22
  • 粉丝0
  • 关注0
  • 积分38分
  • 威望279点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
阅读:1436回复:1

关于全局变量的入门问题

楼主#
更多 发布于:2008-12-22 15:05
小弟刚学驱动开发,想问一个初级问题。
驱动程序的全局变量在系统中是不是只有一份啊?

我们知道,dll的全局变量在各个用户进程中是独立的,值的改变不会相互影响。
但是sys的全局变量对于各个用户进程中是不是只有一份呢? 值的改变应该会相互影响的吧?
那通常是如何定义独立于各个进程的全局变量的呢。。。 TLS???

望各位前辈赐教,不胜感激。
PlayItHard
驱动牛犊
驱动牛犊
  • 注册日期2008-12-27
  • 最后登录2009-02-14
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-01-25 19:06
.sys文件实质上就是一个DLL文件,它只有一个导出函数DriverEntry(),它的加载和DLL的加载是一样的,不过它是加载(映射)到系统地址空间(大于2G),而系统地址空间是不随进程切换而改变的,即所有进程的大于2G的地址空间都是一样的,所以驱动程序在整个系统中只有一份,它之中的全局变量所有的进程都能看到,所以用到全局变量的话必须进行同步
游客

返回顶部