kuronca
驱动牛犊
驱动牛犊
  • 注册日期2007-11-27
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望124点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
阅读:1971回复:5

驱动如何判断OS已经启动完成

楼主#
更多 发布于:2008-12-29 13:56
驱动如何判断OS已经启动完成,或者说如何判断OS将所有驱动加载成功后,进去CE桌面?
high
论坛版主
论坛版主
  • 注册日期2002-08-10
  • 最后登录2010-07-26
  • 粉丝4
  • 关注0
  • 积分60分
  • 威望655点
  • 贡献值0点
  • 好评度56点
  • 原创分0分
  • 专家分60分
沙发#
发布于:2008-12-30 01:21
假定你所说的驱动都是指由device加载的驱动。

你的问题是个悖论。  驱动等待所有驱动加载完, 这是个逻辑悖论。

一些不成熟想法供参考。 device.exe加载总线驱动BusEnum.dll, 然后这个驱动负责逐个加载其它驱动。 这一部分代码是open的。我刚才扫了下代码, 大概在AssignChildDriver之后可以做一个同步通知。
high
论坛版主
论坛版主
  • 注册日期2002-08-10
  • 最后登录2010-07-26
  • 粉丝4
  • 关注0
  • 积分60分
  • 威望655点
  • 贡献值0点
  • 好评度56点
  • 原创分0分
  • 专家分60分
板凳#
发布于:2008-12-30 01:23
上面说错了。 驱动可以开启一个线程来等待所有驱动加载完。
kuronca
驱动牛犊
驱动牛犊
  • 注册日期2007-11-27
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望124点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-12-30 15:43
可能是我描述不清楚,我的意思是,某个驱动线程检测是否进入OS,而不是等待。
ziyun
驱动小牛
驱动小牛
  • 注册日期2003-07-28
  • 最后登录2009-05-31
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望109点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-01-05 09:46
//    while(!IsAPIReady(SH_SHELL) || !IsAPIReady(SH_WMGR) || !IsAPIReady(SH_GDI))
//    {
//        Sleep(250);
//    }
ziyun
驱动小牛
驱动小牛
  • 注册日期2003-07-28
  • 最后登录2009-05-31
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望109点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-01-05 09:50
不好意思没看清楚,你判断explorer。exe或者类似程序有没有加载就可以了
游客

返回顶部