IVdsLunPlex::QueryExtents 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.]

Returns an array of the drive extents that contribute to the plex.

Syntax

HRESULT QueryExtents(
  [out] VDS_DRIVE_EXTENT **ppExtentArray,
  [out] LONG             *plNumberOfExtents
);

Parameters

[out] ppExtentArray

A pointer to the array of pointers to drive extents passed in by the caller. These are the extents that contribute to the plex. See the VDS_DRIVE_EXTENT structure. Callers must free this array by using the CoTaskMemFree function.

[out] plNumberOfExtents

A pointer to the number of drive extents returned in ppExtentArray.

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/value Description
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
This return value signals a software or communication problem inside a provider that caches information about the array. Use the IVdsHwProvider::Reenumerate method followed by the IVdsHwProvider::Refresh method to restore the cache.
VDS_E_OBJECT_DELETED
0x8004240BL
The LUN plex is no longer present.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
The LUN plex is in a failed state, and is unable to perform the requested operation.
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
Another operation is in progress; this operation cannot proceed until the previous operation or operations are complete.

Remarks

Use the IVdsDrive::QueryExtents method to get the extents on a given drive.

Requirements

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

See also

IVdsDrive::QueryExtents

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsLunPlex

VDS_DRIVE_EXTENT