Windows 7 虚拟磁盘的创建和格式化

Windows 7 虚拟磁盘的创建和格式化,windows-7,virtual,vhd,Windows 7,Virtual,Vhd,使用Windows SDK 7,我们可以使用虚拟磁盘API创建VHD映像文件,但如何格式化此映像文件(例如FAT32格式)、分配驱动器号并将一些文件复制到其中? 我在API中看不到任何格式化功能?您需要装载磁盘,对其进行分区并格式化。 您应该能够通过windows WMI界面执行此操作 通过函数将其连接,然后我假设您可以将其格式化为普通驱动器 您可以使用WMI()或函数对其进行格式化。@ctas:这解释了附加的etc,并提供了一些示例代码。您可以使用WMI找到一些C++示例代码。谢谢@ HO1。

使用Windows SDK 7,我们可以使用虚拟磁盘API创建VHD映像文件,但如何格式化此映像文件(例如FAT32格式)、分配驱动器号并将一些文件复制到其中?
我在API中看不到任何格式化功能?

您需要装载磁盘,对其进行分区并格式化。 您应该能够通过windows WMI界面执行此操作

通过函数将其连接,然后我假设您可以将其格式化为普通驱动器


您可以使用WMI()或函数对其进行格式化。

@ctas:这解释了附加的etc,并提供了一些示例代码。您可以使用WMI找到一些C++示例代码。谢谢@ HO1。格式化函数通常需要卷名(C:,D:等)。附加映像文件时,它们看起来像一个物理磁盘,但没有卷和分区。@ctas:OpenVirtualDisk工作得更好吗?否则,这不是一个很好的解决方案,但您可以通过自动化
diskpart
命令行应用程序来实现这一点?是的,OpenVirtualDisk会打开并连接虚拟磁盘。我可以通过Diskpart的脚本支持来完成,但我不想要。我认为并非API的所有功能都公开。Dispart必须使用相同的API函数。如果我找不到其他方法,我将使用Diskpart。@ctas:您可以查看
DeviceIoControl
或者[IOCTL\u DISK\u SET\u DRIVE\u LAYOUT]()。从未使用过它们,因此无法确定是否可以使用它们进行格式化,但至少听起来是有可能的。