.X.T.I.M.
驱动大牛
驱动大牛
  • 注册日期2001-09-22
  • 最后登录2021-08-25
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3537回复:15

passthru的说明书!!!

楼主#
更多 发布于:2001-10-15 01:39
1) During DriverEntry, the  Passthru driver  registers as a  protocol and an  Intermediate miniport driver.
1)在DriverEntry(驱动进入点,相当于动态链接库的DllMain)模块,passthru驱动将向系统注册一个protocol(协议)和一个intermedia miniport(中间层微[小]端口)驱动接口,既向上层的TDI(或叫做协议[传输]层)提供miniport接口,向下的真正面对物理连接的网络驱动层miniport层,提供protocol接口(到不如说是提供接口来继承NIC/WAN miniport)。

2) Later on, Ndis calls the  Passthru protocol to  bind to a physical adapter.
2)然后passthru将绑定到一个真正的物理的网卡上!就是过去常说的,在网上邻居的属性里常用的那种绑定。

3) In the  context of  BindAdapterHandler and  after opening of the  underlying physical adapter succeeds, the Passthru driver  queries the  reserved keyword "UpperBindings" to  get a list of  device names for the  virtual adapters that this  particular binding is to  expose.
3)在BindAdapterHandler(绑定一个指向适配器的句柄指针)的关系表的之中,以及成功的打开下层的物理适配器的时候,passthru驱动通过访问保留关键字“UpperBindings”来取得详细的绑定向虚拟适配器的设备名列表。

4) For each  device name, the  Passthru driver calls  NdisIMInitializeDeviceInstance.
4)得到设备名后,passthru驱动将调用NdisIMInitializeDeviceInstance(就是NDIS中间层设备驱动miniport初始化函数),调用来做什么用?当然是设置一个虚拟网络界面卡的I/O操作给已经绑底下层NIC驱动的中间层驱动(IM driver),并返回NDIS_STATUS类型的值通知执行结果。

5) In  response, Ndis will call back Passthru miniport  InitializeHandler entry point.
5)作为回应,NDIS将返回passthru的微端口初始化句柄的函数进入点。

6) After  InitializeHandler successfully returns, ndis will take care of  getting upper-layer protocols to  bind to these newly created virtual adapters.
6)当初始化句柄成功返回的时候,NDIS把上层协议接口绑定到一个虚拟适配器,

7) All requests and sends coming from  upper-layer protocols for the  Passthru miniport driver are  repackaged and  sent down to  ndis, to  be  passed to the  physical adapter.
7)所有来自上层协议接口的请求和发送passthr驱动会把他们从新打包并向下发送到NDIS,使它们能够传送到物理的适配器。

8) All indications coming from  bindings to the physical adapters are  sent up as if  they belong to virtual adapters.
8)所有的来自物理适配器的指示会向上发送到它们能够适用的虚拟适配器。

9) When  Ndis asks  the  Passthru driver to   close the  binding  between a physical adapter and Passthru protocol, the Passthru driver  first calls  NdisIMDeInitializeDeviceInstance for the  virtual adapter representing that   particular binding.
9)当NDIS通知passthru驱动将要关闭一个passthr协议接口与物理适配器之间的绑定的时候,passthru驱动会先调用NdisIMDeInitializeDeviceInstance 给虚拟适配器另一个明确的绑定。

10) Ndis in turn  will  close all the  bindings between  upper-layer protocols  and  virtual Passthru adapter.
10)NDIS关闭的时候也回关闭所有上层协议接口和虚拟适配器之间的绑定。

11) After  all the bindings are closed, Ndis will  call HaltHandler entry point in Passthru driver for the  virtual adapter and  returns back from  NdisIMDeInitializeDeviceInstance.
11)当所有的绑定都已经关闭的时候,NDIS调用passthru的崩溃句柄(HaltHandler)进入点,并从NdisIMDeInitializeDeviceInstance函数中返回。

12) The Passthru protocol then  closes the binding to the  physical adapter and  completes the  unbind request issued in  step 9.
12)passthru 协议关闭物理适配器的绑定,关于完成反绑定请求的方法已经在第9步里发布。

13) To  add Power Management Capabilities
13)添加电源管理兼容性。


13.1 During initialization, the  Passthru miniport should  set the  Attribute 'NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND' during the  miniport initialization.
13.1)初始化的过程中,passthru微端口初始化过程回设置“NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND”属性。

