将外部磁盘添加到包

[从Windows 8和Windows Server 2012开始,虚拟磁盘服务 COM 接口由 Windows 存储管理 API 取代。]

通常,外部磁盘是在一台计算机上分配并物理移动到另一台计算机的动态磁盘。 但是,属于联机包以外的包的任何磁盘都被视为属于外部磁盘包的外磁盘。

外部包在 VDS_PACK_PROP 结构的 ulFlags 成员中设置了 VDS_PKF_FOREIGN 标志。 外部包始终处于脱机状态。

以下过程介绍如何导入一个或多个外部磁盘。

导入一个或多个外部磁盘

  1. 将磁盘移动到新计算机。
  2. 在新计算机上,使用 IVdsService::Reenumerate 方法安装外部磁盘。
  3. 选择联机包,将其设置为接收外部磁盘的目标包。 如果不存在联机包,请使用 IVdsSwProvider::CreatePack 方法创建新的空包。
  4. 使用 IVdsPack::MigrateDisks 方法将磁盘导入新的动态包。
  5. 使用 IVdsSwProvider::QueryPacks 方法枚举包,使用 IVdsPack::GetProperties 来确定哪个包现在是联机包。

如果创建新的空目标包,则外部磁盘实际上不会迁移到该包。 相反,外部包被标记为联机, (清除包 的VDS_PKF_FOREIGN 标志,这样包就不再是外部) ,而你创建的目标包将被丢弃。

注意

使用 IVdsPack::AddDisk 方法将未分配的磁盘(提供程序未声明的磁盘)添加到包。 未分配的磁盘不能是外部磁盘。

 

使用 VDS

IVdsService::Reenumerate

IVdsSwProvider::CreatePack

IVdsPack::MigrateDisks

IVdsPack::AddDisk