阅读:1387回复:8
How to control driver loading seqence?
i have special probem with the driver i developed:
the driver is a PCI video catcher card driver; i have made a test program to capture and display the live video. case 1: a. reboot the pc; b. run the test program; c. pc is hang; case 2: a. reboot the pc; b. unload the driver; c. load the driver; d. run the test program; c. it is running fine; it seems the driver i made has to be loaded last. my question is how can i control the driver loading sequence and to load my driver last? |
|
沙发#
发布于:2003-10-08 05:31
any one got some idea?
|
|
板凳#
发布于:2003-10-08 12:04
驱动程序的加载顺序被下面几个键值控制
Group - 驱动所属的组 Start - 启动值, 0表示BOOT,3表示Manual(手动),4表示Disabled(禁用) Tag - 决定在同一个Group中启动顺序。 还有一个 Depends 值(具体名字记不清了 :P),可以指定该驱动必须在另一个驱动之后启动。 |
|
|
地板#
发布于:2003-10-08 21:46
thanks Seaquester,
you have pointed out the right direction. would you please provide a sample .inf section of how to add Tag - 决定在同一个Group中启动顺序。 Depends - 可以指定该驱动必须在另一个驱动之后启动 thank you |
|
论坛版主
|
地下室#
发布于:2003-10-09 20:18
启动顺序可调首先由start域定义:5个等级,等级数字越高启动越晚,0 boot起,1 没用过,2 自动起,3 手动起,4 禁止
在同一启动时间,由group确定,如果没有group定义则在这个阶段最后起,组太多,列不过来:),你自己找找; 在同一组内,tag确定顺序,预定义的各组值在hk\\sys\\curctrlset\\control\\grouporderlist下面,至于咋个解释这些顺序要说半天,兄弟找个东西看看,ddk应该有 其实上面说的都没的啥子好大用,主要是用不到看那么多,只要把start和type定义好就好了,我这里用的如下: [DrvTest_AddService](这名字自己取) DisplayName = %SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %10%\\System32\\Drivers\\xxx.sys 我都有个问题,不知哪位兄弟知道,我设的手工启动(3),但是每次启动还是系统自己就起来了:)不需要我手动:) 最后我想说你说的情况不一定是顺序问题,这个可能只是表象,你再找找深层次的原因,祝好运:) ps:我绝对没有个人攻击的意思,但是我觉得你的鸟语和我一样烂,下次别说了,我看了都想打自己。纯属个人意见,你可以不接受! |
|
5楼#
发布于:2003-10-09 20:28
我设的手工启动(3),但是每次启动还是系统自己就起来了:)不需要我手动:)
这个是因为你的驱动为WDM,系统的PNP管理器会自动加载你注册过WDM驱动,如果要手动启动话,最好还是采用KMD的驱动. |
|
|
6楼#
发布于:2003-10-10 12:19
我设的手工启动(3),但是每次启动还是系统自己就起来了:)不需要我手动:) 同意,WDM驱动是不能手动启动的。 |
|
|
论坛版主
|
7楼#
发布于:2003-10-10 14:39
收到,感谢兄弟们
|
|
8楼#
发布于:2003-10-10 21:32
my original question is:
how to set the system to load my driver last? |
|