阅读:1468回复:8
奇了怪了!!!!大家帮我看看
在只安装windows2000的机器上编写了一个PCI驱动
板卡插上和取下都没有问题,系统和驱动都正常工作 结果换了一台有win98和win2000的机器,插入PCI卡 在2000下发现设备,并安装了相应驱动,板卡正常工作 从新启动,win2000无法启动!! 只有在启动时按F8,恢复以前正确的配置后才能正常启动 启动时系统重新发现PCI卡,重新安装驱动,正常工作 但是只要重新启动,系统就死机!郁闷啊, 又只有重起,F8,再次检测安装!!! 郁闷-------郁闷-------- |
|
沙发#
发布于:2002-05-17 11:22
看看你的DriverEntry
|
|
板凳#
发布于:2002-05-17 14:49
这是wizard生成的没有改动
NTSTATUS S5920::DriverEntry(PUNICODE_STRING RegistryPath) { t << \"In DriverEntry\\n\"; // Open the \"Parameters\" key under the driver KRegistryKey Params(RegistryPath, L\"Parameters\"); if ( NT_SUCCESS(Params.LastError()) ) { #if DBG ULONG bBreakOnEntry = FALSE; // Read \"BreakOnEntry\" value from registry Params.QueryValue(L\"BreakOnEntry\", &bBreakOnEntry); // If requested, break into debugger if (bBreakOnEntry) DbgBreakPoint(); #endif // Load driver data members from the registry LoadRegistryParameters(Params); } m_Unit = 0; return STATUS_SUCCESS; } |
|
地板#
发布于:2002-05-18 13:39
最近是不是回答问题的人边少了?
|
|
地下室#
发布于:2002-05-19 00:27
你看看你的驱动程序加载顺序是什么,把加载的时间往后调一下吧!怀疑是你的驱动程序加载的比较早,那时侯有一些东西还没有达到要求,你在原来START值的基础上加一吧!不过要小于3,或者把TAG的值增大,不过这个值调大了也没有多大作用,或者是改动一下所属组吧!还有就是看看你原来正常的机器上面看看加载的组顺序和你现在出问题的机器加载的组顺序是不是一样的!
组加载顺序是在注册表的SYSTEM\\CURRENTCONTROLSET\\CONTROL\\SERVICEGROUPORDER里面的LIST就是了! |
|
5楼#
发布于:2002-05-19 00:29
还有就是你问问题最好加一点分刺激一下嘛!没有分想回答你的都懒得回答啊!缺分的话就去灌点水,这样就不会缺了!有时候还有人在灌水区放分的!
|
|
6楼#
发布于:2002-05-19 16:10
同意 :D
|
|
7楼#
发布于:2002-05-20 10:23
start=3;
加分我是很慷慨的 |
|
8楼#
发布于:2002-05-20 10:58
我不知道,你在只有win2000系统的时候。加载了驱动程序,然后你自己特意重起一次的时候,系统能否引导你的驱动程序。如果不能,我想是这个原因:(转载ABC初学者论坛)
我记得以前曾经回答过类似的问题,出现这种问题的原因大概是由于在系统引导的过程中,需要分配各设备的资源(你的问题应该出现在中断上),ds生成的驱动在OnStartDevice阶段就初始化并且连接了中断,造成和该设备共享中断的其它设备无法正常加载,这有可能是各bug,因为在一些型号的机器上有可能发生,而在另一些设备上可能就没问题。解决的办法就像楼上的朋友说的,在OnStartDevice阶段只初始化,在需要打开的时候再连接中断。 |
|
|