高工在线首页   免费注册 |  登录 
       

高工在线首页 高工论坛 工程软件 在PTreceivePacket中不知为何老是蓝屏的代码....

楼主:ay19880703
在PTreceivePacket中不知为何老是蓝屏的代码....
xpassthru里面的例子 我就在PTreceivePacket掉了这个函数把MYPACKET传了进来

VOID PacketAnlysis(
IN PNDIS_PACKET packet
)
{
NDIS_STATUS status ;
UINT TotalPacketLength = 0 , copysize = 0 , i = 0 ;
PUCHAR mybuffer = NULL ,tembuffer = NULL ;
MDL * pmdl ;

NdisQueryPacket(packet
, NULL
, NULL
, NULL
, &TotalPacketLength
);

status = NdisAllocateMemoryWithTag( &mybuffer, 2048, TAG);

ASSERT( status == NDIS_STATUS_SUCCESS ) ;

NdisZeroMemory( &mybuffer, 2048 );

NdisQueryBufferSafe(
packet->Private.Head,
&tembuffer,
©size,
NormalPagePriority
);

NdisMoveMemory(mybuffer, tembuffer, copysize) ;

i = copysize ;

pmdl = packet->Private.Head ;

while(1)
{
if(pmdl->Next == packet->Private.Tail )
break ;

pmdl = pmdl->Next ;

if(pmdl == NULL )
break ;

NdisQueryBufferSafe(
pmdl,
&tembuffer,
©size,
NormalPagePriority
) ;

NdisMoveMemory(mybuffer + i, tembuffer, copysize) ;

i += copysize ;

}

//数据拷贝完毕,开始分析数据




DbgPrint("The data:%u",mybuffer) ;


//释放内存
NdisFreeMemory(mybuffer , 2048 , 0) ;
}

相关热贴:

 

2008-08-07 01:06:51

  顶部
 
 
标 题:
内 容:
验证码:     看不清?换一个 *
用户名: 匿名  提示:匿名发表将不享受高工在线论坛提供的积分奖励。
    

关于高工在线 | 广告服务| 使用条款 | 网站提交 | 推荐给好友 | 友情链接
© 2008 Gaogong123.com 高工在线-工程搜索引擎,保留所有权利