How to modify context of packet in Ndis?
System Admin
1
Posts
1
Posters
1
Views
1
Watching
-
Ndis->passthru is a sample in WDK, passthru can get packet data by MPSendPackets()
NdisQueryPacket( pPacket,NULL,NULL,NULL,&PacketSize);
NdisAllocateMemory( &pPacketContent, 2000, 0,HighestAcceptableMax);
NdisQueryBufferSafe(pPacket->Private.Head, &pBuf, &BufLength, 32 );
i = BufLength;
pNext = pPacket->Private.Head;
for(;;)
{
if(pNext == pPacket->Private.Tail)
break;
pNext = pNext->Next;if(pNext == NULL) break; NdisQueryBufferSafe(pNext,&pBuf,&BufLength,32); NdisMoveMemory(pPacketContent+i,pBuf,BufLength); i+=BufLength;
}
DBGPRINT(("(char*)&pPacketContent[54] : %s \n",(char *)&pPacketContent[54]));
I want to modify data of pPacketContent[55], and remake the packet. Can anyone give me a sample? Thanks!