MSFT_VirtualDisk 类的 CreateSnapshot 方法

创建一个新的虚拟磁盘,该虚拟磁盘是现有虚拟磁盘的卷影副本。

语法

UInt32 CreateSnapshot(
  [in]  String              FriendlyName,
  [in]  String              TargetStoragePoolName,
  [in]  Boolean             RunAsJob,
  [out] MSFT_StorageJob REF CreatedStorageJob,
  [out] String              CreatedVirtualDisk,
  [out] String              ExtendedStatus
);

参数

FriendlyName [in]

卷影复制虚拟磁盘的所需名称。

此参数是必需的,不能为 NULL

TargetStoragePoolName [in]

应用于保存创建的快照的存储池。 如果未设置此参数,此方法将默认使用包含源虚拟磁盘的同一存储池。

RunAsJob [in]

如果 为 TRUE,则当请求需要很长时间才能提供服务时,此方法使用 CreatedStorageJob 参数。 如果已创建存储作业来跟踪操作,此方法将返回 方法参数 Checked - 作业启动

注意

即使 RunAsJobTRUE,此方法仍可返回结果(如果已完成足够时间)。

如果 为 FALSENULL,此方法将遵循客户端的调用方法确定的默认 WMI 异步行为。 换句话说,除非另有请求,否则它是同步的。

CreatedStorageJob [out]

如果 RunAsJob 设置为 TRUE 并且此方法执行时间较长,则此参数将接收对用于跟踪长时间运行的操作的存储作业对象的引用。

CreatedVirtualDisk [out]

如果成功创建虚拟磁盘,此参数将接收一个字符串,其中包含嵌入 的 MSFT_VirtualDisk 对象。

ExtendedStatus [out]

包含嵌入 MSFT_StorageExtendedStatus 对象的字符串。

此参数允许存储提供程序返回特定于实现的扩展 () 错误信息。

返回值

成功 (0)

不支持 (1)

未指定的错误 (2)

超时 (3)

失败 (4)

参数 (5) 无效

方法参数已选中 - 作业已启动 (4096)

40000) (可用空间不足

拒绝访问 (40001)

没有足够的资源来完成操作。 (40002)

缓存过期 (40003)

无法连接到存储提供程序。 (46000)

存储提供程序无法连接到存储子系统。 (46001)

原始存储池不支持此操作。 (48000)

存储池仅用于特殊用途。 (48001)

找不到指定的存储池。 (48005)

存储池无法完成操作,因为它的运行状况或运行状态不允许它。 (48006)

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
命名空间 Root\Microsoft\Windows\Storage
标头 Dbdaoint.h
MOF Storagewmi.mof

另请参阅

MSFT_VirtualDisk