IVdsLun::AddPlex 方法 (vds.h)

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

将 LUN 作为新丛添加到目标 LUN。

语法

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

参数

[in] lunId

要添加为丛的 LUN 的 GUID。

[out] ppAsync

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

返回值

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

返回代码/值 说明
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
此返回值表示缓存有关数组信息的提供程序中的软件或通信问题。 使用 IVdsHwProvider::Reenumerate 方法,后跟 IVdsHwProvider::Refresh 方法还原缓存。
VDS_E_OBJECT_DELETED
0x8004240BL
LUN 对象不再存在。
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
LUN 处于失败状态,无法执行请求的操作。
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
另一个操作正在进行中。 在上一个操作完成之前,此操作无法继续。
VDS_E_OBJECT_NOT_FOUND
0x80042405L
这可以从采用 VDS_OBJECT_ID 常量的任何方法返回。 它指示标识符不引用现有对象。
VDS_E_INVALID_OPERATION
0x80042415L
操作无效。 或者,源 LUN 小于目标 LUN。 如果源 LUN 大于目标 LUN,则目标 LUN 保持相同的大小,并且操作成功。

注解

调用方将新 LUN 添加为 plex 后,它不再显示为 LUN。 如果调用方
添加镜像 LUN,VDS 将每个 plex 作为一个离散的 plex。 添加的 LUN 上的所有数据都将丢失。

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

要求

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

另请参阅

IVdsAsync

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsLun