阅读:3338回复:31
WIN2000不能正常关机的问题(关于DS下的DMA)
我在2000下用DS作PCI卡驱动,作基于通用缓冲区的连续大数据量DMA,驱动和应用层利用事件同步。
结束程序后不能正常关机,死在关机界面的“正在保存设置……”谁能告诉我为什么,怎么办? [编辑 - 11/4/02 by brucezh] |
|
|
沙发#
发布于:2002-11-06 11:14
知道原因了,是因为没有正确处理被Cancel的IRP,正在研究。
哪位大虾知道DS环境下这方面的具体操作,请指教 |
|
|
板凳#
发布于:2002-11-04 10:26
有大虾说可能是有IRP未能取消,先看一看关于取消例程的文章吧
|
|
|
地板#
发布于:2002-11-04 10:05
ddk啊,也不知怎么搞得
对了,mike_wang好像也碰到过 看看这个 http://www.driverdevelop.com/forum/viewthread.php?tid=20510#pid130124 [编辑 - 11/4/02 by gung] |
|
地下室#
发布于:2002-11-04 09:13
顶。有没有用DS作DMA碰到这问题的?
|
|
|
5楼#
发布于:2002-11-01 12:56
faint!! 大哥用的是DS还是DDK? |
|
|
6楼#
发布于:2002-11-01 12:43
faint!!
我也遇到类似的问题,我的程序一旦传输过数据后,在关机时,关机画面倒是过了,但是屏幕一黑就不再启动了,按计算机的reset件都不管用,不知是硬件还是软件问题。 不过按reset都没用是不是应该是硬件问题,有没有谁遇到过阿。 |
|
7楼#
发布于:2002-11-01 12:04
dma完成后有没有delete KDmaTransfer 每次都要delete吗? 我用的KDmaTransfer对象是我在KDevice对象中加入的一个成员函数,在这种情况下我怎么Delete? 仁兄有成功经验吗? 另外,我在SoftIce中对OnStopDevice()和OnPoverOff()设中断。发现到死机时SoftIce也没有跳出来,是这时SoftIce已经卸载了还是程序死在其他地方了? |
|
|
8楼#
发布于:2002-11-01 10:37
dma完成后有没有delete KDmaTransfer
|
|
|
9楼#
发布于:2002-11-01 09:26
那我就不知道该怎么办了。
资源有: IO端口范围; 中断(向导生成的代码已释放) DMA通用缓冲区 DMA(代码注释中明确说明在NT下不须释放) 事件(不知算不算资源) 我要把所有的资源都释放(全部用Invalidate()),结果就是更早的失去响应 :( 还能怎么处理? :mad: |
|
|
10楼#
发布于:2002-10-31 10:57
:)
|
|
11楼#
发布于:2002-10-30 08:37
在DS中,释放资源就是调用**.Invalidate()吧?
|
|
|
12楼#
发布于:2002-10-29 19:44
ds既然封装了dma NOD |
|
|
13楼#
发布于:2002-10-29 10:25
ds既然封装了dma
肯定帮你释放了 所以还是应该检查你自己申请的资源 |
|
|
14楼#
发布于:2002-10-29 09:51
[quote][quote][quote][quote]事件close了没有 :D 在应用程序中倒是ResetEvent()了 但在驱动中没有。我试试看先 [/quote] 如果驱动中没有用事件那肯定和事件无关。 [/quote] 用了,但好像没使用KDmaAdapter和KDmaTransfer进行DMA传输以前没有这现象。 [/quote] 那就应该检查DMA。 [/quote] 这我知道,但我觉得我的代码跟帮助文件中的描述没有什么冲突阿。 而且向导生成的代码说明中明确说不需要释放KDmaAdapter对象的资源。难道DMA过程中也有什么影响吗? |
|
|
15楼#
发布于:2002-10-28 20:09
[quote][quote][quote]事件close了没有 :D 在应用程序中倒是ResetEvent()了 但在驱动中没有。我试试看先 [/quote] 如果驱动中没有用事件那肯定和事件无关。 [/quote] 用了,但好像没使用KDmaAdapter和KDmaTransfer进行DMA传输以前没有这现象。 [/quote] 那就应该检查DMA。 |
|
|
16楼#
发布于:2002-10-28 09:11
[quote][quote]事件close了没有 :D 在应用程序中倒是ResetEvent()了 但在驱动中没有。我试试看先 [/quote] 如果驱动中没有用事件那肯定和事件无关。 [/quote] 用了,但好像没使用KDmaAdapter和KDmaTransfer进行DMA传输以前没有这现象。 |
|
|
17楼#
发布于:2002-10-26 19:12
[quote]事件close了没有 :D 在应用程序中倒是ResetEvent()了 但在驱动中没有。我试试看先 [/quote] 如果驱动中没有用事件那肯定和事件无关。 |
|
|
18楼#
发布于:2002-10-25 11:34
[quote]事件close了没有 :D 在应用程序中倒是ResetEvent()了 但在驱动中没有。我试试看先 [/quote] 更混乱了。 |
|
|
19楼#
发布于:2002-10-25 10:33
事件close了没有 :D 在应用程序中倒是ResetEvent()了 但在驱动中没有。我试试看先 |
|
|
上一页
下一页