ExpandVirtualDisk 函数 (virtdisk.h)
增加固定或动态扩展虚拟硬盘的大小 (VHD) 。
语法
DWORD ExpandVirtualDisk(
[in] HANDLE VirtualDiskHandle,
[in] EXPAND_VIRTUAL_DISK_FLAG Flags,
[in] PEXPAND_VIRTUAL_DISK_PARAMETERS Parameters,
[in, optional] LPOVERLAPPED Overlapped
);
参数
[in] VirtualDiskHandle
打开的虚拟磁盘的句柄,该句柄必须已使用 VIRTUAL_DISK_ACCESS_METAOPS 标志打开。 有关如何打开虚拟磁盘的信息,请参阅 OpenVirtualDisk 函数。
[in] Flags
必须是 EXPAND_VIRTUAL_DISK_FLAG 枚举的 EXPAND_VIRTUAL_DISK_FLAG_NONE 值。
[in] Parameters
指向包含扩展参数数据的有效 EXPAND_VIRTUAL_DISK_PARAMETERS 结构的指针。
[in, optional] Overlapped
如果需要异步操作,则为指向有效 OVERLAPPED 结构的可选指针。
返回值
请求的状态。
如果函数成功,则返回值 ERROR_SUCCESS。
如果函数失败,则返回值为错误代码。 有关详细信息,请参阅 系统错误代码。
注解
ExpandVirtualDisk 函数就地执行操作,因此不会创建虚拟磁盘。
扩展操作仅对固定和可扩展虚拟磁盘有效,并且会使差异虚拟磁盘链失效。
扩展虚拟磁盘需要在操作期间分离虚拟磁盘。
调用方必须具有 READ|对虚拟磁盘的后备存储的写入访问权限。
对于可扩展虚拟磁盘, ExpandVirtualDisk 函数可能不会生成更大的文件,因为大小是虚拟的,在实际使用之前不会以物理方式增长。
如果虚拟磁盘是可扩展的,并且主机卷没有足够的空间来容纳新大小, 则 ExpandVirtualDisk 函数无论如何都可以成功。 如果主机卷在虚拟磁盘扩展时空间不足,将来对虚拟磁盘的写入可能会失败。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 |
最低受支持的服务器 | Windows Server 2008 R2 |
目标平台 | Windows |
标头 | virtdisk.h |
Library | VirtDisk.lib |
DLL | VirtDisk.dll |