yiedu
驱动牛犊
驱动牛犊
  • 注册日期2003-05-30
  • 最后登录2008-03-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1660回复:4

各位老大我想用NDIS中间层驱动拦截NDISWAN的数据。

楼主#
更多 发布于:2004-06-03 12:03
请问如何修改PASSTHRU才能够满足要求
我看过扩展的 PASSTHRU中只多了这么几项:
1,在PASSTHRU.C中定义
NDIS_MEDIUM         MediumArray[4] =
                    {
                        NdisMedium802_3,    // Ethernet
                        NdisMedium802_5,    // Token-ring
                        NdisMediumFddi,     // Fddi
                        NdisMediumWan       // NDISWAN
                    };

2,在MINIPORT.C中MPInitialize中有
if (Medium == NdisMediumWan)
        {
            Medium = NdisMedium802_3;
        }
3,在protocal.c中PtReceive中有:
switch (pAdapt->Medium)
        {
            case NdisMedium802_3:
            case NdisMediumWan:
                NdisMEthIndicateReceive(pAdapt>MiniportHandle, MacReceiveContext,HeaderBuffer,
HeaderBufferSize,LookAheadBuffer,LookAheadBufferSize,
 PacketSize);

除此之外还有没有和普通的PASSTHRU不同的地方,或要修改的地方?
请各位大侠门指教。
谢谢!!!!!!!!!!!!!!!!!!!!1
asmsys
驱动老牛
驱动老牛
  • 注册日期2002-03-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望17点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-06-03 12:27
没有了。但处理包要注意:
MiniportWanSend和MiniportSend等函数的区别。
yiedu
驱动牛犊
驱动牛犊
  • 注册日期2003-05-30
  • 最后登录2008-03-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-06-03 13:09
谢谢ASMSYS回答,还有个疑问:
当PACKET为NULL的时候
为什么NdisMedium802_3:
和      NdisMediumWan
都用NdisMEthIndicateReceive来向上指示?
NdisMediumWan为什么不用NdisMWanIndicateReceive来指派?
asmsys
驱动老牛
驱动老牛
  • 注册日期2002-03-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望17点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-06-03 13:42
这是NDIS。H的定义:
#define NdisMWanIndicateReceive(_S_, _M_, _C_, _P_, _Z_) \\
(*((PNDIS_MINIPORT_BLOCK)(_M_))->WanRcvHandler)(_S_, _M_, _C_, _P_, _Z_)
但xpddk的passthru在注册协议的时候没有注册WanRcvHandler。
既然微软这么做,肯定是没问题的。
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-06-04 13:36
ndiswan本身已经屏蔽了wan设备的操作,对于协议层来说,ndiswan和其他的802.3的miniport是一样的,不需要关注那些wan相关的操作,向ndiswan发包只需要nidssend。
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
游客

返回顶部