我们最近的一个项目因为在boot之前,要用到音频设备,和Windows下的音频驱动有了点冲突。现在我们想在Windows上,能否有什么办法可以延迟某个驱动的加载?或者能否自己写程序加载驱动程序?具体怎么做?或者看那个文档?因项目紧急,在线等!请大虾帮忙!多谢!小弟拜谢

解决方案 »

  1.   

    自己加载驱动很简单,网上搜一下,
    SCM 加载驱动
      

  2.   

    ddk 有驱动加载卸载的例子
      

  3.   

    把自己的驱动设置为音频驱动的依赖项——在音频驱动的注册表键中增加DependOnService值,数据为自己的驱动服务名称。
      

  4.   

    想在Windows BOOT之前加载自己的驱动是没有可能的,自己加载,无非用SCM,ZwLoadDriver,但无论哪种方法都必须等到系统启动完成后才能生效,当然,可以用你的驱动代替音频驱动……如果必须这么做的话
      

  5.   

    大家对我的说明可能有些误解,我再仔细解释下吧。现在的问题说白了其实是系统固件如何与Windows的驱动和平共处。我们的程序属于系统固件,之前的系统固件是不操作Audio的,但现在我们想在固件内用一下Audio设备。于是我们在启动OS之前打开了Audio设备,播放一段音频,在Windows加载它自己的Audio驱动一切正常,但是一旦Windows自己的Audio驱动起来后,具体就是UAA驱动(Windows\System32\Drivers\HdAudio.sys)加载到内存后,我们的Audio就无法输出了。但是如果不装Windows的声卡驱动,我们的Audio就可以一直正常的播放直到结束。哪怕Windows已经进入了桌面。现在我们想在Windows进桌面以前都保证正常播放,或者与Windows共享音频设备。所以想到如果能延迟那个音频驱动加载,则问题就解决了更新:自己手动加载那个驱动估计是不可能了,加载驱动已经成功,但是声卡驱动牵涉的东西太多,不是简单的加载可以解决的,看来只能想办法延迟他们的加载。