13.2 When the Passthru miniport is  requested to  report its  Plug and Play capabilities (OID_PNP_CAPABILITIES), the Passthru miniport must  pass the  request to the  miniport below the Passthru protocol. If this request succeeds, then the Passthru miniport should  return this buffer with  a status of  NDIS_STATUS_SUCCESS:
13.3)当passthru请求报告它的即插既用兼容性(OID_PNP_CAPABILITIES)的时候,passthru微端口必须通过passthru向下层协议接口传送请求,如果这个请求能成功,passthru将会返回保存NDIS_STATUS_SUCCESS状态的缓存。

NDIS_DEVICE_POWER_STATE  MinMagicPacketWakeUp = NdisDeviceStateUnspecified;
NDIS设备电源状态          唤醒小魔术包                   NDIS设备状态未定义

NDIS_DEVICE_POWER_STATE  MinPatternWakeUp = NdisDeviceStateUnspecified;
NDIS设备电源状态          小型唤醒                      NDIS设备状态未定义

NDIS_DEVICE_POWER_STATE  MinLinkChangeWakeUp = NdisDeviceStateUnspecified
NDIS设备电源状态          小连接唤醒                    NDIS设备状态未定义

If the miniport below the  Passthru protocol fails this  request, then the  status that was  returned should be used to  respond to the original request that was   made to the Passthru miniport.
如果微端口不能成功完成请求,那就返回建立了的passthru微端口的标准请求状态。

13.3 The  OID_PNP_SET_POWER   and   OID_PNP_QUERY_POWER should not be  passed to the  miniport below the Passthru protocol, as those miniports will  receive independent requests from   ndis.
13.3)passthru的协议接口将不会收到OID_PNP_SET_POWER和OID_PNP_QUERY_POWER消息,这些微端口将收到来自NDIS的要求定义/声明的请求。

13.4 When the Passthru is  asked to go to  standby, it should use the  Passthru protocol's PnP Handler to   block all new sends and  requests, and wait for  all outstanding sends and  requests to complete. This should be   done before  returning from the PnP Handler.
13.4)当passthru已经要求转换到待命状态时,passthru协议接口会使用PnP句柄来拦截所有新的发送和请求,并等待所有非待命的发送和请求的完成,这些都会在返回PnP句柄的时候结束。
 

14) To Add  LBFO (Load Balancing & Fail Over)
添加LBFO(装载负载平衡和容错处理)

Goal: To  add load-balancing capabilities to the Passthru driver. TCP/IP should see   only one network card connected to it. This is the  primary miniport. The  second card is the  secondary miniport of this  primary miniport. All receives are  performed by the  primary miniport and  all sends are  done by the secondary miniport. All sends and  related requests are  passed to the  secondary miniport.
目的:为passthru添加了负载平衡兼容性后,TCP/1P堆栈将只能见到一个网卡与它连接,这就是主微端口。第二块网卡变成了主微端口的辅助端口,所有的接收任务由主微端口执行,那么所有的发送任务就将由辅助微端口来完成。所有的发送和释放任务将移交给辅助微端口来完成。

14.1 During  miniport initialization, the  new Passthru miniport searches through the  list of  existing Passthru miniport instantiations to see if a  miniport with the  same bundle identifier exists. If so, it  calls  NdisMSetMiniportSecondary on the two structures. The  already instantiated Passthru miniport is the  primary miniport.
14.1在微端口初始化的时候,passthru微端口会在列表中查找所有存在的passthru微端口初始化并从中得到相同的微端口的绑定声明,如果有,它会分别在两个结构体中分别调用NdisMSetMiniportSecondary(设置辅助微端口)函数,即时完成的passthru微端口是主端口。

14.2 During run time all  sends are  routed to the  secondary miniport, and  all receives are  sent to the   primary miniport.
14.2)在运行的过程中所有的发送任务会被路由到辅助微端口,所有的接收任务发送到主端口。

14.3 All requests, sends, and  receives should be  completed on the  handles that these  actions were   initiated on.
14.3)所有的请求、发送和接收任务将由他们初始化中的句秉来完成。

14.4 All requests should be  passed on to the  miniport below the Passthru miniport that they were   requested on.
14.4)所有的请求会传送给它们所请求的passthru微端口。

