kuangnuzhiren
驱动牛犊
驱动牛犊
  • 注册日期2008-03-03
  • 最后登录2012-06-21
  • 粉丝1
  • 关注0
  • 积分34分
  • 威望245点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
阅读:1645回复:3

How to log IO when system shuting down

楼主#
更多 发布于:2009-05-07 19:08
我写了一个磁盘上层过滤驱动,实现磁盘备份的功能。当系统关闭或者磁盘拔出的时候镜像盘是无法读写的。所以我要把这些IO记录下来,下次开机的时候同步到镜像盘。我用文件来记录IO。可是当系统关闭的时候文件系统是先于磁盘关闭的,所以在记录有些IO的时候文件系统已经不能读写了。根据M$的文档,IoRegisterShutdownNotification回调是文件系统卸载前我最后能写文件的机会,现在的问题是回调之后的IO怎样处理。现在看来拒绝掉IO是会引起上层应用崩溃的,因此还是要记录IO并把它写下去。我知道很多人是开发过磁盘驱动的,这个问题应该比较普遍,真心向大牛请教,希望大牛们热心帮助,谢谢!
kuangnuzhiren
驱动牛犊
驱动牛犊
  • 注册日期2008-03-03
  • 最后登录2012-06-21
  • 粉丝1
  • 关注0
  • 积分34分
  • 威望245点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-05-07 19:29
没有人回答吗?都下班了么?
treeyan
驱动牛犊
驱动牛犊
  • 注册日期2008-04-14
  • 最后登录2013-09-11
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望487点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分1分
板凳#
发布于:2009-05-08 23:13
可以参照 windows dump 蓝屏信息的做法, windows crash dump 直接写往 Pagefile.sys
那么你也可打开一个文件并锁定它. 然后获得这个文件的簇描述(retrieval pointers), 直接call 低层磁盘驱动写下去.
kuangnuzhiren
驱动牛犊
驱动牛犊
  • 注册日期2008-03-03
  • 最后登录2012-06-21
  • 粉丝1
  • 关注0
  • 积分34分
  • 威望245点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-05-11 09:24
Thanks treeyan.
游客

返回顶部