IVdsOpenVDisk::Expand method (vds.h)

[Beginning with Windows 8 and Windows Server 2012, the Virtual Disk Service COM interface is superseded by the Windows Storage Management API.]

Increases the size of a virtual disk to the maximum size available on a fixed or expandable disk.

Syntax

HRESULT Expand(
  [in]  EXPAND_VIRTUAL_DISK_FLAG Flags,
  [in]  ULONGLONG                NewSize,
  [out] IVdsAsync                **ppAsync
);

Parameters

[in] Flags

An EXPAND_VIRTUAL_DISK_FLAG enumeration value that specifies how the virtual disk is to be expanded. Must be set to EXPAND_VIRTUAL_DISK_FLAG_NONE.

[in] NewSize

The desired size in bytes of the expanded virtual disk.

[out] ppAsync

A pointer to an IVdsAsync interface that upon successful completion receives the IVdsAsync interface to monitor and control this operation. Callers must release the interface received when they have finished with it. If the IVdsAsync::Wait method is called on the interface and a success HRESULT value is returned, the interfaces returned in the VDS_ASYNC_OUTPUT structure must be released by calling the IUnknown::Release method on each interface pointer. However, if Wait returns a failure HRESULT value, or if the pHrResult parameter of Wait receives a failure HRESULT value, the interface pointers in the VDS_ASYNC_OUTPUT structure are NULL and do not need to be released. You can test for success or failure HRESULT values by using the SUCCEEDED and FAILED macros defined in Winerror.h.

Return value

This method can return standard HRESULT values, such as E_INVALIDARG or E_OUTOFMEMORY, and VDS-specific return values. It can also return converted system error codes using the HRESULT_FROM_WIN32 macro. Errors can originate from VDS itself or from the underlying VDS provider that is being used. Possible return values include the following.

Return code Description
S_OK
The method completed successfully.

Remarks

A virtual disk can be expanded only if it is detached.

The virtual disk must have been opened with access to perform metadata operations. This corresponds to the VIRTUAL_DISK_ACCESS_METAOPS value of the VIRTUAL_DISK_ACCESS_MASK enumeration.

Requirements

Requirement Value
Minimum supported client Windows 7 [desktop apps only]
Minimum supported server Windows Server 2008 R2 [desktop apps only]
Target Platform Windows
Header vds.h
Library Uuid.lib

See also

IVdsOpenVDisk