rlb
rlb
驱动牛犊
驱动牛犊
  • 注册日期2001-06-20
  • 最后登录2002-08-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1602回复:2

如何发送自己的数据???

楼主#
更多 发布于:2002-03-12 15:57
想做一个可以发送mac数据的东西,在PtDispatch函数里面发送应用程序下来的数据(完整的链路程数据)。但是总是出错(蓝屏!),下面我把代码给你看看,希望得到大家的指点!谢谢!



NDIS_HANDLE           PoolHandle;
PNDIS_PACKET               pNdisPacket;
PNDIS_BUFFER               pNdisBuffer;
UINT                              PacketLeng;
UCHAR                               WritePacketData[MAX_PACKET_LENGTH];  //Mac包的内容

NdisAllocatePacketPool(  &status,      &PoolHandle,     1,     MAX_PACKET_LENGTH     );
if( status != NDIS_STATUS_SUCCESS )      
{
status = STATUS_INSUFFICIENT_RESOURCES;
DBGPRINT((\"<==NdisAllocatePacketPool  Failed !!!!!!!!!!!!!!! \\n\"));
break;
}

NdisAllocatePacket( &status,  &pNdisPacket,     PoolHandle);
if (status != NDIS_STATUS_SUCCESS)
{
status = STATUS_INSUFFICIENT_RESOURCES;
DBGPRINT((\"<==NdisAllocatePacket Failed!!!!!!!!!!!!!!! \\n\"));
break;
}                  

NdisAllocateBuffer(&status,   &pNdisBuffer,     PoolHandle,      &WritePacketData,   PacketLeng);
if(status!=NDIS_STATUS_SUCCESS )
{
DBGPRINT((\"<==NdisAllocateBuffer Failed !!!!!!!!!!!!!!! \\n\"));
break;
}              
pNdisBuffer->Next = NULL;
NdisChainBufferAtFront(pNdisPacket, pNdisBuffer);

IoMarkIrpPending(Irp);
NdisSend(&status,  pAdaptList->BindingHandle,   pNdisPacket);
if (status != NDIS_STATUS_PENDING)
{     //  The send didn\'t pend so call the completion handler now
PtSendComplete(
pAdaptList->BindingHandle,
pNdisPacket,
status  );
DBGPRINT((\"<==Send Suceed !!!!!!!!!!!!!!! \\n\"));    
}
else{
DBGPRINT((\"<==Send NDIS_STATUS_PENDING !!!!!!!!!!!!!!! \\n\"));
}

break;

最新喜欢:

donkeyyundonkey...
rlb
gjpland
驱动小牛
驱动小牛
  • 注册日期2001-09-13
  • 最后登录2011-03-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-03-12 16:31
of course killed by system.
because WritePacketData is local variable.
move it to global or use ExAllocatePool to dynamic allocate memory instead.
我思故我在,脑袋不会坏.
donkeyyun
驱动牛犊
驱动牛犊
  • 注册日期2003-12-07
  • 最后登录2006-08-07
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-12-10 11:07
rlb,你的这个问题解决了嘛?
我现在也遇到了相似的问题:就是要把应用程序传下来的数据,组成一个arp应答包,传给上层
花落满怀,暗香盈袖,淡淡欢喜淡淡愁。
游客

返回顶部