IVdsPack::AddDisk 方法 (vds.h)
[从 Windows 8 和 Windows Server 2012 开始,虚拟磁盘服务 COM 接口由 Windows 存储管理 API 取代。]
将磁盘添加到联机包。
语法
HRESULT AddDisk(
[in] VDS_OBJECT_ID DiskId,
[in] VDS_PARTITION_STYLE PartitionStyle,
[in] BOOL bAsHotSpare
);
参数
[in] DiskId
磁盘的 GUID。
[in] PartitionStyle
样式可以是 MBR 或 GPT。 请参阅 VDS_PARTITION_STYLE 枚举。
[in] bAsHotSpare
如果为 true,则 VDS 可以将磁盘用作热备用;否则,磁盘不能用于此操作。 只有硬件提供商支持热存储。
返回值
此方法可以返回标准 HRESULT 值,例如E_INVALIDARG或E_OUTOFMEMORY,以及 特定于 VDS 的返回值。 它还可以使用 HRESULT_FROM_WIN32 宏返回转换的系统错误代码。 错误可能源自 VDS 本身或正在使用的基础 VDS 提供程序 。 可能的返回值包括以下内容。
返回代码/值 | 说明 |
---|---|
|
已成功添加磁盘。 |
|
磁盘是原始磁盘。 |
|
正在清理要添加的磁盘。 |
|
操作期间出现提供程序失败。 |
|
不支持将第二个磁盘添加到基本包。 |
|
无法访问目标包。 |
|
找不到磁盘。 |
|
逻辑磁盘管理器 (LDM) 服务未能完成方法。 |
|
动态提供程序缓存已损坏。 |
注解
VDS 实现此方法。
此方法 (未定义分区的磁盘) 初始化原始磁盘,并将其添加到包中。 在调用此方法之前,原始磁盘由 VDS 服务拥有。 此方法返回后,磁盘由基本提供程序拥有。
若要撤消此方法的效果,即删除分区格式并使磁盘成为 VDS 服务拥有的原始磁盘,请使用 IVdsAdvancedDisk::Clean 方法。
不能使用 AddDisk 重新定义现有磁盘上的分区。
如果将 GPT 磁盘添加到基本包,该操作会自动在磁盘上创建 MSR 分区。 运行 WinPE 操作系统的设备是例外,因为管理员可能更愿意在磁盘上创建 ESP 分区。 ESP 分区(如果存在)必须是磁盘上的第一个分区。
如果将磁盘添加到动态包,该操作不会创建 MSR 分区。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | vds.h |
Library | Uuid.lib |