目 录
1
NDIS中间层驱动程序..................................................................................................................................2
1.1
NDIS 中间层驱动程序(NDIS Intermediate Drivers)概述.......................................................2
1.2
NDIS 中间层驱动程序的用途...................................................................................................4
1.3
NDIS 中间层驱动程序的开发环境 ..........................................................................................4
2
NDIS 中间层驱动程序的开发....................................................................................................................4
2.1
可分页和可丢弃代码.................................................................................................................4
2.2
共享资源的访问同步.................................................................................................................5
2.3
中间层驱动程序的 DriverEntry函数.......................................................................................5
2.3.1
注册 NDIS 中间层驱动程序.............................................................................................6
2.3.1.1
注册中间层驱动程序的 Miniport............................................................................6
2.3.1.2
注册中间层驱动程序的协议 ...................................................................................8
2.4
中间层驱动程序的动态绑定...................................................................................................11
2.4.1
打开中间层驱动程序下层的适配器..............................................................................12
2.4.2
微端口(Miniport)初始化 .................................................................................................12
2.4.3
中间层驱动程序查询和设置操作..................................................................................13
2.4.3.1
发布设置和查询请求..............................................................................................14
2.4.3.2
响应设置和查询请求..............................................................................................15
2.4.4
作为面向连接客户程序注册中间层驱动程序.............................................................15
2.5
中间层驱动程序数据包管理...................................................................................................17
2.5.1.1
重用数据包 ..............................................................................................................18
2.6
中间层驱动程序的限制...........................................................................................................19
2.7
中间层驱动程序接收数据.......................................................................................................19
2.7.1
下边界面向无连接的中间层驱动程序接收数据.........................................................19
2.7.1.1
在中间层驱动程序中实现 ProtocolReceivePacket处理程序 ............................20
2.7.1.2
在中间层驱动程序中实现 ProtocolReceive 处理程序 .......................................21
2.7.1.3
下边界面向无连接中间层驱动程序接收 OOB 数据信息.................................22
2.7.2
下边界面向连接的中间层驱动程序接收数据.............................................................22
2.7.2.1
在中间层驱动程序中实现 ProtocolCoReceivePacket 处理程序 .......................23
2.7.2.2
在下边界面向连接的中间层驱动程序中接收 OOB 数据信息.........................23
2.7.3
向高层驱动程序指示接收数据包..................................................................................23
2.8
通过中间层驱动程序传输数据包 ..........................................................................................23
2.8.1
传递介质相关信息...........................................................................................................25
2.9
处理中间层驱动程序的 PnP 事件和 PM 事件......................................................................26
2.9.1
处理 OID_PNP_XXX 查询和设置.................................................................................26
2.9.2
中间层驱动程序 ProtocolPnPEvent处理程序的实现.................................................27
2.9.3
处理规定的电源请求.......................................................................................................28
2.9.3.1
睡眠状态的电源设置请求 .....................................................................................28
2.9.3.2
工作状态的电源设置请求 .....................................................................................29
2.10
中间层驱动程序复位操作.......................................................................................................29
2.11
中间层驱动程序拆除绑定操作...............................................................................................30
2.12
中间层驱动程序状态指示.......................................................................................................31
3
负载平衡和失效替换.................................................................................................................................31
3.1
关于 LBFO.................................................................................................................................31
3.2
指定对 LBFO 的支持...............................................................................................................32
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.