VDS_ASYNC_OUTPUT structure (vds.h)

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

Defines the output of an async object. Output elements vary depending on the operation type.

Syntax

typedef struct _VDS_ASYNC_OUTPUT {
  VDS_ASYNC_OUTPUT_TYPE type;
  union {
    struct {
      ULONGLONG     ullOffset;
      VDS_OBJECT_ID volumeId;
    } cp;
    struct {
      IUnknown *pVolumeUnk;
    } cv;
    struct {
      IUnknown *pVolumeUnk;
    } bvp;
    struct {
      ULONGLONG ullReclaimedBytes;
    } sv;
    struct {
      IUnknown *pLunUnk;
    } cl;
    struct {
      IUnknown *pTargetUnk;
    } ct;
    struct {
      IUnknown *pPortalGroupUnk;
    } cpg;
    struct {
      IUnknown *pVDiskUnk;
    } cvd;
  };
} VDS_ASYNC_OUTPUT;

Members

type

Discriminant for the union enumerated by VDS_ASYNC_OUTPUT_TYPE.

Value Meaning
VDS_ASYNCOUT_CREATEPARTITION
10
See the following description of the cp structure.
VDS_ASYNCOUT_CREATEVOLUME
1
See the following description of the cv structure.
VDS_ASYNCOUT_BREAKVOLUMEPLEX
5
See the following description of the bvp structure.
VDS_ASYNCOUT_CREATELUN
50
See the following description of the cl structure.
VDS_ASYNCOUT_CREATETARGET
62
See the following description of the ct structure.
VDS_ASYNCOUT_CREATEPORTALGROUP
63
See the following description of the cpg structure.
VDS_ASYNCOUT_CREATE_VDISK
200
See the following description of the cvd structure.

cp

Structure used for the IVdsAdvancedDisk::CreatePartition or IVdsCreatePartitionEx::CreatePartitionEx method.

cp.ullOffset

Actual offset of the created partition. This may not be the same as the ullOffset parameter passed to the IVdsAdvancedDisk::CreatePartition or IVdsCreatePartitionEx::CreatePartitionEx method.

cp.volumeId

The ID of the volume object associated with the created partition.

cv

Structure used for the IVdsPack::CreateVolume method.

cv.pVolumeUnk

IUnknown for the volume object. For more information, see Volume Object.

bvp

Structure used for the IVdsVolume::BreakPlex method.

bvp.pVolumeUnk

IUnknown for the volume object. For more information, see Volume Object.

sv

Structure used for the IVdsVolume::Shrink method.

sv.ullReclaimedBytes

The number of bytes that were reclaimed by the shrink operation.

Windows Server 2003:   This member is not supported until Windows Server 2003 R2.

cl

Structure used for the IVdsSubSystem::CreateLun method.

cl.pLunUnk

IUnknown for the LUN object. For more information, see LUN Object.

ct

Structure used for the IVdsSubSystemIscsi::CreateTarget method.

ct.pTargetUnk

IUnknown for the target object. For more information, see the Target Object.

cpg

Structure used for the IVdsIscsiTarget::CreatePortalGroup method.

cpg.pPortalGroupUnk

IUnknown for the portal group object. For more information, see the Portal Group Object.

cvd

Structure used for the IVdsVdProvider::CreateVDisk method.

cvd.pVDiskUnk

IUnknown for the virtual disk object.

Remarks

The IVdsAsync::Wait method returns this structure and adds a reference to any contained object produced by each method. Callers must release the reference to the contained object.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Header vds.h

See also

IVdsAsync::Wait

VDS Structures

VDS_ASYNC_OUTPUT_TYPE