NDIS中间层驱动编程,将捕获的数据包保存到Mysql数据库编译问题

hushengqiang 2016-04-05 11:28:35
各位兄弟姐妹,大家好。我现在大四,正在做毕业设计。题目的需求涉及到将计算机某一个网卡上的数据进行拦截并存储到数据库,我看了那本《寒江独钓》,然后把他写的passthru作为模板改了一下(不知道对不对)。然后我又查了一下C语言连接数据库的接口,写了一个insertPacket.c文件(我试了一下,能够往数据库中插入数据)。我将要保存的数据包中的某些字节作为参数从passthru中传到insertPacket.c中。个人觉得写得应该没什么大问题。但是当我利用WDK的build environments进行编译的时候,他可能不认识insertPacket中的很多方法。



着我一看肯定是少了最基本的包啥的,但是我对C不是很了解(我只要学习JAVA,但是C基本语法知道)。我现在不知道该咋整了。求大家帮帮忙,不然我可就毕不了业了。

...全文
146 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hushengqiang 2016-04-13
  • 打赏
  • 举报
回复
已找到解决方案,指望你们就毕不了业了。
lm_whales 2016-04-06
  • 打赏
  • 举报
回复
驱动程序只管接收数据,发送数据就是了 写个exe 调用驱动,把数据写入MYSQL就可以了
hushengqiang 2016-04-06
  • 打赏
  • 举报
回复
我不是很懂,不过照我的理解,应用程序是不能够直接调用底层驱动的吧。他们之间不是透明的吧。
hushengqiang 2016-04-05
  • 打赏
  • 举报
回复
为啥没人出现?
mLee79 2016-04-05
  • 打赏
  • 举报
回复
驱动里调用 mysqlclient ? 有想法, 呵呵... 你还是弄 linux 版本的吧,弄个 用户态下的驱动程序, 你这个还能比较方便的实现... win 下现有的用户态驱动都还不大好用, 要不你先写个...
hushengqiang 2016-04-05
  • 打赏
  • 举报
回复
大家快来帮帮忙啊
hushengqiang 2016-04-05
  • 打赏
  • 举报
回复
我觉得不是语法的问题,我做测试的时候单独在eclipse中编译insertPacket.c是没有问题的,但是把驱动程序和insertPacket.c放到一起在WDK的编译环境下编译就有了问题。我觉得编译驱动程序的编译环境可能没有eclipse编译的那些包什么的。
赵4老师 2016-04-05
  • 打赏
  • 举报
回复
偶遇到类似问题都是用 “每次用/*...*/注释掉不同部分再重新编译,直到定位到具体语法出错的位置。” 的方法解决的。
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 3.3 在微端口驱动程序上实现LBFO 32 3.3.1 初始化微端口束 33 3.3.2 平衡微端口驱动程序的工作量 33 3.3.3 在主微端口失效后提升一个次微端口 34 4 安装网络组件 34 4.1 用于安装网络组件的组件和文件 34 4.2 创建网络INF文件 35 4.2.1 网络INFS文件名的约定 35 4.2.2 网络INF文件的版本节 35 4.2.3 网络INF文件的模型节 36 4.2.4 INF文件的DDInstall节 37 4.2.5 删除节 38 4.2.6 ControlFlags节 39 4.2.7 网络INF文件的add-registry-sections 39

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