beckhamwu
驱动牛犊
驱动牛犊
  • 注册日期2003-04-09
  • 最后登录2003-08-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1166回复:3

又是关于ptreceive的问题

楼主#
更多 发布于:2003-05-20 14:25
我在ptreceive的开头部分加入了以下一段代码,想把目的MAC地址通过DbgPrint显示出来,但是通过dbgview发现显示出来的不是网卡的MAC地址,我的两台机子是通过网卡连接起来的并设置了ADSL Internet 连接共享。请问是什么原因啊?  
   HighestAcceptableAddress.LowPart = -1;
        HighestAcceptableAddress.HighPart = -1;

        Status = NdisAllocateMemory(&pPacketContent, 14, 0, HighestAcceptableAddress);
       if (Status!=NDIS_STATUS_SUCCESS)
       {
         DbgPrint(\"allocate failure!\\n\");
         return NDIS_STATUS_NOT_ACCEPTED;
       }
        
       if(pPacketContent == NULL)
       {
         DbgPrint(\"prreceive:pPacketContent == NULL\\n\");
         return NDIS_STATUS_NOT_ACCEPTED;
       }

   NdisZeroMemory(pPacketContent, HeaderBufferSize);
NdisMoveMemory(pPacketContent,HeaderBuffer,HeaderBufferSize);  
       p=(EPACKET*)pPacketContent;
      
         DbgPrint(\"MAC:%u\\n\",p->targ_hw_addr);
         NdisFreeMemory(pPacketContent,HeaderBufferSize,0);

beckhamwu
驱动牛犊
驱动牛犊
  • 注册日期2003-04-09
  • 最后登录2003-08-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-05-20 17:12
请大家帮帮我啊!
headerbuffer的14个字节中的前12个字节应该就是原和目的MAC地址
啊,那为什么我强制类型转换后显示出来的与实际的MAC地址不符呢?
Zhou533
驱动牛犊
驱动牛犊
  • 注册日期2003-03-22
  • 最后登录2003-06-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-05-21 08:12
这是我的方法

在Passthru.h里定义

/*――――――――――――――――――――――――――――――――――――――
EtherHead结构
*/
typedef struct _EtherHead
{
// Ethernet
UCHAR  DestEther[6]; // 目的地址,6字节。
UCHAR  SourEther[6]; // 源地址,6字节。
USHORT ServType;
} *pEtherHead;

再在PtReceive里加入
pEtherHead pEthHead=(pEtherHead)HeaderBuffer;

DbgPrint(\" DestEther:\\n\");
for(i=0;i<6;i++)
{
DbgPrint(\" %d\\n\",(pEthHead->DestEther));
}
DbgPrint(\" SourEther:\\n\");
for(i=0;i<4;i++)
{
DbgPrint(\" %d\\n\",(pEthHead->SourEther));
}

你试一下行不行?

[编辑 -  5/21/03 by  Zhou533]
Everthing I Do,I Do it for you !
sdssly
驱动牛犊
驱动牛犊
  • 注册日期2003-03-04
  • 最后登录2016-01-09
  • 粉丝2
  • 关注0
  • 积分344分
  • 威望47点
  • 贡献值0点
  • 好评度34点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-05-22 09:15
你可以先dbgprint HeaderBuffer的内容看看。可能是你的类型转换有问题!
游客

返回顶部