Note: There is an  exception to  above rule  : some  requests to the  primary Passthru miniport may be   redirected to the  secondary miniport. In such a  case, when the  request needs to be  completed, it should use the handles present in the  primary miniport's data structure.
注意:这些是违反规则的例外:有一些请求向主passthru主微端口请求有可能会被从定向到辅助微端口,在这个案例中,当一个请求需要被完成的时候,它必须使用主微端口的数据结构来提供句柄。

14.5 The user can  change the  bundle ID at  run time. A  NetEventReconfigure, with the  new bundleID, is  sent to the  Passthru protocol's Protocol PnP Handler when this  happens.
14.5)用户可以在运行当中改变捆绑ID,一个网络事件从配置,将会新建捆绑ID,并会在它发生的时候发送到passthru 协议接口的协议PnP句柄!

14.6 When the Passthru is  reconfigured, it  leaves the  bundle that it is  part of and could  join a  new bundle.   Salient points follow.
14.6)当passthru被从新配置的后,他将离开原先的捆绑并加入到新的捆绑当中!跟着就突出指针??这不知道该怎么翻译~~

14.7 To  activate LBFO, ensure that '#ifdef __LBFO' is  a  valid statement (not commented out) in  Passthru.h. Only when __LBFO is  defined will the Passthru driver  call the NdisMSetMiniportSecondary API.
14.7 要激活LBFO(负载平衡与容错处理),必须确认“ifdef __LBFO”声明在passthru.h中存在(千万别注释掉!!!)!!!只有在__LBFO被定义了,passthru驱动才回调用NdisMSetMiniportSecondary(设置辅助微端口)API。

14.8 The  request handler and the  request complete handler should have  knowledge of the  OIDs that are      redirected so that those  requests will be  completed on the  miniport handles they were  requested on.
14.8)请求句柄和请求完成句柄会确认OIDs已经被从定向,所以这些请求回在他们请求时被完成!


哎~~~好乱啊!!我希望大家能帮这把他整理一下~~我的e-mail是:topdigital@hotmail.com 发一份给我吧!我也会把大家整理后发给我的passthru说明转发给所有参与整理的或要求转发的朋友!!谢谢~~~每人出份力帮助后进啊(好象有点假公济私~~呵呵)!我的QQ:12076827希望能和大家交流!!放心啦!虽然大家都是君子知交淡入水但我决不是那种在QQ上对人爱理不理的人啦!!加我啊!!!!期待交流!!孤军作战太苦闷!!哇~~~2点了!睡觉!明天起不来了!!

最新喜欢:

alenyangalenya... sourensouren
<IMG src="http://www.microsoft.com/traincert/images/logos/mcp.gif" border=0> <IMG src="http://www.microsoft.com/traincert/images/logos/mcdba.gif" border=0><br> <IMG src="http://www.microsoft.com/traincert/images/logos/mcse.gif" border=0> <IMG src="http://www.microsoft.com/traincert/images/logos/mcsd.gif" border=0>
.X.T.I.M.
驱动大牛
驱动大牛
  • 注册日期2001-09-22
  • 最后登录2021-08-25
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-10-15 22:15
里面有许多不完善和错误的地方!斑竹为什么不指正啊???难道偷懒~~~??
<IMG src="http://www.microsoft.com/traincert/images/logos/mcp.gif" border=0> <IMG src="http://www.microsoft.com/traincert/images/logos/mcdba.gif" border=0><br> <IMG src="http://www.microsoft.com/traincert/images/logos/mcse.gif" border=0> <IMG src="http://www.microsoft.com/traincert/images/logos/mcsd.gif" border=0>
HuYuguang
论坛版主
论坛版主
  • 注册日期2001-04-25
  • 最后登录2013-04-29
  • 粉丝3
  • 关注1
  • 积分92分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2001-10-16 09:29
