阅读:2059回复:5
ndis 协议驱动及其应用
这是在王艳平著的《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语句的,用什么工具比较方便看到调用情况? 请各位驱动大牛赐教,不胜感激! |
|
|
沙发#
发布于:2008-05-13 15:12
留下联系方式,以便各位朋友赐教,及一起讨论
email:wdh21cn@163.com QQ:154028385 |
|
板凳#
发布于:2008-05-13 16:48
解决了第1个问题,但是不知道怎么弄着弄着就好了
|
|
地板#
发布于:2008-07-23 21:24
我也碰到了同样的问题 你的问题解决了吗
|
|
地下室#
发布于:2009-01-03 21:48
我也没调出来,就是那个驱动句柄打不开 "\\.\Packet"
是不是除了安装,还要放到某个目录呢? |
|
5楼#
发布于:2009-02-02 21:50
好的,多谢
|
|