Sunbeam
驱动小牛
驱动小牛
  • 注册日期2001-10-29
  • 最后登录2010-01-29
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
阅读:880回复:2

DIRECT_IO的问题

楼主#
更多 发布于:2002-07-19 18:13
在StartIO中调用此函数时有时出现失败:
PUCHAR pBuffer=(PUCHAR)MmGetSystemAddressForMdlSafe(\\
fdo->CurrentIrp->MdlAddress, HighPagePriority);

后来我又调用
MmProbeAndLockPages(
fdo->CurrentIrp->MdlAddress,\\
KernelMode,\\ IoWriteAccess\\
);
一访问就蓝屏。
堂堂正正做人,明明白白做事
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-07-19 18:56
你要注意的是访问的是什么类型的内存,还有就是访问时候的irql
Sunbeam
驱动小牛
驱动小牛
  • 注册日期2001-10-29
  • 最后登录2010-01-29
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-07-20 17:38
问题已解决:应调用此MmGetMdlVirtualAddress 就没有问题。
此函数频烦调用MmGetSystemAddressForMdlSafe。偶而会出错。


而MmProbeAndLockPages此函数我是PASSIVE上调用,为什么出错我就不知道原因了。上一个问题解决后,此函数我也不用了。

堂堂正正做人,明明白白做事
游客

返回顶部