ltxdxu
驱动牛犊
驱动牛犊
  • 注册日期2003-05-21
  • 最后登录2005-02-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1014回复:0

求助2000下两个WDM驱动程序之间通信的问题2

楼主#
更多 发布于:2004-11-14 15:32
我的一个系统需要两个驱动程序,而这两个驱动程序之间需有功能上的互相调用,如果其中的任一个驱动没有加载,则已加载的那个驱动程序也要应该能够加载成功,只是因为没有另一个驱动的支持,功能上有所降级而已,我曾经试过让两个驱动分别导出函数以供另一个驱动调用,但这样做的话有些限制,因为好象驱动A如果依赖于另一个驱动B的话,则加载驱动A时要求驱动B必须已经被WINDOWS加载(而不是类似于DLL的会自动加载),因此肯定是只能有一个驱动导出函数给另一个用,然后导出的函数中有一个函数以便让另一个驱动设置自己的函数指针给有导出函数的那个驱动回调用,我这样做也成功了,但总觉得很累,而且驱动之间加载顺序方面的问题也很烦.想问一下在内核中有没有类似WIN32中LoadLibrary(还不完全像LoadLibrary,而应该只是得到已加载映象模块的句柄)和GetProcAddresss之类的函数来达到动态加载的效果,使两个驱动之间没有模块上的直接依赖关系.

我知道IoCallDriver可以在驱动间通信,但好象也比较麻烦

请有清楚这个的兄弟给点建设性的建议

谢谢!
游客

返回顶部