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

另请参阅

关于 VHD

VHD 参考