没有合适的资源?快使用搜索试试~ 我知道了~
NDIS 开发指南 中间层驱动程序防火墙开发手册
5星 · 超过95%的资源 需积分: 9 31 下载量 31 浏览量
2011-06-18
12:36:35
上传
评论 1
收藏 483KB DOC 举报
温馨提示
试读
64页
1 NDIS中间层驱动程序 2 NDIS中间层驱动程序的开发 3 负载平衡和失效替换 4 安装网络组件
资源推荐
资源详情
资源评论
目 录
1 NDIS 中间层驱动程序..........................................................................................................................5
1.1 NDIS 中间层驱动程序(NDIS INTERMEDIATE DRIVERS)概述.......................................................5
1.2 1.2 NDIS 中间层驱动程序的用途.................................................................................................7
1.3 1.3 NDIS 中间层驱动程序的开发环境.........................................................................................7
2 NDIS 中间层驱动程序的开发..............................................................................................................8
2.1 可分页和可丢弃代码.....................................................................................................................8
2.2 共享资源的访问同步.....................................................................................................................8
2.3 中间层驱动程序的 DRIVERENTRY 函数........................................................................................9
2.3.1
注册
NDIS
中间层驱动程序
..................................................................................................10
2.3.1.1
注册中间层驱动程序的
Miniport.......................................................................................11
2.3.1.2
注册中间层驱动程序的协议
.............................................................................................14
注册下边界面向无连接的中间层驱动程序的
ProtocolXxx
函数
................................................15
注册下边界面向连接的中间层驱动程序的
ProtocolXxx
函数
....................................................18
2.4 中间层驱动程序的动态绑定.......................................................................................................19
2.4.1
打开中间层驱动程序下层的适配器
....................................................................................20
2.4.2
微端口
(Miniport)
初始化
.......................................................................................................22
2.4.3
中间层驱动程序查询和设置操作
........................................................................................24
2.4.3.1
发布设置和查询请求
.........................................................................................................24
2.4.3.2
响应设置和查询请求
.........................................................................................................26
2.4.4
作为面向连接客户程序注册中间层驱动程序
....................................................................26
2.5 中间层驱动程序数据包管理.......................................................................................................29
2.5.1
重用数据包
............................................................................................................................33
2.6 中间层驱动程序的限制...............................................................................................................33
2.7 中间层驱动程序接收数据...........................................................................................................34
2.7.1
下边界面向无连接的中间层驱动程序接收数据
................................................................35
2.7.1.1
在中间层驱动程序中实现
ProtocolReceivePacket
处理程序
..........................................36
2.7.1.2
在中间层驱动程序中实现
ProtocolReceive
处理程序
.....................................................38
2.7.1.3
下边界面向无连接中间层驱动程序接收
OOB
数据信息
...............................................39
2.7.2
下边界面向连接的中间层驱动程序接收数据
....................................................................39
2.7.2.1
在中间层驱动程序中实现
ProtocolCoReceivePacket
处理程序
......................................40
2.7.2.2
在下边界面向连接的中间层驱动程序中接收
OOB
数据信息
.......................................41
2.7.3
向高层驱动程序指
2.8.4
示接收数据包
..............................................................................42
2.8 通过中间层驱动程序传输数据包...............................................................................................42
2.9 处理中间层驱动程序的 PNP 事件和 PM 事件............................................................................47
2.9.1
处理
OID_PNP_XXX
查询和设置
.........................................................................................47
2.9.2
中间层驱动程序
ProtocolPnPEvent
处理程序的实现
.........................................................49
2.9.3
处理规定的电源请求
............................................................................................................50
2.9.3.1
睡眠状态的电源设置请求
.................................................................................................51
2.9.3.2
工作状态的电源设置请求
.................................................................................................51
2.10 中间层驱动程序复位操作.........................................................................................................52
2.11 中间层驱动程序拆除绑定操作..................................................................................................54
2.12 中间层驱动程序状态指示.........................................................................................................55
3 负载平衡和失效替换...........................................................................................................................56
3.1 关于 LBFO....................................................................................................................................57
3.2 3.2 指.............................................................................................................................................58
3.3 指定对 LBFO 的支持....................................................................................................................58
3.4 在微端口驱动程序上实现 LBFO................................................................................................59
3.4.1
初始化微端口束
....................................................................................................................59
3.4.2
平衡微端口驱动程序的工作量
............................................................................................60
3.4.3
在主微端口失效后提升一个次微端口
................................................................................60
4 安装网络组件.......................................................................................................................................61
4.1 用于安装网络组件的组件和文件...............................................................................................61
4.2 创建网络 INF 文件.......................................................................................................................62
4.2.1
网络
INFS
文件名的约定
......................................................................................................63
4.2.2
网络
INF
文件的版本节
........................................................................................................63
4.2.3
网络
INF
文件的模型节
........................................................................................................65
4.2.4 INF
文件的
DDInstall
节
.......................................................................................................65
4.2.5
删除节
....................................................................................................................................68
4.2.6 ControlFlags
节
......................................................................................................................68
4.2.7
网络
INF
文件的
add-registry-sections..................................................................................69
1.2.7.1
设置静态参数
.....................................................................................................................70
1.2.7.2
为
WAN
适配器说明
WAN
端点
..........................................................................................71
1.2.7.3
为
ISDN
适配器说明
ISDN
键和值
....................................................................................71
1.2.7.4
安装多协议
WAN NICs.......................................................................................................74
1.2.7.5
请求安装另一个网络组件
.................................................................................................75
1.2.7.6
说明
NetCLient
组件的名字和提供者
...............................................................................76
1.2.7.7
增加
HelpText
值
..................................................................................................................77
1.2.7.8
为通知对象增加注册值
.....................................................................................................77
1.2.7.9
向
Ndi
键增加服务相关值
..................................................................................................78
1.2.7.10
说明绑定接口
...................................................................................................................79
1.2.7.11
为高级属性页说明配置参数
............................................................................................81
1.2.7.12
为网络适配器说明定制属性页
.......................................................................................82
1.2.7.13
说明过滤器服务值
...........................................................................................................83
1.2.7.14
说明束成员关系
...............................................................................................................84
1.2.8 DDInstall.Service
节
...............................................................................................................85
1.2.9 NetworkProrider
和
PrintProvider
节
....................................................................................86
1.2.9.1
包含一个
NetworkProvider
节
............................................................................................86
1.2.9.2
包括一个
PrintProvider
节
.................................................................................................87
1.2.10 Winsock
节
............................................................................................................................88
1.2.11
网络组件安装需求总结
.......................................................................................................89
1.2.11.1
网络适配器的安装需求
....................................................................................................90
1.2.11.2
网络协议安装要求
............................................................................................................91
1.2.11.3
中间层网络驱动程序的安装需求
....................................................................................92
1.2.11.4
网络过滤器驱动程序的安装需求
....................................................................................93
1.2.11.5
网络客户的安装需求
........................................................................................................95
1.2.11.6
网络服务的安装请求
........................................................................................................96
表格 1 缩略语表
项目 英文描述 中文描述
NDIS Network Driver Interface Specification
网络驱动程序接口标准
IMD Intermediate Drivers
中间层驱动
TDI Transport driver Interface
传输驱动程序接口
NIC Network Interface Card
网络接口卡
SP Service Pack
服务包
LAN Local Area Network
局域网
LAN-E LAN Emulation
局域网仿真
NAT Network Address Translation
网络地址转换
LBFO Load Balancing And Fail-Over
负载平衡和失效替换
DDK Device Drivers Kit
设备驱动程序开发包
SMP Symmetry Multiprocessing
对称多处理
OS Operating System
操作系统
IDE Integrated Development Environment
集成开发环境
1 NDIS 中间层驱动程序
1.1 NDIS 中间层驱动程序(NDIS Intermediate Drivers)
概述
微软 Windows 网络驱动程序接口标准(NDIS 4.0)和 Windows NT 4.0(SP3)引入了
一种新的 NDIS 驱动程序,它可以嵌在 NDIS 传输驱动程序 TDI(如,TCP/IP)和底层的
NDIS 网络接口驱动程序的中间。这种新类型的驱动程序被称为 NDIS 中间层驱动,如图表
1。NDIS(网络驱动器接口标准)中间层驱动程序在其上边界导出 MiniportXxx 函数,在其
下边界导出 ProtocalXxx 函数。该驱动程序在其上边界仅提供面向无连接通信支持,而在其
下边界,则即可支持面向无连接通信,也可支持面向连接通信。
中间层驱动程序的微端口部分(上边界)必须是非串行的,系统将依赖这些非串行
驱动程序,而不是 NDIS 对 MiniportXxx 函数的操作进行串行化处理和对内部生成的输出包
进行排队操作,这样驱动程序只要保持很小的临界区(每次只能有一个线程执行该代码)
就能提供性能良好的全双工操作。但是这些非串行 Miniport 要受到更多也更严格的设计要
求的限制,往往要为此付出更多的调试和测试时间。
中间层驱动程序是一种典型的层次结构程序,它基于一个或多个 NDIS NIC 驱动程序,
其上层是一个向上层提供 TDI(传输驱动程序接口)支持的传输驱动程序(也可能是多层
结构)。从理论上讲,一个中间层驱动程序也可以是基于其他中间层驱动程序或作为其他
中间层驱动程序的低层出现的,尽管这种方案未必能展现更好的性能。
中间层驱动程序的一个示例是 LAN 仿真中间层驱动程序,其上层是一个早期传输驱
动程序,下层是一个非 LAN 介质的微端口 NIC 驱动程序。该驱动程序从上层接收 LAN 格
式的数据包并将其转换为本地网卡的介质格式,然后将其发送到那个 NIC 的 NDIS 微端口。
接收数据时,该驱动程序将低层网卡驱动程序送来的数据包转换为 LAN 兼容格式,最后向
剩余63页未读,继续阅读
资源评论
- zhangyanle01212012-11-30有点复杂 表示看不懂啊
- tj2746227012014-06-17正在学习中。。。。
- 百世经纶一页书2012-12-10涉及到底层驱动了!我是学C#的,这代码还真看不懂!
- hlm_872013-01-25对于想学习api的,是不错的文档。
- aresyh2014-11-05有一定参考价值
shaojun2200
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功