阅读:1514回复:0
请教在驱动中mount和unmount一个卷的方法
我想把filedisk中mount和unmount的过程转移到另一个驱动中来做。
现在问题是这样的,如果有一个filedisk的设备对象比如说是 \\\\Device\\\\FileDisk\\\\FileDisk0,我给它建立了两个链接(通过 向MountMgr.sys发送IOCTL_MOUNTMGR_CREAT_POINT) ,一个是盘符 比如\\\\DosDevices\\\\I:,另一个是卷名( Volume{...} ),然后我去访问该 I盘。(按照MS的说法,当应用程序或系统第一次访问一个卷时,I/O管理器 调用FSD执行卷识别,然后创建一个代表已建立的文件系统格式的设备对象 并链接FileDisk0和FSD创建的设备对象。) 访问虽然可以成功,我发现读写盘时有点问题,比如一次mount多个盘时, 尽管出现了多个盘符,但所有的盘呈现相同的性质(如卷标,空间,内容)。 还有,卸载该盘时容易蓝屏。 我觉得mount的过程中应该缺少了点步骤,是不是要在reparse point添点什么呢? 谢谢。 |
|