vondeny
驱动牛犊
驱动牛犊
  • 注册日期2008-04-30
  • 最后登录2008-08-08
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望25点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
阅读:2059回复:5

ndis 协议驱动及其应用

楼主#
更多 发布于:2008-05-13 15:07
这是在王艳平著的《Windows 网络与通信程序设计》里面的例子。
其中,ProtoDrv.rar是ndis的协议驱动程序,是一个C++工程来的,可以在vc++6.0打开,配合ddk2000就可以进行编译。
RawEthernet.rar是上面协议驱动在“原始以太封包的发送”工程中的应用;首先需要安装packet.inf;该inf文件是从ddk中packet的例子中拷贝过来的,并进行适当的修改(文件里面有标注)。安装过程如下:
1、“网络邻居”图标右键,选择“属性”
2、“本地链接”图标右键,选择“属性”
3、属性对话框,单击“安装”按钮,选择“协议”,单击“添加”按钮
4、在弹出对话框中单击“从磁盘安装”按钮,选择“浏览”,找到packet.inf文件
5、最后,按照对话框提示进行直到安装完成
RawEthernet工程,利用VC++6.0打开,进行编译和连接与运行。

问题:
1、我在RawEthernet工程运行的时候总是返回错误代码2,也就是说::StartService(hService, 0, NULL)这行代码总是有 ERROR_FILE_NOT_FOUND(The system cannot find the  file specified.)错误,不知道如何解决。
2、ProtoDrv工程编译出来的ProtoDrv.sys直接放在RawEthernet工程目录下,RawEthernet中的语句::OpenService(hSCM, szLinkName, SERVICE_ALL_ACCESS)就能打开ProtoDrv.sys了?
3、inf文件已经把ProtoDrv.sys安装到本地链接了,如果ProtoDrv.sys有DbgPrint语句的,用什么工具比较方便看到调用情况?

请各位驱动大牛赐教,不胜感激!
附件名称/大小 下载次数 最后更新
ProtoDrv.rar (32KB)  175 2008-05-13 15:07
RawEthernet.rar (19KB)  139 2008-05-13 15:07
vondeny
驱动牛犊
驱动牛犊
  • 注册日期2008-04-30
  • 最后登录2008-08-08
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望25点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-05-13 15:12
留下联系方式,以便各位朋友赐教,及一起讨论
email:wdh21cn@163.com
QQ:154028385
vondeny
驱动牛犊
驱动牛犊
  • 注册日期2008-04-30
  • 最后登录2008-08-08
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望25点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-05-13 16:48
解决了第1个问题,但是不知道怎么弄着弄着就好了
mr6698
驱动牛犊
驱动牛犊
  • 注册日期2008-03-26
  • 最后登录2017-09-27
  • 粉丝3
  • 关注0
  • 积分21分
  • 威望200点
  • 贡献值0点
  • 好评度26点
  • 原创分0分
  • 专家分1分
地板#
发布于:2008-07-23 21:24
我也碰到了同样的问题 你的问题解决了吗
lmy0525
驱动牛犊
驱动牛犊
  • 注册日期2008-12-18
  • 最后登录2009-01-03
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-01-03 21:48
我也没调出来,就是那个驱动句柄打不开 "\\.\Packet"

是不是除了安装,还要放到某个目录呢?
puyang
驱动牛犊
驱动牛犊
  • 注册日期2009-01-26
  • 最后登录2009-10-21
  • 粉丝0
  • 关注0
  • 积分56分
  • 威望561点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-02-02 21:50
好的,多谢
游客

返回顶部