zgc7622
驱动小牛
驱动小牛
  • 注册日期2003-02-24
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分136分
  • 威望15点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
阅读:1030回复:0

一个比较菜的问题!!

楼主#
更多 发布于:2004-11-17 11:29
我在PtReceive函数中得到了一个了一个以太桢,并将他进行了修改,我想将修改后的以太桢发送出去。使用下面的方法能发吗??
PUCHAR pPacketContent;
.......
// 在包池中分配包描述符
NdisDprAllocatePacket(&Status, &MyPacket, pAdapt->RecvPacketPoolHandle);
if(Status == NDIS_STATUS_SUCCESS)
{
// 在缓冲池中分配缓冲描述符,将包描述符与缓冲描述符关联。
NdisAllocateBuffer(&Status, &pPacketBuffer, pAdapt->RecvBufferPoolHandle, pPacketContent, PacketLen);
NdisChainBufferAtFront(MyPacket, pPacketBuffer);
MyPacket->Private.Head->Next = NULL;
MyPacket->Private.Tail = NULL;
Rsvd=(PRSVD)(MyPacket->MiniportReserved);
Rsvd->OriginalPkt = NULL;
NDIS_SET_PACKET_HEADER_SIZE(MyPacket, HeaderBufferSize);
NdisSend(&Status,pAdapt->BindingHandle,MyPacket);
if (Status!=NDIS_STATUS_PENDING)
{
DbgPrint("Status!=NDIS_STATUS_PENDING");
NdisUnchainBufferAtFront(SendPacket,&FirstBuffer);
NdisQueryBufferSafe(FirstBuffer,&virtualaddress,&virtuallength,32);
NdisFreeBuffer(FirstBuffer);
NdisIMCopySendCompletePerPacketInfo(SendTempPacket,SendPacket);
NdisFreePacket(SendPacket);
//break;
}

游客

返回顶部