最近在忙转业的事情,哪有时间看这些东西?
而且passthru我从来就没有仔细读过,我哪里
知道你写东西什么地方有错误?
不再回忆从前,我已经生活在幸福当中。
.X.T.I.M.
驱动大牛
驱动大牛
  • 注册日期2001-09-22
  • 最后登录2021-08-25
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-10-16 09:47
终于盼来斑竹的光临!!原来是这样!我看了斑竹的许多帖子,让我大开眼界!所以我非常期待我的问题都能在您有空的时候给个回应,哪怕是好和不好都可以!也很希望能跟你学点东西~~
<IMG src="http://www.microsoft.com/traincert/images/logos/mcp.gif" border=0> <IMG src="http://www.microsoft.com/traincert/images/logos/mcdba.gif" border=0><br> <IMG src="http://www.microsoft.com/traincert/images/logos/mcse.gif" border=0> <IMG src="http://www.microsoft.com/traincert/images/logos/mcsd.gif" border=0>
sirroom
驱动大牛
驱动大牛
  • 注册日期2001-07-30
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望11点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-10-16 15:52
难怪版竹老不回答问题,原来要退伍了。
chat* sigh1
chat* sigh2
chat* sigh3
chat* sigh4


111
sirroom
驱动大牛
驱动大牛
  • 注册日期2001-07-30
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望11点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-10-16 15:56
看来都要开始找工作啦.
10月了,单位就要来了,又要开始写自荐书一类的东东,特ft。
111
.X.T.I.M.
驱动大牛
驱动大牛
  • 注册日期2001-09-22
  • 最后登录2021-08-25
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2001-10-16 16:18
sirroom 在这声明指针想干什么坏事: )
啊??不会是想跳到我们机子的ring0吧?
斑竹转业不是意味着发财???
哇~~~~我看到有“¥$"这种东西向他凶猛的扑去~~~
奇怪的是他竟然不叫救命~~~
<IMG src="http://www.microsoft.com/traincert/images/logos/mcp.gif" border=0> <IMG src="http://www.microsoft.com/traincert/images/logos/mcdba.gif" border=0><br> <IMG src="http://www.microsoft.com/traincert/images/logos/mcse.gif" border=0> <IMG src="http://www.microsoft.com/traincert/images/logos/mcsd.gif" border=0>
jjs
jjs
驱动牛犊
驱动牛犊
  • 注册日期2001-06-12
  • 最后登录2004-06-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2001-10-16 18:25
斑竹满年限了吗?我估计你还没满年限,单位让你走吗?
我给你发了EMAIL,你收到了吗?
HuYuguang
论坛版主
论坛版主
  • 注册日期2001-04-25
  • 最后登录2013-04-29
  • 粉丝3
  • 关注1
  • 积分92分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分1分
  • 专家分0分
8楼#
发布于:2001-10-16 22:09
没有满年限,军队新的政策规定,研究生一律不得转业,
很不幸的是我居然头脑发热到读了研究生(不过我的大多数
东西都是在研究生期间学会的),很幸运的是,我拒绝了
老板让我读博士和留校的要求,没有头脑发热到在国防
科大读博士,虽然我当时对陈火旺老师崇拜的不得了,但还是
忍痛离开了学校。失去了向陈老师学习和在他手下工作的机会。

jjs既然问我这么具体的问题,想必对军队非常了解。谋事在人,
成事在天,军队里但凡老爸不是中将或上将的,我想完全有把握
走人的硕士和博士不会太多,我老爸既不是中将也不是上将,
我当然没有什么把握了。但是努力还是要的,否则怎么能够
对得起当年在桔子洲头一起发下的誓言的兄弟们呢呢?

长沙没有多少好玩的地方,我也是一个不喜欢玩的人,但是我认为
凡去长沙的人,岳麓山可以不去,桔子洲一定要去,最好去的时候
是深秋,站在江边,体会一下当年老毛年轻的时候对天地间发出
的询问“问苍茫大地,谁主沉浮”的豪情,相信一定会让你热血
沸腾,抛弃一切低级趣味的东西的。

我总共只去过桔子洲两次,一次是本科毕业,一次是研究生毕业,
第一次是送战友,第二次是战友送我,都不是在深秋,但是我们
面对漫江碧透的江水,背诵老毛的这首词,真是情不自禁的
指点江山,挥斥方遒。现在想起来,仍然觉得激动不已。

不知道这是不是少年不知愁滋味,为赋新词强说愁,却道天凉
好个秋呢?
不再回忆从前,我已经生活在幸福当中。
jjs
jjs
驱动牛犊
驱动牛犊
  • 注册日期2001-06-12
  • 最后登录2004-06-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2001-10-16 23:09
HUYG:
   研究生转业很困难,没有两三年恐怕很难成功。我想你请个病假,不上班,在外面折腾也可以。我们这有个国防科大研究生用了三年才转业。我想你不会比他顺利。
   军地反差太大了!以至于留不住人,唉!
   我给你发了EMAIL,你收到了吗?有空请回复。
   GOOD LUCKY!
