banana
驱动牛犊
驱动牛犊
  • 注册日期2001-07-28
  • 最后登录2001-12-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1550回复:2

落后者加油!望各大虾帮忙!!

楼主#
更多 发布于:2001-09-29 13:27
小弟对NTDDK的PACKET程序有点疑惑:

PacketReceiveIndicate函数(挂接ReceiveHandler);
PacketReceivePacket函数(挂接ReceivePacketHandler)。
这两个函数中需要处理的功能有什么不同?
小弟主要是不懂既然用 NdisTransferData()函数把PACKET传入
用  NdisMoveMappedMemory和IoAllocateMdl、IoBuildPartialMdl把Irp中的MEM转化的MDL中,为什么在PacketReceivePacket中又用NdisCopyFromPacketToPacket把PACKET又拷贝一次?
小弟不懂!
趁着这奈何天,伤怀日,寂寥时,试谴愚衷!
xjtugyh
驱动牛犊
驱动牛犊
  • 注册日期2001-08-27
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-09-29 15:33
ReceiveHandler
This is a required function. ProtocolReceive is called with a pointer to a lookahead buffer. If this buffer contains less than the full, received network packet, ProtocolReceive calls NdisTransferData with a protocol-allocated packet descriptor specifying protocol-allocated buffer(s) to obtain the remainder of the received packet.

ReceivePacketHandler
This is an optional function. A ProtocolReceivePacket function should be provided if the protocol driver might be bound to a NIC driver that indicates an array of one or more packets by calling NdisMIndicateReceivePacket
以上是ddk文档的原文,
第二个函数只是在NICdriver管理一个总线dma适配器或者支持带外数据时被ndis调用
banana
驱动牛犊
驱动牛犊
  • 注册日期2001-07-28
  • 最后登录2001-12-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-09-30 14:06
谢谢楼上那位大兄!!令小弟茅塞顿开!
其实小弟也看了DDK文档,只是总觉得不塌实。谢谢!!
趁着这奈何天,伤怀日,寂寥时,试谴愚衷!
游客

返回顶部