阅读:1168回复:3
请教fracker
我在用passthru的时候,用的8139网卡,在加了你的程序后,在
PtReceive运行到 Packet 为空之后 if(PacketSize<=LookAheadBufferSize) { Status=NdisAllocateMemory(&pPacketContent,BUFFER_SIZE,0,HighestAcceptableMax); if(Status!=NDIS_STATUS_SUCCESS) { DbgPrint(\"PTReceive:NdisAllocateMemory Failed\\n\"); return(NDIS_STATUS_NOT_ACCEPTED); } if(pPacketContent==NULL) { DbgPrint(\"PTReceive:pPacketContent==NULL\\n\"); return(NDIS_STATUS_NOT_ACCEPTED); } NdisZeroMemory(pPacketContent,BUFFER_SIZE); NdisMoveMemory(pPacketContent,HeaderBuffer,HeaderBufferSize); NdisMoveMemory(pPacketContent+HeaderBufferSize,LookAheadBuffer,LookAheadBufferSize); PacketLen=PacketSize+HeaderBufferSize; NdisDprAllocatePacket(&Status,&MyPacket,pAdapt->RecvPacketPoolHandle); if(Status==NDIS_STATUS_SUCCESS) { NdisAllocateBuffer(&Status,&pPacketBuffer,pAdapt->RecvPacketPoolHandle,( PVOID ) 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); //if (ProcessPacket(MyPacket)==NDIS_STATUS_NOT_ACCEPTED) //return(NDIS_STATUS_NOT_ACCEPTED); //************************************************************************************* NdisMIndicateReceivePacket(pAdapt->MiniportHandle,&MyPacket,1); NdisIndicateReceivePacket这条函数出错,机器蓝屏了,能指导一下吗? |
|
|
沙发#
发布于:2002-10-10 13:20
哦?你到hook.cpp里面将PacketIndicateHandler有关的hook屏蔽掉了在试试呢?我用空也会去看看的。
|
|
板凳#
发布于:2002-10-10 13:29
我用的是2000下的passthru,修改的是在protocol.c中的PtReceive
在这个工程文件中,没有hook.c啊 |
|
|
地板#
发布于:2002-10-10 13:51
你说用了我的程序,是哪个程序啊?
|
|