jruinet
驱动牛犊
驱动牛犊
  • 注册日期2007-03-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分130分
  • 威望14点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
阅读:2453回复:3

关于BindAdapterHandler回调没有执行的问题

楼主#
更多 发布于:2007-03-07 21:28
  我使用DriverStudio3.0+WINDDK2003+VS.NET 2003,用DS自带的向导生成了一个protocoldriver,里面的NdisRegisterProtocol都以经完成了。但是为什么我用DriverMoitor打开驱动后PnPEvent++.PnpEvent = 6
PnpEvent:NetEventBindsComplete
PnpEvent--.STATUS=0都执行了,但是BindAdapterHandler的回调为什么没有执行呢?不是说在NdisRegisterProtocol执行后一会就执行了吗?还是我理解错误,希望大哥们给详细讲解一下,谢谢
rangzh
驱动小牛
驱动小牛
  • 注册日期2005-04-24
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望150点
  • 贡献值0点
  • 好评度115点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-03-07 23:14
inf文件里的协议名称和注册时的名称是否一致
jruinet
驱动牛犊
驱动牛犊
  • 注册日期2007-03-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分130分
  • 威望14点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-03-08 09:06
inf文件里的协议名是DS生成时创建的,我没有改过,驱动代码里的协议名我也没改过呀,谢谢rangzh大哥,看还有其它原因没有呢,或是DS生成的INF还须要自己修改一下名称?
scz
scz
驱动牛犊
驱动牛犊
  • 注册日期2001-07-23
  • 最后登录2009-11-05
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-03-08 11:31
你用DriverMoitor打开驱动的过程相当于临时在注册表中增加了一个服务,然后net start它。这个过程对NDIS Protocol Driver是不充分的,此时NDIS不会调用ProtocolBindAdapter(),但仍会调用ProtocolPnPEvent()。

如果想让ProtocolBindAdapter()被调用,必须通过Network Control Panel Applet (NCPA)安装协议驱动。或者参看DDK例子代码中的netcfg(Network Configuration Sample)。netcfg演示了利用INetCfg API枚举、安装、卸载网络组件。
游客

返回顶部