vancaho
驱动牛犊
驱动牛犊
  • 注册日期2004-04-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分574分
  • 威望100点
  • 贡献值0点
  • 好评度56点
  • 原创分0分
  • 专家分0分
阅读:2132回复:6

怎样通知系统磁盘的文件系统已经改变?

楼主#
更多 发布于:2007-04-25 23:06
  我写了一个格式化的程序,直接对磁盘的扇区进行操作,达到格式化的目的

但是格式化之后,系统并不认识磁盘的文件系统已经改变了

例如从FAT32->FAT16
那么怎样在不重新插入磁盘的情况下,让系统得到磁盘文件系统已经改变呢?
devia
论坛版主
论坛版主
  • 注册日期2005-05-14
  • 最后登录2016-04-05
  • 粉丝3
  • 关注0
  • 积分1029分
  • 威望712点
  • 贡献值1点
  • 好评度555点
  • 原创分8分
  • 专家分4分
沙发#
发布于:2007-04-26 08:21
IOCTL_DISK_UPDATE_PROPERTIES

The IOCTL_DISK_UPDATE_PROPERTIES control code invalidates the cached partition table and re-enumerates the device.

To perform this operation, call the DeviceIoControl function with the following parameters.


BOOL DeviceIoControl(
  (HANDLE) hDevice,            // handle to device
  IOCTL_DISK_UPDATE_PROPERTIES,// dwIoControlCode
  NULL,                        // lpInBuffer
  0,                           // nInBufferSize
  NULL,                        // lpOutBuffer
  0,                           // nOutBufferSize
  (LPDWORD)lpBytesReturned,    // lpBytesReturned
  (LPDWORD) lpOverlapped       // lpOverlapped
);
人总在矛盾中徘徊。。。
vancaho
驱动牛犊
驱动牛犊
  • 注册日期2004-04-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分574分
  • 威望100点
  • 贡献值0点
  • 好评度56点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-04-26 12:26
IOCTL_DISK_UPDATE_PROPERTIES
windows 2000不支持上面的控制码啊
2000上有其他的方法替代不?
devia
论坛版主
论坛版主
  • 注册日期2005-05-14
  • 最后登录2016-04-05
  • 粉丝3
  • 关注0
  • 积分1029分
  • 威望712点
  • 贡献值1点
  • 好评度555点
  • 原创分8分
  • 专家分4分
地板#
发布于:2007-04-26 14:01
加上下面这一行试试,:-)
#define _WIN32_WINNT 0x500
人总在矛盾中徘徊。。。
vancaho
驱动牛犊
驱动牛犊
  • 注册日期2004-04-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分574分
  • 威望100点
  • 贡献值0点
  • 好评度56点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-04-26 18:59
不行啊
驱动返回STATUS_NOT_SUPPORT
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-04-27 12:10
try to find any way to unmount->mount
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
vancaho
驱动牛犊
驱动牛犊
  • 注册日期2004-04-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分574分
  • 威望100点
  • 贡献值0点
  • 好评度56点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-04-27 12:39
是啊,我是想找个这样的方法,但是还是没有找到
虽说可以使用FSCTL_DISMOUNT_VOLUME先卸载卷,再由Windows自动装载卷
但是对于RAW格式的分区而言,Mount Mgr开始并没有给它分配卷,也就不能用上面的方法了
游客

返回顶部