阅读:2453回复:3
关于BindAdapterHandler回调没有执行的问题
我使用DriverStudio3.0+WINDDK2003+VS.NET 2003,用DS自带的向导生成了一个protocoldriver,里面的NdisRegisterProtocol都以经完成了。但是为什么我用DriverMoitor打开驱动后PnPEvent++.PnpEvent = 6
PnpEvent:NetEventBindsComplete PnpEvent--.STATUS=0都执行了,但是BindAdapterHandler的回调为什么没有执行呢?不是说在NdisRegisterProtocol执行后一会就执行了吗?还是我理解错误,希望大哥们给详细讲解一下,谢谢 |
|
沙发#
发布于:2007-03-07 23:14
inf文件里的协议名称和注册时的名称是否一致
|
|
板凳#
发布于:2007-03-08 09:06
inf文件里的协议名是DS生成时创建的,我没有改过,驱动代码里的协议名我也没改过呀,谢谢rangzh大哥,看还有其它原因没有呢,或是DS生成的INF还须要自己修改一下名称?
|
|
地板#
发布于: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枚举、安装、卸载网络组件。 |
|