hong
驱动小牛
驱动小牛
  • 注册日期2001-09-19
  • 最后登录2005-12-16
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1387回复:8

How to control driver loading seqence?

楼主#
更多 发布于:2003-10-01 22:46
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?
hong
驱动小牛
驱动小牛
  • 注册日期2001-09-19
  • 最后登录2005-12-16
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-10-08 05:31
any one got some idea?
seaquester
驱动大牛
驱动大牛
  • 注册日期2002-05-22
  • 最后登录2016-06-16
  • 粉丝0
  • 关注0
  • 积分500分
  • 威望115点
  • 贡献值0点
  • 好评度107点
  • 原创分0分
  • 专家分52分
板凳#
发布于:2003-10-08 12:04
驱动程序的加载顺序被下面几个键值控制
Group - 驱动所属的组
Start - 启动值, 0表示BOOT,3表示Manual(手动),4表示Disabled(禁用)
Tag - 决定在同一个Group中启动顺序。
还有一个 Depends 值(具体名字记不清了 :P),可以指定该驱动必须在另一个驱动之后启动。
八风舞遥翩,九野弄清音。 鸣高常向月,善舞不迎人。
hong
驱动小牛
驱动小牛
  • 注册日期2001-09-19
  • 最后登录2005-12-16
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于: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
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
地下室#
发布于: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:我绝对没有个人攻击的意思,但是我觉得你的鸟语和我一样烂,下次别说了,我看了都想打自己。纯属个人意见,你可以不接受!
根据地的兄弟们,团结就是力量
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
5楼#
发布于:2003-10-09 20:28
我设的手工启动(3),但是每次启动还是系统自己就起来了:)不需要我手动:)
这个是因为你的驱动为WDM,系统的PNP管理器会自动加载你注册过WDM驱动,如果要手动启动话,最好还是采用KMD的驱动.
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
seaquester
驱动大牛
驱动大牛
  • 注册日期2002-05-22
  • 最后登录2016-06-16
  • 粉丝0
  • 关注0
  • 积分500分
  • 威望115点
  • 贡献值0点
  • 好评度107点
  • 原创分0分
  • 专家分52分
6楼#
发布于:2003-10-10 12:19
我设的手工启动(3),但是每次启动还是系统自己就起来了:)不需要我手动:)
这个是因为你的驱动为WDM,系统的PNP管理器会自动加载你注册过WDM驱动,如果要手动启动话,最好还是采用KMD的驱动.


同意,WDM驱动是不能手动启动的。
八风舞遥翩,九野弄清音。 鸣高常向月,善舞不迎人。
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-10-10 14:39
收到,感谢兄弟们
根据地的兄弟们,团结就是力量
hong
驱动小牛
驱动小牛
  • 注册日期2001-09-19
  • 最后登录2005-12-16
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-10-10 21:32
my original question is:
how to set the system to load my driver last?
游客

返回顶部