没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
目 录
1. 驱动开发
1.1 基于PassThru的NDIS中间层驱动程序扩展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 基于PassThru的NDIS中间层驱动程序扩展(续) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
1.3 WinDBG+VMware=调试内核 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.4 Windbg和Vmware配置调试驱动程序(Vista) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
1.5 VirtialWiFi在Vista下编译问题小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.6 驱动设计-INF文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.7 无线网络管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
1.8 关于IHV service的安装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
1.9 关于DebugView无法打印出DbgPrint信息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
1.10 Sample Ping Packet Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
1.11 Header Drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
1.12 拷贝MDL中数据到缓冲区 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
1.13 MDL中数据读取 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
1.14 IEEE 802.1Q中的数据读取 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
1.15 GetLastError()为0x5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
1.16 IOCTL_NDIS_QUERY_GLOBAL_STATS的使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75
1.17 驱动开发教程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
1.18 VMware+Windgb+Win7内核驱动调试 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
1.19 Vmware+Windbg调试示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
第 2 / 212 页
1.20 Filter发送OID请求[解决蓝屏] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
1.21 关于_asm int 3运用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
1.22 关于Win7 Native WiFi的一点疑惑【成功创建一个MAC】 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98
1.23 WDK中提示的Warning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105
1.24 驱动开发资料汇总 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107
1.25 使用BAT文件编译驱动 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112
1.26 FilterAttach中分配NetBufferListPool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113
1.27 DRIVER_CORRUPTED_EXPOOL bug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115
1.28 中断请求级 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117
1.29 基于NDIS Filter 抓包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123
1.30 大数据是否需要封装在多个MDL中发送 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128
1.31 如何区分不同的Filter Module Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130
1.32 InsertHeadList和CONTAINING_RECORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131
1.33 疑问:为何无线网卡无法发送数据? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133
1.34 疑问:数据包Length增大的原因 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137
1.35 在驱动中使用链表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138
1.36 使用DeviceIoControl通信 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141
1.37 纵横捭阖C++之从异步谈起 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146
1.38 Windows系统编程之异步I/O和完成端口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149
1.39 驱动和应用层的异步通信 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160
1.40 关于DeviceIoControl实现异步的笔记【1】 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166
1.41 关于DeviceIoControl实现异步的笔记【2】 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173
第 3 / 212 页
1.42 Windows NT 驱动程序开发人员提示 -- 应注意避免的事项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180
1.43 疑问:关于内存释放 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183
1.44 WDK+Visual Studio 2008配置编译驱动 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185
1.45 DebugPrint 格式说明符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188
1.46 Filter发送自定义数据详解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191
1.47 如何在内核中获得当前系统时间 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197
1.48 在Filter驱动内核中获取IP地址 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .199
1.49 Ndis过滤驱动:拷贝NetBufferList数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204
1.50 Filter驱动:过滤(修改)接受数据包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .209
第 4 / 212 页
1.1 基于PassThru的NDIS中间层驱动程序扩展
发表时间: 2009-07-21
概要:开发一个NDIS驱动是一项相对复杂的工作,这一方面是由于核心驱动本身有更多的限制和要求,有更多
的“游戏规则”要求开发者理解和掌握,NDIS 的复杂性把难度更是提高了,本文以PassThru为例,加上自己
的理解,讲述了NDIS驱动的处理过程和在PassThru的基础上进行扩展的基本方 法,本文并不是一个入门读
物,所以没有提及任何核心驱动开发的相关知识,本文主要讲述的是NDIS中间层对数据包处理的流程。在阅读
过程中,关于相关 API的用法,或其它信息,请参看DDK文档。
一 NDIS驱动程序分类.
NDIS(Network Driver Interface Specification)是Windows网络驱动程序接口标准,NDIS驱动程序分为三
类:
1. NDIS Miniport NIC Driver: 底层的微端口NIC驱动,这就是网络设备的物理的驱动程序了。
2. NDIS Protocol Driver: 高层的协议驱动,用来实现某个具体的协议栈,如TCP/IP协议栈,
并向上导出TDI接口。
3. NDIS Intermediate Driver: 中间层驱动,位于Miniport Driver和Protocol Driver之间。
二 NDIS驱动结构简介.
http://yexin218.javaeye.com
1.1 基于PassThru的NDIS中间层驱动程序扩展
第 5 / 212 页
剩余211页未读,继续阅读
资源评论
- xxxxboy2017-02-08写的很好,深入浅出,感谢分享!
- lixivip32017-10-01还是不错的。。。~~~
- i199352017-10-18忘了放哪了
- fengjixuchui_1234562018-03-30忘了放哪了
- classfree2014-05-21非常不错的东西,NDIS6的资料太少,特别是中文的。
「已注销」
- 粉丝: 10
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功