lonelyeagle
驱动牛犊
驱动牛犊
  • 注册日期2003-10-29
  • 最后登录2006-04-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:2264回复:10

NDIS中间层驱动能动态加载吗?

楼主#
更多 发布于:2003-12-25 16:39
如题
yongliliu
驱动小牛
驱动小牛
  • 注册日期2003-10-20
  • 最后登录2007-09-28
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-12-25 17:07
yes
成功不是天上掉下来的免费的丰盛的晚餐!
lonelyeagle
驱动牛犊
驱动牛犊
  • 注册日期2003-10-29
  • 最后登录2006-04-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-12-25 18:02
yes

我写好了中间层驱动(用DS写的),现在想动态加载,
先用OpenSCManager打开服务管理器,用CreateService
创建服务、用OpenService打开服务都没有问题,
可是用StartService启动服务时,却出错:
错误类型为ERROR_PATH_NOT_FOUND。老兄能指点一下吗?
right_wind
驱动中牛
驱动中牛
  • 注册日期2001-10-12
  • 最后登录2018-05-29
  • 粉丝1
  • 关注0
  • 积分60分
  • 威望66点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2003-12-25 19:03
不能用createservice等函数来加载,参考xp ddk中devcon例子对驱动程序的操作方法。
good good study, day day up。
lonelyeagle
驱动牛犊
驱动牛犊
  • 注册日期2003-10-29
  • 最后登录2006-04-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-12-26 08:59
不能用createservice等函数来加载,参考xp ddk中devcon例子对驱动程序的操作方法。

我的系统是win2k,已经安装了2k的ddk,再装xp ddk会不会冲突?
lonelyeagle
驱动牛犊
驱动牛犊
  • 注册日期2003-10-29
  • 最后登录2006-04-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-12-26 11:28
[quote]不能用createservice等函数来加载,参考xp ddk中devcon例子对驱动程序的操作方法。

我的系统是win2k,已经安装了2k的ddk,再装xp ddk会不会冲突? [/quote]
我把Devcon提出来看了一下,似乎要通过inf文件才能加载。
lonelyeagle
驱动牛犊
驱动牛犊
  • 注册日期2003-10-29
  • 最后登录2006-04-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-12-27 11:41
那位老兄能给小弟一段动态加载中间层驱动的代码。
right_wind
驱动中牛
驱动中牛
  • 注册日期2001-10-12
  • 最后登录2018-05-29
  • 粉丝1
  • 关注0
  • 积分60分
  • 威望66点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2003-12-27 22:32
我理解你的想法是在安装好IMD之后,对IMD进行动态的启动和停止等动态加载的工作,在这种条件下devcon是可以的,如果要安装需要看snetcfg这个例子。
good good study, day day up。
xiongcs
驱动牛犊
驱动牛犊
  • 注册日期2003-12-17
  • 最后登录2004-03-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-12-27 22:53
CreateService中LPCTSTR lpBinaryPathName 是否指到了你设备驱动程序的位置。
  CreateService相当于在注册表中注册一个项目,你可以在注册表中去检查。
lonelyeagle
驱动牛犊
驱动牛犊
  • 注册日期2003-10-29
  • 最后登录2006-04-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-12-28 10:19
我理解你的想法是在安装好IMD之后,对IMD进行动态的启动和停止等动态加载的工作,在这种条件下devcon是可以的,如果要安装需要看snetcfg这个例子。

imd在安装好后(可以用snetcfg安装),用OpenService和StartService完全没有问题。但是,用snetcfg安装后,每次
启机后,驱动程序就已经加载了。我希望即使用snetcfg或是其他方法安装了驱动程序后,每次启机,驱动程序不会加载,必须通过应用
程序动态加载。不知道有没有办法?
lonelyeagle
驱动牛犊
驱动牛犊
  • 注册日期2003-10-29
  • 最后登录2006-04-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-12-28 11:37
CreateService中LPCTSTR lpBinaryPathName 是否指到了你设备驱动程序的位置。
  CreateService相当于在注册表中注册一个项目,你可以在注册表中去检查。

中间层驱动的安装似乎比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下都会添加项,特别是这三处中的前面两处,和驱动程序的装卸密切相关。
游客

返回顶部