RedFox_4U
驱动大牛
驱动大牛
  • 注册日期2002-11-27
  • 最后登录2003-03-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1879回复:12

这样定义全局变量怎么错的??

楼主#
更多 发布于:2003-02-12 11:39
1、有三个文件init.cpp,dispatch.cpp,wdm1.h
2、在wdm1.h中声明了一个全局变量extern PUNICODE_STRING aa;
3、在init.cpp中的全局域定义它PUNICODE_STRING aa;
并且把DriverEntry中的参数IN PUNICODE_STRING RegistryPath赋值给aa:   aa=RegistryPath
4、在dispatch.cpp中调用这个全局变量aa
5、机器重起
------------------------
RedFox_4U
驱动大牛
驱动大牛
  • 注册日期2002-11-27
  • 最后登录2003-03-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-02-12 11:59
我也不知道到底出了什么错,只是在我添加新硬件的时候给我重起。
去掉这些全局变量的定义就没问题了。
我这么定义全局变量有什么问题吗?
还是我的变量赋值有什么问题?

[编辑 -  2/12/03 by  RedFox_4U]
------------------------
RedFox_4U
驱动大牛
驱动大牛
  • 注册日期2002-11-27
  • 最后登录2003-03-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-02-13 09:49
#pragma code_seg(\"INIT\") // start INIT section
...
PUNICODE_STRING aa;

NTSTATUS DriverEntry( IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath)
{
...
}
#pragma code_seg() // end INIT section

我的PUNICODE_STRING aa在init.cpp中是在这个位置,是你说的init页吗?
令:#pragma 以前没用过,给讲讲好吧
------------------------
RedFox_4U
驱动大牛
驱动大牛
  • 注册日期2002-11-27
  • 最后登录2003-03-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-02-14 09:37
walt oney的书叫什么名字,还真没有看呢。。。


现在一直看得叫《WDM驱动开发指南》
------------------------
RedFox_4U
驱动大牛
驱动大牛
  • 注册日期2002-11-27
  • 最后登录2003-03-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-02-14 09:38
walt oney的书叫什么名字,还真没有看呢。。。

在哪里能搞到??


现在一直看得叫《WDM驱动开发指南》
------------------------
游客

返回顶部