版块
论坛
喜欢
话题
应用
搜索
登录
注册
RedFox_4U的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=42108
这样定义全局变量怎么错的??
1、有三个文件init.cpp,dispatch.cpp,wdm1.h2、在wdm1.h中声明了一个全局变量extern PUNICODE_STRING aa;3、在init.cpp中的全局域定义它PUNICODE_STRING aa;并且把DriverEntry中的参数IN P...
全文
回复
(
12
)
2003-02-12 11:39
来自版块 -
ABC初学者
◆
◆
表情
告诉我的粉丝
提 交
KanHu
:
1、有三个文件init.cpp,dispatch.cpp,wdm1.h 2、在wdm1.h中声明了一个全局变量extern PUNICODE_STRING aa; 3、在init.cpp中的全局域定义它PUNICODE_STRING aa; 并且把DriverEntry中的...
(2003-02-16 13:23)
回复
arthurtu
:
《Programming the Microsoft Windows Driver Model》 如果我不告诉你书名,你的分不就白给了? :D 就算没有看,也不能用pointer指向一个会被释放的pointer呀?
(2003-02-14 20:27)
回复
RedFox_4U
:
walt oney的书叫什么名字,还真没有看呢。。。 在哪里能搞到?? 现在一直看得叫《WDM驱动开发指南》
(2003-02-14 09:38)
回复
RedFox_4U
:
walt oney的书叫什么名字,还真没有看呢。。。 现在一直看得叫《WDM驱动开发指南》
(2003-02-14 09:37)
回复
arthurtu
:
ft,walt oney的书一点都没有看吗?
(2003-02-13 22:53)
回复
h13
:
那还不死,应该叫init段吧,这部分的东西驱动启动完成后就丢掉了,你后来访问是无效内存,换个地方试试 另外你的赋值好像也有问题,punicode_string只是一个指针,在driverentry里你把它指向一个内核栈,等driverentry结束的时候指向的还是一个无效内...
(2003-02-13 15:43)
回复
RedFox_4U
:
#pragma code_seg(\"INIT\") // start INIT section ... PUNICODE_STRING aa; NTSTATUS DriverEntry( IN PDRIVER_OBJECT DriverObject...
(2003-02-13 09:49)
回复
h13
:
你的 PUNICODE_STRING aa是在init页中的?是的话那部分启动完不就和你byebye了? 或者,你没有为aa分配内存? :)
(2003-02-13 09:45)
回复
X_ray
:
不能在两个CPP文件中都用extern,因此你不应该把extern写在h文件内,除非用#ifdef等把定义在init和其他程序区分开。
(2003-02-13 00:42)
回复
LIUTANG
:
莫非在DriverEntry调用结束后RegistryPath被释放掉了?你用UNICODE中的类似于ANSI的strcpy的函数把内存拷贝下来试一下,在WDM里对内存的访问是非常严格的,特别是在NT/2K/XP下,不可用的内存连读都不行。
(2003-02-12 22:51)
回复
1
2
下一页 »
RedFox_4U
加关注
写私信
0
关注
0
粉丝
797
帖子
返回顶部