HuYuguang
论坛版主
论坛版主
  • 注册日期2001-04-25
  • 最后登录2013-04-29
  • 粉丝3
  • 关注1
  • 积分92分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分1分
  • 专家分0分
10楼#
发布于:2001-10-17 00:29
which mail?
我最近没有收到关于driver的mail。

你在哪个单位,你们那里有nudter,看来一定也是
军队某个单位了。

我申明一点,我想走人可和待遇无关,实际上,我们
单位的待遇还可以。绝对不比这里的各位开发driver
的朋友们差,我不太清楚这里的各位在公司的兄弟们
月入多少k,不过我觉得和我们单位的实际收入相比
应该差不多,何况还有房子。我估计我走人之后至少
一两年内的收入会下降一点。不过我还不至于等米下
锅。
不再回忆从前,我已经生活在幸福当中。
jjs
jjs
驱动牛犊
驱动牛犊
  • 注册日期2001-06-12
  • 最后登录2004-06-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2001-10-17 19:13
HUYG:
    单位和空一所差不多,不过不是空军。你在几室啊?
    几天前我在这个版里问你EMAIL地址,你回答之后,我就发了个邮件,怎麽回事?地址没错吧?
    空一所实际收入那麽高,我的同学在空一所还叫苦,可气!
.X.T.I.M.
驱动大牛
驱动大牛
  • 注册日期2001-09-22
  • 最后登录2021-08-25
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2001-10-17 21:26
真没想到这里竟是卧虎藏龙之地~~~能向这么多位军方的栋梁请教真是我人生中的一兴!!这时我也觉得有些后悔,你们都是军方的研究所的高才生,我却只是个刚刚毕业的高中生!没听父母的话好好准备考大学,天天沉迷编程,结果到现在没有什么成绩,眼看着自己的同学都马上要大二了~~后悔!不过我相信自己的能力,希望各位大虾能对我多多调教,非常希望能和你们叫朋友!如果你们来海南旅游的话别忘了提前通知我!!我的QQ和E-MAIL上面都有!在QQ里可以给我的手机发短消息!
<IMG src="http://www.microsoft.com/traincert/images/logos/mcp.gif" border=0> <IMG src="http://www.microsoft.com/traincert/images/logos/mcdba.gif" border=0><br> <IMG src="http://www.microsoft.com/traincert/images/logos/mcse.gif" border=0> <IMG src="http://www.microsoft.com/traincert/images/logos/mcsd.gif" border=0>
jjs
jjs
驱动牛犊
驱动牛犊
  • 注册日期2001-06-12
  • 最后登录2004-06-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2001-10-17 23:24
TO TOP:
  HUYG大侠是,我不是。惭愧!
  你还没上大学,就有这样的水平,佩服!
.X.T.I.M.
驱动大牛
驱动大牛
  • 注册日期2001-09-22
  • 最后登录2021-08-25
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2001-10-17 23:43
你们对于我来说都是大虾!斑竹简直是我的偶像~~~太酷了~~我会继续努力的~~
<IMG src="http://www.microsoft.com/traincert/images/logos/mcp.gif" border=0> <IMG src="http://www.microsoft.com/traincert/images/logos/mcdba.gif" border=0><br> <IMG src="http://www.microsoft.com/traincert/images/logos/mcse.gif" border=0> <IMG src="http://www.microsoft.com/traincert/images/logos/mcsd.gif" border=0>
.X.T.I.M.
驱动大牛
驱动大牛
  • 注册日期2001-09-22
  • 最后登录2021-08-25
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2001-10-18 10:59
对了!有没哪位大虾知道winamp3。0里的声波峰值显示器是怎么直接写desktop的背景的??由于是题外话~~所以不敢发表新话题!怕斑竹和各位大虾不高兴!!
<IMG src="http://www.microsoft.com/traincert/images/logos/mcp.gif" border=0> <IMG src="http://www.microsoft.com/traincert/images/logos/mcdba.gif" border=0><br> <IMG src="http://www.microsoft.com/traincert/images/logos/mcse.gif" border=0> <IMG src="http://www.microsoft.com/traincert/images/logos/mcsd.gif" border=0>
游客

返回顶部