阅读:1129回复:1
关于驱动和注册表的问题,请各位自由发表高见!!
小弟现在做驱动,需要把一些初始化的数据放在注册表里,由Driver到注册表里去读的这些初始值,另外,我在控制面板里有个小程序能修改这些配置,并且要求配置修改后Driver能够立即得到这些新的配置。小弟有两条思路:
1。在控制面板小程序里,将新的配置写到注册表里覆盖原来的配置,在通过DeviceIoControl()让Driver得到这些新的配置数据。 2。在控制面板小程序里,将新的配置写到注册表里覆盖原来的配置后,不通过DeviceIoControl(),而是象设备管理器里的“停用设备”,“启用设备”那样操作,由系统把Driver重新加载一遍,Driver自己会去注册表读取我刚才写进去的新配置。 结论: 方法一 需要在Driver 里添点代码,但很容易实现,就怕在Driver里这些配置数据没有得到同步的刷新,会出问题。 方法二 不需要在Driver里添任何代码,Driver被停用了时间会丢失数据。 设备管理器里的“停用设备”,“启用设备”是用什么API实现的?可以给个例子看看吗?? 请大虾自由发表高见!!!! |
|
|
沙发#
发布于:2002-03-24 17:25
我同意你的第一条:
因为这样做驱动和应用会同步刷新数据的! 通过api接口函数像驱动发送请求和数据,然后让驱动发送deviceiocontrol code对注册表进行操作.而应用程序又可以读注册表!这样在系统重新启动的时候会保留你的关机时的设定! 比如:display driver : API Escapeex() 向DDI接口drvescape()发送请求即可实现! 不知道你的驱动是那个系统的,你可以在相关的ddk中获得参考的! |
|
|