IVdsDisk::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 the details of all the extents on a disk.

Syntax

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

Parameters

[out] ppExtentArray

A pointer variable that receives an
array of VDS_DISK_EXTENT structures. Callers must free this array by using the CoTaskMemFree function.

[out] plNumberOfExtents

The address of a type LONG representing the total number of extents.

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
S_OK
The extent information was returned successfully.
VDS_E_PACK_OFFLINE
0x80042444L
The pack to which the disk belongs is inaccessible.

Remarks

Use this method to determine the amount of available free space for creating or extending volumes. You can also use the extent information to determine how many volumes occupy the disk. Valid extent types are: unknown extents, free extents, data extents, OEM extents, ESP extents, MSR extents, LDM metadata extents, and unusable extents. A data extent contains a link to the volume on top of it.

If the disk is a dynamic disk, it must be online. If it is a basic disk or a raw disk, it can be online or offline.

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

IVdsDisk

IVdsDisk::ClearFlags

IVdsDisk::ConvertStyle

IVdsDisk::GetIdentificationData

IVdsDisk::GetPack

IVdsDisk::GetProperties

IVdsDisk::SetFlags

VDS_DISK_EXTENT