我在写一个Kenerl Mode软驱动程序时,需要设置一个TImer,我的写法时这样的TimeoutTime.QuadPart = (-10000 * 1000 * devExt-DiskRegInfo.AutoSaveImageTTL);KeInitializeTimerEx(...
全文
回复(12) 2003-03-26 20:47 来自版块 - 内核编程
表情
arthurtu那么请问,我如何知道我的DPC历程上哪些函数不允许在dispatch level上使用的?? 我买了一本《WIN2000设备驱动程序设计指南》 施诺翻译的,感觉很差,看不懂DPC机制。有没有人给出一个资料?? DPC历程上为什么不允许在dispatch level或者...(2003-03-29 21:11)
ychener那么请问,我如何知道我的DPC历程上哪些函数不允许在dispatch level上使用的?? 我买了一本《WIN2000设备驱动程序设计指南》 施诺翻译的,感觉很差,看不懂DPC机制。有没有人给出一个资料?? DPC历程上为什么不允许在dispatch level或者...(2003-03-29 11:26)
arthurtuGettingStart的回答有问题吧?高于Dispatch_Level是不会有分页内存错误的,这里的关键是Timer没有初始化。 很多蓝屏就是因为在dispatch level或以上产生了page fault,而系统无法处理。(2003-03-29 10:27)
GettingStart你还是在你的dpc例程查一查有没有使用不允许在dispatch level上使用的函数。 至于楼上的那位的疑问我看你还是去查以下资料吧,造成分页错误的一个原因就是和dispatch level有关的,为了检查这个问题,ddk还提供了一个宏paged-code用来调试这个问题(2003-03-28 10:35)
ychenerTimer 肯定做了初始化了,但是一样会死机, 我的定时器设置的是30s,如果Timer没有初始化,我觉得在 KeInitializeTimerEx(&devExt->Timer, SynchronizationTimer);语句的时候就会出错了,但是我是到DP...(2003-03-28 09:43)
xyylnGettingStart的回答有问题吧?高于Dispatch_Level是不会有分页内存错误的,这里的关键是Timer没有初始化。 (2003-03-27 17:06)
ychener收到,谢谢各位。(2003-03-27 13:46)
GettingStartHBOOT(2003-03-27 13:11)
GettingStart计时器对象你必须自己为它分配内存,然后再初始化,初始化函数是不负责分配内存的。(2003-03-27 13:07)
GettingStart你的超时时间的计算方法也不对,你应该使用int32*32这个函数,函数名可能不准,你到MSDN核对一下(2003-03-27 09:08)

返回顶部