IVdsAdvancedDisk interface

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

Creates and deletes partitions, and modifies partition attributes.

When to implement

Software providers implement a portion of this interface. VDS implements the AssignDriveLetter, DeleteDriveLetter, GetDriveLetter, and FormatPartition methods. VDS also assists in performing some operations associated with of the DeletePartition and Clean methods.

When to use

Use this interface for diagnostic and advanced operations only. Whenever possible, use an interface that operates on volumes, such as the IVdsVolume and IVdsVolumeMF interfaces.

In addition to creating, deleting, and querying partitions, applications can use the methods of this interface to assign and delete drive letters on OEM, ESP, or unknown partitions. Other tasks include formatting OEM, ESP, or unknown partitions and cleaning disks.


The IVdsAdvancedDisk interface inherits from the IUnknown interface. IVdsAdvancedDisk also has these types of members:


The IVdsAdvancedDisk interface has these methods.


Assigns a drive letter to an OEM, ESP, or unknown partition.


Modifies partition attributes. For GPT disks, it applies to partition GPT attributes. For MBR disks, it applies to the boot indicator bit (active or not).


Removes MBR or GPT information and uninitializes a basic or dynamic disk.


Creates a partition.


Deletes a drive letter from an OEM, ESP, or unknown partition.


Deletes an existing partition.


Formats an existing OEM, ESP or unknown partition.


Retrieves the drive letter assigned to a OEM, ESP or unknown partition.


Retrieves property information for a partition.


Retrieves information about all partitions on the current disk.



The relationship between partitions and volumes is complex, and is best described in terms of the software provider (basic or dynamic) that manages the disk. Basic providers support the following three categories of partitions:

  • Partitions that are not volumes, because you can neither format them nor assign a drive letter to them. These partitions are MSR partitions, LDM Metadata partitions, and extended partitions.
  • Partitions associated with hidden volumes, which you can format and assign a drive letter to, but which host no user data. Instead, the system uses these partitions for booting, recovery, and so on. The partitions include OEM partitions, ESP partitions on GPT disks, and Unknown partitions.

    You cannot use the IVdsVolume or IVdsVolumeMF interfaces to format these partitions. Instead, use the IVdsAdvancedDisk interface, which exposes the AssignDriveLetter, DeleteDriveLetter, and FormatPartition methods.

  • Partitions that do not fall into the preceding two categories hold user data, files, and the installed operating system for the user. These partitions are always volumes; you can format them, assign drive letters to them, and enumerate through them with the FindFirstVolume and FindNextVolume functions.

In general, dynamic providers do not map volumes to partitions. The exceptions are system volumes, boot volumes, and volumes for which the caller explicitly requests this mapping. Only the GetPartitionProperties, QueryPartitions, and Clean methods are valid operations to be performed on dynamic disks. All other methods fail. Except for the Clean method, configuration-type operations are not valid on dynamic disks.


Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2003 [desktop apps only]





See also

VDS Interfaces
Disk Object