NDIS 开发资料
目 录
表格 1 缩略语表........................................................................................................................3
1 NDIS 中间层驱动程序 ..................................................................................................................3
1.1 NDIS 中间层驱动程序(NDIS Intermediate Drivers)概述 .................................................3
1.2 NDIS 中间层驱动程序的用途 ...........................................................................................4
1.3 NDIS 中间层驱动程序的开发环境 ...................................................................................5
2 NDIS 中间层驱动程序的开发 ......................................................................................................5
2.1 可分页和可丢弃代码.........................................................................................................5
2.2 共享资源的访问同 2.3 步.................................................................................................5
2.4 中间层驱动程序的 DriverEntry 函数 ...............................................................................6
2.4.1 注册 NDIS 中间层驱动程序 ..................................................................................7
2.4.1.1 注册中间层驱动程序的 Miniport ...............................................................7
2.4.1.2 注册中间层驱动程序的协议.......................................................................9
2.5 中间层驱动程序的动态绑定...........................................................................................12
2.5.1 打开中间层驱动程序下层的适配器....................................................................13
2.5.2 微端口(Miniport)初始化.......................................................................................14
2.5.3 中间层驱动程序查询和设置操作........................................................................14
2.5.3.1 发布设置和查询请求.................................................................................15
2.5.3.2 响应设置和查询请求.................................................................................16
2.5.4 作为面向连接客户程序注册中间层驱动程序....................................................16
2.6 中间层驱动程序数据包管理...........................................................................................18
2.6.1.1 重用数据包.................................................................................................20
2.7 中间层驱动程序的限制...................................................................................................20
2.8 中间层驱动程序接收数据...............................................................................................21
2.8.1 下边界面向无连接的中间层驱动程序接收数据................................................21
2.8.1.1 在中间层驱动程序中实现 ProtocolReceivePacket 处理程序 .................22
2.8.1.2 在中间层驱动程序中实现 ProtocolReceive 处理程序 ............................23
2.8.1.3 下边界面向无连接中间层驱动程序接收 OOB 数据信息 ......................23
2.8.2 下边界面向连接的中间层驱动程序接收数据....................................................24
2.8.2.1 在中间层驱动程序中实现 ProtocolCoReceivePacket 处理程序.............24
2.8.2.2 在下边界面向连接的中间层驱动程序中接收 OOB 数据信息 ..............25
2.8.3 向高层驱动程序指 2.8.4 示接收数据包.............................................................25
2.9 通过中间层驱动程序传输数据包...................................................................................25
2.9.1 传递介质相关信息................................................................................................27
2.10 处理中间层驱动程序的 PnP 事件和 PM 事件 ............................................................28
2.10.1 处理 OID_PNP_XXX 查询和设置 ....................................................................28
2.10.2 中间层驱动程序 ProtocolPnPEvent 处理程序的实现 ......................................29
2.10.3 处理规定的电源请求..........................................................................................30
2.10.3.1 睡眠状态的电源设置请求.......................................................................30
评论0