阅读:1176回复:1
MPTransferData的是不是有问题
Passthru中当PtReceive发现 LookAheadBufferSize<PacketSize时,会使用介质相关的NDISMxxxIndicateReceive。这样上层的协议驱动就会调用NdisTransferData,导致MpTransferData被调用。
很奇怪,MpTransferData里面的ByteOffset居然总是20,为什么不是前面PtReceive里的LookAheadBufferSize? 另外,MpTransferData里的Packet里包含的好像根本就不是前面Indicate上去的数据,请看下面DbgPrint输出,提一下NdisQueryPacket是在调用完NdisTransferData后调用的: ===>PtReceive LookAheadBufferSize:200 PacketSize:216 ===>MPTransferData ByteOffset: 20 BytesToTransfer: 196 ByteTransferred: 196 NdisQueryPacket: PacketHeaderSize 0, PhysicalBufferCount 1, BufferCount 1, TotalPacketLength 1500 00 8a 00 8a 00 c4 c7 61 : 11 02 80 2b 0a 0a 8b 15 00000727 4.90562488 00 8a 00 ae 00 00 20 45 : 46 46 43 45 4a 45 44 45 00000728 4.90563242 49 43 41 43 41 43 41 43 : 41 43 41 43 41 43 41 43 00000729 4.90563996 41 43 41 43 41 41 41 00 : 20 46 48 45 50 46 43 45 00000730 4.90564751 4c 45 48 46 43 45 50 46 : 46 46 41 43 41 43 41 43 00000731 4.90565505 41 43 41 43 41 43 41 42 : 4f 00 ff 53 4d 42 25 00 00000732 4.90566175 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000733 4.90566846 00 00 00 00 00 00 00 00 : 00 00 11 00 00 14 00 00 00000734 4.90567516 00 00 00 00 00 00 00 e8 : 03 00 00 00 00 00 00 00 00000735 4.90568215 00 14 00 56 00 03 00 01 : 00 01 00 02 00 25 00 5c 00000736 4.90568969 4d 41 49 4c 53 4c 4f 54 : 5c 42 52 4f 57 53 45 00 00000737 4.90569695 08 01 20 0f 01 10 f9 6c : 0d 00 00 00 00 00 45 52 00000738 4.90570394 49 43 48 00 00 00 00 00 : 01 00 09 09 00 00 00 01 00000739 4.90571092 84 21 16 f2 00 00 00 00 : 00 00 00 00 00 00 00 00 00000740 4.90571735 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000741 4.90572433 00 00 00 00 00 00 00 00 : 50 db b4 81 00 00 00 00 00000742 4.90573159 00 00 00 00 00 00 00 00 : 58 5c cc 81 70 23 16 f2 00000743 4.90573830 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000744 4.90574472 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000745 4.90575115 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000746 4.90575758 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000747 4.90576400 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000748 4.90577071 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000749 4.90577713 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000750 4.90578356 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000751 4.90578998 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000752 4.90579641 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000753 4.90580283 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000754 4.90580926 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000755 4.90581568 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000756 4.90582211 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000757 4.90582853 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000758 4.90583496 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000759 4.90584138 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000760 4.90584781 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000761 4.90585479 00 00 00 00 00 00 00 00 : 00 00 00 00 90 21 16 f2 00000762 4.90586206 00 00 20 01 00 00 07 00 : 00 00 00 00 70 87 ca 81 00000763 4.90586876 70 23 16 f2 00 00 00 00 : 00 00 00 00 00 00 00 00 00000764 4.90587631 51 00 38 12 a8 d6 b1 81 : 48 5e cc 81 00 00 00 00 00000765 4.90588385 84 08 00 00 00 00 00 00 : 98 5c cc 81 98 5c cc 81 00000766 4.90589111 34 00 00 c0 00 00 00 00 : 01 00 09 09 00 00 00 01 00000767 4.90589810 bc 21 16 f2 00 00 00 00 : 00 00 00 00 00 00 00 00 00000768 4.90590452 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000769 4.90591151 00 00 00 00 00 00 00 00 : 50 db b4 81 00 00 00 00 00000770 4.90591877 00 00 00 00 00 00 00 00 : 18 5e cc 81 70 23 16 f2 00000771 4.90592519 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000772 4.90593162 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000773 4.90593805 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000774 4.90594447 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000775 4.90595090 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000776 4.90595732 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000777 4.90596375 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000778 4.90597017 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000779 4.90597660 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000780 4.90598302 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000781 4.90598945 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000782 4.90599587 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000783 4.90600230 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000784 4.90600872 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000785 4.90601515 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000786 4.90602158 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000787 4.90602800 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000788 4.90603443 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000789 4.90604141 00 00 00 00 00 00 00 00 : 00 00 00 00 c8 21 16 f2 00000790 4.90604867 00 00 20 01 00 00 07 00 : 00 00 00 00 70 87 ca 81 00000791 4.90605566 70 23 16 f2 00 00 00 00 : 00 00 00 00 00 00 00 00 00000792 4.90606292 89 00 38 02 49 72 70 20 : 00 87 97 81 00 00 00 00 00000793 4.90607018 04 04 00 00 00 00 00 00 : 58 5e cc 81 58 5e cc 81 00000794 4.90607689 00 00 00 00 00 00 00 00 : 00 00 09 0b 00 00 00 00 00000795 4.90608415 e4 23 16 f2 d4 23 16 f2 : 00 00 00 00 00 00 00 00 00000796 4.90609058 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000797 4.90609756 00 00 00 00 00 00 00 00 : 50 db b4 81 00 00 00 00 00000798 4.90610483 00 00 00 00 00 00 00 00 : 20 60 cc 81 d0 4d e4 81 00000799 4.90611153 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000800 4.90611796 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000801 4.90612438 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000802 4.90613081 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000803 4.90613723 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000804 4.90614366 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000805 4.90615008 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000806 4.90615651 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000807 4.90616293 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000808 4.90616936 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000809 4.90617578 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000810 4.90618221 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000811 4.90618864 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000812 4.90619506 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000813 4.90620149 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000814 4.90620791 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000815 4.90621434 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000816 4.90622076 00 00 00 00 00 00 00 00 : 00 00 00 00 00 00 00 00 00000817 4.90622719 00 00 00 00 00 00 00 00 : 02 00 00 00 00 00 00 00 00000818 4.90623417 00 00 00 00 00 00 00 00 : 00 00 00 00 20 30 f7 81 00000819 4.90623892 00 00 00 00 00 00 00 00 00 00 00 00 <===MPTransferData <===PtReceive |
|
沙发#
发布于:2003-06-29 10:45
在ptreceive中,要NDIStransferdata的字节个数是:
packetsize―lookaheadbuffersize ByteOffset:好象是你的buffer在内存POOL的OFFSER 真正的transferdata字节数是:BytesToTransfer 如果mptransferdata不成功再调用transferdatacomplet |
|
|