标题:NDIS miniport驱动中NdisMEthIndicateReceiveComplete的问题
只看楼主
fengwan
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-3-23
结帖率:0
已结贴  问题点数:20 回复次数:4 
NDIS miniport驱动中NdisMEthIndicateReceiveComplete的问题
最近在调试Tap-win32虚拟网卡驱动的时候,碰到问题:
    在应用程序中我调用WriteFile向Tap设备写入了64字节的TCP数据包,但是在“网上邻居”中“虚拟网卡”中只看到“接收了一个数据包”,看到“发送数据包为0”。  
    为了捕获刚才发送的数据,我创建了一个Socket应用程序,一直监听从虚拟网卡向外发送的数据,也收不到任何数据。  
    我在DriverEntry中调用NdisMRegisterMiniport中已经初始化了NDIS_MINIPORT_CHARACTERISTICS变量中的SendHandler。
    现在的疑问是:在调用NdisMEthIndicateReceiveComplete后,NDIS库是不是应该调用网卡驱动的SendHandler函数向上层驱动转发前面从“WriteFile”传进来的数据?我想搞明白
在调用NdisMEthIndicateReceiveComplete后,系统干什么了?数据是经过一个什么样的过程转发给协议栈的?
NTSTATUS
TapDeviceHook (IN PDEVICE_OBJECT p_DeviceObject, IN PIRP p_IRP)
{     
     ......     
     case IRP_MJ_WRITE     
    {         
         ......         
         NdisMEthIndicateReceive(l_Adapter->m_MiniportAdapterHandle,            
                                 (NDIS_HANDLE) l_Adapter,            
                                 (unsigned char *) &l_Adapter->m_UserToTap,            
                                 sizeof (l_Adapter->m_UserToTap),            
                                 (unsigned char *) p_IRP->AssociatedIrp.SystemBuffer,            
                                 l_IrpSp->Parameters.Write.Length,            
                                 l_IrpSp->Parameters.Write.Length);           
         NdisMEthIndicateReceiveComplete(l_Adapter->m_MiniportAdapterHandle);     
         p_IRP->IoStatus.Status = l_Status = STATUS_SUCCESS;           
         ......     
    }   
}
虚拟网卡已经定义了NIC的SendHandler,但是在NdisMEthIndicateReceiveComplete后,该函数一直没有被调用。求指教。
搜索更多相关主题的帖子: 数据包 Socket 网上邻居 网卡驱动 应用程序 
2013-03-23 12:12
fengwan
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-3-23
得分:0 
...
2013-03-25 14:03
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:20 
这个论坛估计。。。。。。。

DO IT YOURSELF !
2013-03-25 14:14
fengwan
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-3-23
得分:0 
期待学过的朋友指教一下
2013-03-25 16:48
fengwan
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-3-23
得分:0 
问题已经解决。看来需要多看看DDK文档。
2013-04-02 16:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-401665-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.059741 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved