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

MmGetSystemAddressForMdlSafe的引用就不让我加载驱动

楼主#
更多 发布于:2004-09-06 15:30
除了2000上要叫MmGetSystemAddressForMdlSafe,98上要叫MmGetSystemAddressForMdl,两个function不同以外,其它的function都相同,如果写一个if去判别在哪种系统之下的话
if (2000)
MmGetSystemAddressForMdlSafe(…)
Else if (98)
MmGetSystemAddressForMdl(…)
又不行,因为98 ntkern.vxd只要一看到有MmGetSystemAddressForMdlSafe的引用就不让我加载驱动。
如果分开编译,则两个os都可以加载驱动。

但是这样我就要维护两个几乎是一模一样源码的驱动
请问我有什么方法可以避免呢?
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-06 16:08
除了2000上要叫MmGetSystemAddressForMdlSafe,98上要叫MmGetSystemAddressForMdl,两个function不同以外,其它的function都相同,如果写一个if去判别在哪种系统之下的话
if (2000)
MmGetSystemAddressForMdlSafe(…)
Else if (98)
MmGetSystemAddressForMdl(…)
又不行,因为98 ntkern.vxd只要一看到有MmGetSystemAddressForMdlSafe的引用就不让我加载驱动。
如果分开编译,则两个os都可以加载驱动。

但是这样我就要维护两个几乎是一模一样源码的驱动
请问我有什么方法可以避免呢?
 


那你就使用MmGetSystemAddressForMdl好了
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
vennychang
驱动牛犊
驱动牛犊
  • 注册日期2003-02-07
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-09-06 16:26
in ddk
----------------------------------------------------------
The MmGetSystemAddressForMdl routine is obsolete for Microsoft? Windows? 2000 and later, and for Windows Me. It is supported only for WDM drivers that must run on Windows 98. Otherwise use MmGetSystemAddressForMdlSafe.

----------------------------------------------------------
so i think we should use "MmGetSystemAddressForMdlSafe"
Thanks for your kindly answer, I had set the answering points to you.

My problem had been solved, since i chang the IO method to "IO_BUFFER_IO".
游客

返回顶部