阅读:1028回复:0
一个比较菜的问题!!
我在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; } |
|