阅读:2264回复:10
NDIS中间层驱动能动态加载吗?
如题
|
|
沙发#
发布于:2003-12-25 17:07
yes
|
|
|
板凳#
发布于:2003-12-25 18:02
yes 我写好了中间层驱动(用DS写的),现在想动态加载, 先用OpenSCManager打开服务管理器,用CreateService 创建服务、用OpenService打开服务都没有问题, 可是用StartService启动服务时,却出错: 错误类型为ERROR_PATH_NOT_FOUND。老兄能指点一下吗? |
|
地板#
发布于:2003-12-25 19:03
不能用createservice等函数来加载,参考xp ddk中devcon例子对驱动程序的操作方法。
|
|
|
地下室#
发布于:2003-12-26 08:59
不能用createservice等函数来加载,参考xp ddk中devcon例子对驱动程序的操作方法。 我的系统是win2k,已经安装了2k的ddk,再装xp ddk会不会冲突? |
|
5楼#
发布于:2003-12-26 11:28
[quote]不能用createservice等函数来加载,参考xp ddk中devcon例子对驱动程序的操作方法。 我的系统是win2k,已经安装了2k的ddk,再装xp ddk会不会冲突? [/quote] 我把Devcon提出来看了一下,似乎要通过inf文件才能加载。 |
|
6楼#
发布于:2003-12-27 11:41
那位老兄能给小弟一段动态加载中间层驱动的代码。
|
|
7楼#
发布于:2003-12-27 22:32
我理解你的想法是在安装好IMD之后,对IMD进行动态的启动和停止等动态加载的工作,在这种条件下devcon是可以的,如果要安装需要看snetcfg这个例子。
|
|
|
8楼#
发布于:2003-12-27 22:53
CreateService中LPCTSTR lpBinaryPathName 是否指到了你设备驱动程序的位置。
CreateService相当于在注册表中注册一个项目,你可以在注册表中去检查。 |
|
9楼#
发布于:2003-12-28 10:19
我理解你的想法是在安装好IMD之后,对IMD进行动态的启动和停止等动态加载的工作,在这种条件下devcon是可以的,如果要安装需要看snetcfg这个例子。 imd在安装好后(可以用snetcfg安装),用OpenService和StartService完全没有问题。但是,用snetcfg安装后,每次 启机后,驱动程序就已经加载了。我希望即使用snetcfg或是其他方法安装了驱动程序后,每次启机,驱动程序不会加载,必须通过应用 程序动态加载。不知道有没有办法? |
|
10楼#
发布于:2003-12-28 11:37
CreateService中LPCTSTR lpBinaryPathName 是否指到了你设备驱动程序的位置。 中间层驱动的安装似乎比WDM驱动安装设计到的注册表项要多, 我用CreateSerivice仅仅是建立了HKLM\\SYSTEM\\ControlSet\\Service下的一个项,实际上还会在HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002BE10318}、HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Enum\\Root、HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Control\\DeviceClasses下都会添加项,特别是这三处中的前面两处,和驱动程序的装卸密切相关。 |
|