aldsd
驱动牛犊
驱动牛犊
  • 注册日期2004-02-26
  • 最后登录2005-05-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1364回复:4

在packet例子中是如何捕获数据包并传递给应用程序的?

楼主#
更多 发布于:2004-03-29 17:13
如题:
1:packet协议驱动是怎样捕获到数据包的?
2:应用程序是通过 readfile 或 getoverlappedresult
   得到捕获的数据包吗?
aldsd
sttony
驱动牛犊
驱动牛犊
  • 注册日期2004-03-13
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分78分
  • 威望47点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-03-29 20:07
可以看看packet例子代的Exe。 我的理解:
在绑定底层网卡时,用底层网卡的指针IoCreateDevice。IoCreateDevice提供ReadFile, WriteFile的处理程序。Win32程序必须先CreateFile  Packet设备,发送Ioctl枚举为底层网卡创建设备的符号名,在用符号名CreateFile,再ReadFile.
aldsd
驱动牛犊
驱动牛犊
  • 注册日期2004-02-26
  • 最后登录2005-05-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-03-30 09:05
在testapp中接收数据包是这样的:
如果readfile返回为0,则调用getoverlappedresult.
但是:
1:在getoverlappedresult函数中没有任何交换缓冲区,
testapp怎样得到的数据呀?
2:为什么readfile总是返回为0?
aldsd
start
驱动小牛
驱动小牛
  • 注册日期2001-11-05
  • 最后登录2010-09-03
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望27点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-03-30 11:49
我记得看过他的说明,接收数据Readfile可能接受不到数据,因为必须有发送到这个网卡的包,他才能接受到数据。
second
netbutcher
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2004-05-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-04-01 01:10
在应用程序中建立一个Evnet然后在驱动程序中打开\BaseNamedObjects\你的Evnet名字,进行同步,由数据接收
调用DeviceIOControl读取数据
游客

返回顶部