21,600
社区成员
发帖
与我相关
我的任务
分享
//上面的代码我就不贴出来了
NDIS_PACKET_FIRST_NDIS_BUFFER(MyPacket) = NDIS_PACKET_FIRST_NDIS_BUFFER(Packet);
NDIS_PACKET_LAST_NDIS_BUFFER(MyPacket) = NDIS_PACKET_LAST_NDIS_BUFFER(Packet);
PSEND_RSVD SendRsvd;
PNDIS_BUFFER MyBuffer;
NDIS_STATUS status = NULL;
// 分配新的一个Buffer描述符
NdisAllocateBuffer(&status, &MyBuffer, pAdapt->SendPacketPoolHandle,
pPacketContent, TotalPacketLength);
if (NDIS_STATUS_SUCCESS != status)
{
NdisFreeMemory(pPacketContent, 2014, 0);
return FALSE;
}
// 把新的包描述符存放到新的包描述符中的MiniportReserved中去
SendRsvd = (PSEND_RSVD)(MyPacket->MiniportReserved);
SendRsvd->OriginalPkt = MyPacket;
NdisChainBufferAtFront(MyPacket, MyBuffer);