floodfoss
驱动牛犊
驱动牛犊
  • 注册日期2012-05-11
  • 最后登录2012-07-11
  • 粉丝1
  • 关注1
  • 积分4分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2080回复:4

虚拟网卡驱动如何实现向应用层传送报文?

楼主#
更多 发布于:2012-05-21 11:51
刚接触NDIS驱动,做了一虚拟网卡驱动,想在应用层通过WriteFile函数向系统模拟接收到报文。
 
应用程序调用:
WriteFile(handle,packetBuff,packetLen);//向驱动写一个报文
 
驱动做法如下:
设定了派遣函数:DispatchTable[IRP_MJ_WRITE] = MyWrite;
NTSTATUS MyWrite(IN PDEVICE_OBJECT pDeviceObject,IN PIRP pIrp)
{
   //想在这个函数中实现将报文提交给系统,类似于网卡从网线收到报文传给应用程序。
 }
 
现在问题有二:
1.如何将packetBuff和packetLen组成一个NDIS_PACKET?
2.如何将组成的这个NDIS_PACKET上送给操作系统,类似于从网线收到报文。
 
望指点,给出方法描述、API名、代码都好,谢谢。
floodfoss
驱动牛犊
驱动牛犊
  • 注册日期2012-05-11
  • 最后登录2012-07-11
  • 粉丝1
  • 关注1
  • 积分4分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2012-05-21 14:56
为什么没人回答?兄弟们,是我的问题没说清楚,还是太小儿科不屑回答?
floodfoss
驱动牛犊
驱动牛犊
  • 注册日期2012-05-11
  • 最后登录2012-07-11
  • 粉丝1
  • 关注1
  • 积分4分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2012-05-24 14:33
没人回答么
IaaIe
驱动牛犊
驱动牛犊
  • 注册日期2009-12-17
  • 最后登录2015-06-10
  • 粉丝2
  • 关注2
  • 积分14分
  • 威望131点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2012-05-24 17:03
  LZ加我QQ谈论下吧,我已经给你发消息了
Tesiro
驱动牛犊
驱动牛犊
  • 注册日期2008-04-18
  • 最后登录2014-04-16
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望387点
  • 贡献值1点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2012-08-15 18:51
NdisAllocatePacket与NdisAllocateBuffer
游客

返回顶部