zzy918
驱动牛犊
驱动牛犊
  • 注册日期2001-04-26
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1679回复:3

网卡驱动中的网络地址

楼主#
更多 发布于:2002-04-24 23:24
在网卡驱动中我遇到这样两个地址。PERMANENT_ADDRESS: 和
CURRENT_ADDRESS: 不知这两个地址有什么区别?

最新喜欢:

flyfoxflyfox
runsnow
驱动牛犊
驱动牛犊
  • 注册日期2002-03-01
  • 最后登录2002-11-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-04-25 15:30
PERMANENT_ADDRESS: 以太网卡就是mac地址
你可以用NdisRequest跟一下passthru
zzy918
驱动牛犊
驱动牛犊
  • 注册日期2001-04-26
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-04-25 22:07
那CURRENT_ADDRESS代表什么?
HuYuguang
论坛版主
论坛版主
  • 注册日期2001-04-25
  • 最后登录2013-04-29
  • 粉丝3
  • 关注1
  • 积分92分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分1分
  • 专家分0分
地板#
发布于:2002-04-25 23:03
在网卡驱动中我遇到这样两个地址。PERMANENT_ADDRESS: 和
CURRENT_ADDRESS: 不知这两个地址有什么区别?
 



我好长时间不干这个了,凭印象说,错了算我糊涂了。


前一个是物理地址,后一个是MAC地址,或者说工作地址。

你明白吗?网卡自己有一个地址,多半是在EEPROM的,通过
端口或内存MAP可以获得,但是网卡DRIVER使用什么地址全
凭DRIVER自己愿意。因此,网卡DRIVER可以使用任意地址
(当然不能用FFFFFFFF等)。DNIS推荐的方法是DRIVER在
启动的时候去找注册表,如果找到了某处(地址我忘了)
发现用户希望它用另外一个地址,它就毫不犹豫的用了。
某些网卡DRIVER安装之后控制面版中提供这个输入对话框。
DRIVER启动的时候如果发现这个注册表项为空,那么就
用前一个地址做为工作地址。

NDISREQUEST有两个不同的OID可以分别获得这两个地址。
ClassID里面的地址是后一个地址,netbios的方法也是
后一个地址,我目前没有发现不通过直接打开网卡设备
能够获取前一个地址的方法。ddk中有一个sample,叫做
getmacaddr(may,我也忘了),你可以参考,这只是一个
app,所以可以很方便的用于自己的程序。这个sample
也是读后一个地址,但是你只要修改一个oid,就可以
读前一个地址。

本站精华区有我的一篇文章详细描述两者的区别,好像
在一个文章集里面,标题好像是谈网络数据加密。
或者到BBS.WHNET.EDU.CN,SYSINTERNALS版精华区。


不再回忆从前,我已经生活在幸福当中。
游客

返回顶部