阅读:1297回复:2
为什么MPSENDPACKETS中的每个BUFFER中只有IP头,而没有用户传递的数据呢
Hi,老大们,在IMD中的MPSendPackets中,我查询了所有PACKET的所有
BUFFER,发现只有TCPIP头,而没有用户的数据,如果真是这样, 那用户的数据在什么地方可以看得到呢? |
|
沙发#
发布于:2002-07-13 20:27
可能是多buffer的吧。顺着next buffer的指针往下找好了。
|
|
|
板凳#
发布于:2002-07-14 09:10
老大,是呀.我是查询了所有Packet中的所有Buffer.
代码如下: VOID MPSendPackets( IN NDIS_HANDLE MiniportAdapterContext, IN PPNDIS_PACKET PacketArray, IN UINT NumberOfPackets ) for ( i = 0; i < NumberOfPackets; ++i ) { // process the whole array of packets XportPacket = PacketArray[ i ]; // pointer to the packet we are working on // read the xport\'s packet NdisQueryPacket( XportPacket, NULL, NULL, &FirstXportBuffer, &PacketLength ); NextBuffer=FirstXportBuffer; do { vpt=NULL; NdisQueryBuffer(NextBuffer,& vpt,& len); if(vpt!=NULL) { len_=Null; vpt_=Null; GetData(vpt,len,& vpt_,& len_,& ptl); if((vpt_!=Null) && (len_!=Null)) { DbgPrint(\"\\nIn MiniPort Send Packets\\n\"); } } NdisGetNextBuffer(NextBuffer,& NextBuffer); } while(NextBuffer!=Null); 但发现每个Buffer中返回的数据只是TCPIP头部. |
|