虚拟磁盘的设计与操作 ——李季季摘要:通常情况下是在磁盘上建立文件系统即硬盘分区,文件系统驱动程序(FSD)已经实现了在硬盘上创建和管理文件,本系统主要实现将一个文件虚拟成一个相应的磁盘,在文件系统驱动程序的基础之上,实现基于虚拟设备的文件系统,这种虚拟技术得到了很多应用,例如虚拟光驱就是其中之一,我们将对磁盘进行相关的操作
关键字: 函数 加载模块 读写操作 卸载模块 格式化 一.整体功能概述: 1
通过命令行输入/mount 的加载相应虚拟磁盘的命令,执行完毕后便可以在“我的电脑”中看到又多出了与命令行输入相应的盘符,通过 format 将磁盘格式化或通过右键选择格式化成相应格式后,便可以对它操作
通过命令行输入/mount 的加载相应虚拟磁盘的命令,执行完后便可以在“我的电脑”中看到又多出了一个虚拟的磁盘,便可以对它执行读写操作
在命令行下输入/umount 的卸载相应虚拟磁盘的命令,执行完后便可以卸载除刚才加载的虚拟磁盘
二.设计的描述: 通常情况下是在磁盘上建立文件系统即硬盘分区,文件系统驱动程序(FSD)已经实现了在硬盘上创建和管理文件,本系统主要实现将一个文件虚拟成一个相应的磁盘,在文件系统驱动程序的基础之上,实现基于虚拟设备的文件系统,这种虚拟技术得到了很多应用,例如虚拟光驱就是其中之一
虚拟磁盘文件系统经过安装可以模拟真实的硬盘,支持各种文件系统功能
三.基本的数据结构(1)全局变量 dir_handleHANDLE dir_handle;该全局变量用于指向一个“目录对象”,存放本驱动程序创建的所有的磁盘对象
(2)模拟磁盘文件信息结构 OPEN_FILE_INFORMATIONtypedef struct _OPEN_FILE_INFORMATION{DEVICE_TYPE DeviceType;//所模拟的磁盘的类型BOOLEAN Rea