IVdsVolume::AddPlex 方法 (vds.h)

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

将卷作为 plex 添加到当前卷。

语法

HRESULT AddPlex(
  [in]  VDS_OBJECT_ID VolumeId,
  [out] IVdsAsync     **ppAsync
);

参数

[in] VolumeId

要添加为 plex 的卷的 GUID。

[out] ppAsync

VDS 在返回时初始化 的 IVdsAsync 接口指针的地址。 调用方必须释放 接口。 使用此指针可以取消、等待或查询操作的状态。

返回值

此方法可以返回标准 HRESULT 值,例如E_INVALIDARG或E_OUTOFMEMORY,以及 特定于 VDS 的返回值。 它还可以使用 HRESULT_FROM_WIN32 宏返回转换的系统错误代码。 错误可能源自 VDS 本身或正在使用的基础 VDS 提供程序 。 可能的返回值包括以下内容。

返回代码/值 说明
S_OK
已成功添加 plex。
VDS_S_GPT_BOOT_MIRRORED_TO_MBR
0x80042469L
GPT 磁盘上的启动卷已镜像到 MBR 磁盘。 新的 plex 不能用于启动计算机。
VDS_E_VOLUME_NOT_ONLINE
0x8004243DL
卷不可访问。
VDS_E_VOLUME_NOT_HEALTHY
0x8004243EL
卷出现故障或已失败。
VDS_E_VOLUME_SPANS_DISKS
0x8004243FL
卷跨多个磁盘。
VDS_E_REQUIRES_CONTIGUOUS_DISK_SPACE
0x80042440L
卷由多个盘区组成。
VDS_E_INVALID_OPERATION
0x80042415L
源卷小于目标卷。 如果源卷大于目标卷,则目标卷将保持相同的大小,并且操作会成功。

注解

此操作对只有一个 plex 的基本卷无效。

使用此方法将卷作为 plex 添加到另一卷。 例如,调用方可以 (卷 B) 创建卷,将卷 B 指定为现有卷的新 plex (卷 A) ,然后删除卷 B。卷 A 的新 plex 占用与卷 B 相同的磁盘盘区。

注意 VDS 尝试使用相同的盘区,但不能保证此行为。
 
调用方可以将镜像卷作为新 plex 添加到另一个卷。 生成的卷包含与原始卷之和相等的丛数。

无论调用是否启动异步操作,实现者都必须返回指向此方法的 IVdsAsync 接口的指针。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 vds.h
Library Uuid.lib

另请参阅

IVdsAsync

IVdsVolume

Volume Plex 对象