阅读:2458回复:20
兄弟姐妹们,进来看看啊,,呵呵
各位有经验的老大们,,帮忙看看这东东该如何处理。。。
有一个硬件吧,支持两个功能,现在买了人家的驱动(没有源码), 但是这个驱动只是支持一种功能,现在我想把令一个功能通过写一个 驱动也实现了,,不知道该怎么弄更 好些,,呵呵,, 也想过写一个filter driver,但是觉得不太可行的,,因为要 实现这个功能,驱动里要涉及专门的硬件配置问题,而且有些是 与那个功能相关的(比如说有些资源是实现这两中功能时候共享),,现在是不知道那个驱动中 的具体资源配置哦,,所以觉得很郁闷啊。。 如果从头写一个完整的支持两个功能的驱动,,又觉得没有那必要的,, 该怎么做最合适那??。。希望大侠们赐教,,呵呵。。 先谢谢了,, :cool: |
|
|
沙发#
发布于:2005-05-03 12:28
做个 lower filter driver,可以控制底层,不过资源共享的同步问题不好解决
|
|
|
板凳#
发布于:2005-05-03 18:18
做个 lower filter driver,可以控制底层,不过资源共享的同步问题不好解决 先谢谢bmyyyud老友的回复,,呵呵 我觉得filter driver一般就是处理IRP或者IRP参数的,它很少处理 与硬件相关的部分,,也就是说吧在filter driver的startdevice分发历程中可否配置硬件(现在刚看filter driver,不是很了解这样做可行吗,,呵呵) 还有就是要实现那个功能吧,,还要涉及到中断的处理,在filter driver中可以有ISR吗?。。不是很清楚了,, |
|
|
地板#
发布于:2005-05-03 21:47
使用Filter得到硬件配置处理好IRP_MJ_PNP应该差不多了 但要共享原来的中断过程,并嵌入自己的代码就很麻烦了 最好还是直接做个功能驱动。 Filter一般可以修改IRP等,但你的要求恐怕不能胜任 |
|
|
地下室#
发布于:2005-05-03 22:08
[quote] 使用Filter得到硬件配置处理好IRP_MJ_PNP应该差不多了 但要共享原来的中断过程,并嵌入自己的代码就很麻烦了 最好还是直接做个功能驱动。 Filter一般可以修改IRP等,但你的要求恐怕不能胜任 [/quote] 我觉得这么弄也是不太可行啊,,呵呵,,Allenzh大侠的意思是单独写一个功能驱动(完成所要求的附加功能),,还是整个的都重写啊?。。要都重写的话,,岂不是原来的那些DLL与sys文件都用不上了,,要是只写附加功能的功能驱动的话,,那样考虑的问题就很多了吧。。 |
|
|
5楼#
发布于:2005-05-05 20:00
:P
aiwadgj : 你到底是男是女啊,什么时候 aiwadgj AllenZh aiwadgj bmyyyud 向你们这样的迷一样的人物把你们的传记都发表发表 激励一下我们,也让我们崇拜一下 !!! |
|
|
6楼#
发布于:2005-05-05 21:29
:P 兄弟言重了,,,呵呵,,,我很垃圾的,,其实我也刚学不长时间的,,呵呵。。 AllenZh,bmyyyud,猫王,snowstart,tiamo等等了,,好多那,,他们才是真正的高手了,,我最多算个跑堂的,,呵呵。。 这个坛子却是不错的,,常来看看,,能学到不少的东西,,其实我也是自学了,,我所在的现实环境中没有搞这方面的,,多亏坛子里的老大们的帮助啊!,,才克服了很多困难,,唉!,,不容易啊,,! 呵呵,,一天不上这坛子来一趟就觉得生活少了很多东西似的,, 有空常来看看吧,,灌水可以缓解压力,,也可以看看老帖子,,是很好的学习资料!! [编辑 - 5/6/05 by aiwadgj] |
|
|
7楼#
发布于:2005-05-06 08:50
大家好
|
|
8楼#
发布于:2005-05-06 08:52
搞了半天,其实只有一人在线
|
|
9楼#
发布于:2005-05-07 11:34
[quote][quote] 使用Filter得到硬件配置处理好IRP_MJ_PNP应该差不多了 但要共享原来的中断过程,并嵌入自己的代码就很麻烦了 最好还是直接做个功能驱动。 Filter一般可以修改IRP等,但你的要求恐怕不能胜任 [/quote] 我觉得这么弄也是不太可行啊,,呵呵,,Allenzh大侠的意思是单独写一个功能驱动(完成所要求的附加功能),,还是整个的都重写啊?。。要都重写的话,,岂不是原来的那些DLL与sys文件都用不上了,,要是只写附加功能的功能驱动的话,,那样考虑的问题就很多了吧。。 [/quote] AllenZh的意思,我看是要全重写,只写附加部分,主要是你不了解原来的驱动怎么做的,同步,ISR都是问题 |
|
|
10楼#
发布于:2005-05-07 11:45
[quote] :P 兄弟言重了,,,呵呵,,,我很垃圾的,,其实我也刚学不长时间的,,呵呵。。 AllenZh,bmyyyud,猫王,snowstart,tiamo等等了,,好多那,,他们才是真正的高手了,,我最多算个跑堂的,,呵呵。。 这个坛子却是不错的,,常来看看,,能学到不少的东西,,其实我也是自学了,,我所在的现实环境中没有搞这方面的,,多亏坛子里的老大们的帮助啊!,,才克服了很多困难,,唉!,,不容易啊,,! 呵呵,,一天不上这坛子来一趟就觉得生活少了很多东西似的,, 有空常来看看吧,,灌水可以缓解压力,,也可以看看老帖子,,是很好的学习资料!! [编辑 - 5/6/05 by aiwadgj] [/quote] bmyyyud是真正的垃圾,嘻嘻... 高手我大概了解些,批露一下,万望高手们不要扔我砖头,我躲... 这些高手实在是太高,根本所学的全是与计算机无关 aiwadgj居然也是自学的 猫王是学水利的,wowocock(好久不见,好像最近在搞秘密武器,咱们学32位OS,他在搞64位,咱们学WDM还没学好,他在玩WDF呢)是学医的,让你晕倒吧!!! tiamo是正规军,不过刚毕业,水平就那么那么那么那么那么高,又晕倒一次吧... AllenZh,snowstart两位不太了解,看他们谈吐,儒雅得很,高深... |
|
|
11楼#
发布于:2005-05-07 13:51
俺也服了....跑倒国外的网站search了半天也没人解答....却搜到驱网来了....你们怎么啥也会呀! :P
|
|
|
12楼#
发布于:2005-05-07 17:47
你的图标怎么不见了,起初看见你的图标才以为你是个男的, 后来,看到有人叫你大姐,才让我疑惑,所以... 昨天上来看,你居然给了我两分,哈哈,这是第一次有人给我分... 不过也太小气了,应该是个女的,象我,出手就是30 ,30 的, 反正也用不完呵呵(我有两百多分也) 听你的口音,也应该是个女的,而且来自四川,对吗? 你应该很垃圾了,发了两三万帖子,水平才这样, 呵呵 不过你应该人缘很好,深得驱网创建者的厚爱,在这里管理帖子,象个管理员,对吧? |
|
|
13楼#
发布于:2005-05-07 17:54
太谦虚了,看过你大部分的帖子了,强! 相比与技术,我更想了解别人的经历,往往可以给我们很多总结,给我们很多的启示。可高手往往偏偏又有不喜欢张扬 譬如说来自哪里,什么学历啊,什么学校毕业,学什么专业,从事什么工作啊,什么时候有第一通金啊, 也许象你们这样的,多半都开创了自己的事业了 不过看到这么多高手,连学医的都有.... 真让我们这些学计算机的汗颜啊 :( [编辑 - 5/7/05 by llllllllg] |
|
|
14楼#
发布于:2005-05-07 18:34
[quote] 你的图标怎么不见了,起初看见你的图标才以为你是个男的, 后来,看到有人叫你大姐,才让我疑惑,所以... 昨天上来看,你居然给了我两分,哈哈,这是第一次有人给我分... 不过也太小气了,应该是个女的,象我,出手就是30 ,30 的, 反正也用不完呵呵(我有两百多分也) 听你的口音,也应该是个女的,而且来自四川,对吗? 你应该很垃圾了,发了两三万帖子,水平才这样, 呵呵 不过你应该人缘很好,深得驱网创建者的厚爱,在这里管理帖子,象个管理员,对吧? [/quote] 知道了吧,,,呵呵,,,,还没有两三万了,,,还不到三千那。。 :D 俺的帖子都扔到水坛了。。。。。 :D 还是灌水感觉好一点啊。。。。。呵呵。。。 :D |
|
|
15楼#
发布于:2005-05-07 21:26
[quoteAllenZh的意思,我看是要全重写,只写附加部分,主要是你不了解原来的驱动怎么做的,同步,ISR都是问题 [/quote]
对就是重新写这个驱动,但是这样工作量虽然大, 主要是你的功能使用Filter完成很麻烦,使用Filter修改一些数据或者构造一些请求发送是没有问题的,而你要在Filter中处理中断就比较麻烦 |
|
|
16楼#
发布于:2005-05-07 22:44
[quoteAllenZh的意思,我看是要全重写,只写附加部分,主要是你不了解原来的驱动怎么做的,同步,ISR都是问题 对就是重新写这个驱动,但是这样工作量虽然大, 主要是你的功能使用Filter完成很麻烦,使用Filter修改一些数据或者构造一些请求发送是没有问题的,而你要在Filter中处理中断就比较麻烦 [/quote] AllenZH老大,,你见识应该是比较广的了,,呵呵,,, 你有没有见过在filter driver中处理中断,,或者处理专门的硬件配置操作的?。。反正我看了看filter driver的资料吧,, 多是修改传输数据,,或者修改IRP参数之类的,,很少涉及到,, 硬件相关的操作的,, 重写整个驱动,,却是麻烦了,,原来提供的应用程序调用的DLL也不能用了,,还的重新写,,工作量大了不少啊。。呵呵 |
|
|
17楼#
发布于:2005-05-08 11:39
[quote][quoteAllenZh的意思,我看是要全重写,只写附加部分,主要是你不了解原来的驱动怎么做的,同步,ISR都是问题 对就是重新写这个驱动,但是这样工作量虽然大, 主要是你的功能使用Filter完成很麻烦,使用Filter修改一些数据或者构造一些请求发送是没有问题的,而你要在Filter中处理中断就比较麻烦 [/quote] AllenZH老大,,你见识应该是比较广的了,,呵呵,,, 你有没有见过在filter driver中处理中断,,或者处理专门的硬件配置操作的?。。反正我看了看filter driver的资料吧,, 多是修改传输数据,,或者修改IRP参数之类的,,很少涉及到,, 硬件相关的操作的,, 重写整个驱动,,却是麻烦了,,原来提供的应用程序调用的DLL也不能用了,,还的重新写,,工作量大了不少啊。。呵呵 [/quote] 如果象Class与Port驱动那样定义严格的话,当然可以安全地替换。 处理中断时有回调函数帮忙 想了一下你的特殊情况,首先做个Upper Filter驱动,作为两个功能的分发,然后再做个与原来驱动在同一层的实现另一个功能的FDO,如果能够知道硬件的具体状态,可以通过检测硬件处理同步,至于ISR,采用挂接后先自己处理,再回调原来ISR的方法,反正实现起来,我感觉风险比较大。嘻嘻。。。大姐努力吧,我看依你的水平,我看差不多 |
|
|
18楼#
发布于:2005-05-08 11:49
[quote] 太谦虚了,看过你大部分的帖子了,强! 相比与技术,我更想了解别人的经历,往往可以给我们很多总结,给我们很多的启示。可高手往往偏偏又有不喜欢张扬 譬如说来自哪里,什么学历啊,什么学校毕业,学什么专业,从事什么工作啊,什么时候有第一通金啊, 也许象你们这样的,多半都开创了自己的事业了 不过看到这么多高手,连学医的都有.... 真让我们这些学计算机的汗颜啊 :( [编辑 - 5/7/05 by llllllllg] [/quote] 郁闷,我也是外行,我们宿舍是混合宿舍,两个是计算机系的,四个是我们专业的,所以沾了一下象llllllllg这样计算机老大的光。如果你要问我DOS 3.3的问题,我估计还能对付,可以说以前是高手,嘻嘻,自吹自擂一下。到Windows3.1以后就完全变成垃圾了。 |
|
|
19楼#
发布于:2005-05-08 17:23
[quote][quote][quoteAllenZh的意思,我看是要全重写,只写附加部分,主要是你不了解原来的驱动怎么做的,同步,ISR都是问题 对就是重新写这个驱动,但是这样工作量虽然大, 主要是你的功能使用Filter完成很麻烦,使用Filter修改一些数据或者构造一些请求发送是没有问题的,而你要在Filter中处理中断就比较麻烦 [/quote] AllenZH老大,,你见识应该是比较广的了,,呵呵,,, 你有没有见过在filter driver中处理中断,,或者处理专门的硬件配置操作的?。。反正我看了看filter driver的资料吧,, 多是修改传输数据,,或者修改IRP参数之类的,,很少涉及到,, 硬件相关的操作的,, 重写整个驱动,,却是麻烦了,,原来提供的应用程序调用的DLL也不能用了,,还的重新写,,工作量大了不少啊。。呵呵 [/quote] 如果象Class与Port驱动那样定义严格的话,当然可以安全地替换。 处理中断时有回调函数帮忙 想了一下你的特殊情况,首先做个Upper Filter驱动,作为两个功能的分发,然后再做个与原来驱动在同一层的实现另一个功能的FDO,如果能够知道硬件的具体状态,可以通过检测硬件处理同步,至于ISR,采用挂接后先自己处理,再回调原来ISR的方法,反正实现起来,我感觉风险比较大。嘻嘻。。。大姐努力吧,我看依你的水平,我看差不多 [/quote] 其实有Upper Filter驱动,你已经能区分IRP是对应哪个功能的了 |
|
|
上一页
下一页