VDS_VOLUME_FLAG enumeration (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 set of valid flags for a volume object.
Syntax
typedef enum _VDS_VOLUME_FLAG {
VDS_VF_SYSTEM_VOLUME = 0x1,
VDS_VF_BOOT_VOLUME = 0x2,
VDS_VF_ACTIVE = 0x4,
VDS_VF_READONLY = 0x8,
VDS_VF_HIDDEN = 0x10,
VDS_VF_CAN_EXTEND = 0x20,
VDS_VF_CAN_SHRINK = 0x40,
VDS_VF_PAGEFILE = 0x80,
VDS_VF_HIBERNATION = 0x100,
VDS_VF_CRASHDUMP = 0x200,
VDS_VF_INSTALLABLE = 0x400,
VDS_VF_LBN_REMAP_ENABLED = 0x800,
VDS_VF_FORMATTING = 0x1000,
VDS_VF_NOT_FORMATTABLE = 0x2000,
VDS_VF_NTFS_NOT_SUPPORTED = 0x4000,
VDS_VF_FAT32_NOT_SUPPORTED = 0x8000,
VDS_VF_FAT_NOT_SUPPORTED = 0x10000,
VDS_VF_NO_DEFAULT_DRIVE_LETTER = 0x20000,
VDS_VF_PERMANENTLY_DISMOUNTED = 0x40000,
VDS_VF_PERMANENT_DISMOUNT_SUPPORTED = 0x80000,
VDS_VF_SHADOW_COPY = 0x100000,
VDS_VF_FVE_ENABLED = 0x200000,
VDS_VF_DIRTY = 0x400000,
VDS_VF_REFS_NOT_SUPPORTED = 0x800000,
VDS_VF_BACKS_BOOT_VOLUME = 0x1000000,
VDS_VF_BACKED_BY_WIM_IMAGE = 0x2000000
} VDS_VOLUME_FLAG;
Constants
VDS_VF_SYSTEM_VOLUME Value: 0x1 The volume is a system volume. |
VDS_VF_BOOT_VOLUME Value: 0x2 The volume is the boot volume. |
VDS_VF_ACTIVE Value: 0x4 The volume is active. That is, the bootIndicator value of the underlying partition is set to true. |
VDS_VF_READONLY Value: 0x8 The volume has a drive letter and a Mount Manager–assigned volume GUID name, and is enumerated by the FindFirstVolume and FindNextVolume functions. However, the volume is read-only. This flag does not apply to CD-ROM or DVD devices. |
VDS_VF_HIDDEN Value: 0x10 The volume does not have a drive letter and a Mount Manager–assigned volume GUID name. The volume is not enumerated by the FindFirstVolume and FindNextVolume functions. The volume can be opened by using its device name, and the opened volume can be read from or written to. An example of a volume device name is \?\GLOBALROOT\Device\HarddiskVolumeX. This flag does not apply to CD-ROM or DVD devices. |
VDS_VF_CAN_EXTEND Value: 0x20 The volume size can be extended. |
VDS_VF_CAN_SHRINK Value: 0x40 The volume size can be reduced. |
VDS_VF_PAGEFILE Value: 0x80 The volume contains a pagefile. |
VDS_VF_HIBERNATION Value: 0x100 The volume contains a hibernation file. |
VDS_VF_CRASHDUMP Value: 0x200 The volume contains the crash dump file. |
VDS_VF_INSTALLABLE Value: 0x400 VDS creates a hard partition under a dynamic volume that callers can use to install an operating system. Clearing this flag causes the partition to be deleted. This flag can be set or cleared only for dynamic disks; it is always set for basic disks. This flag does not apply to CD-ROM or DVD devices. |
VDS_VF_LBN_REMAP_ENABLED Value: 0x800 VDS can change the position of the volume on the disk dynamically. This flag is not valid for basic or dynamic volumes and is supported only by some third-party volume managers. |
VDS_VF_FORMATTING Value: 0x1000 The volume is being formatted. |
VDS_VF_NOT_FORMATTABLE Value: 0x2000 The volume cannot be formatted. This flag applies to small portable memory devices, removable devices, CDROM devices, and DVD devices. For CD and DVD devices, this is always set when there is media in the drive, and is not set if there is no media in the drive. |
VDS_VF_NTFS_NOT_SUPPORTED Value: 0x4000 The volume does not support NTFS, but can support other file systems. This flag applies to small portable memory devices, removable devices, CDROM devices, and DVD devices. |
VDS_VF_FAT32_NOT_SUPPORTED Value: 0x8000 The volume does not support FAT32. This flag applies to small portable memory devices, removable devices, CDROM devices, and DVD devices. |
VDS_VF_FAT_NOT_SUPPORTED Value: 0x10000 The volume does not support FAT. This flag applies to small portable memory devices, removable devices, CDROM devices, and DVD devices. |
VDS_VF_NO_DEFAULT_DRIVE_LETTER Value: 0x20000 The operating system does not assign a drive letter automatically the next time the volume is added to the computer. If cleared, the operating system assigns a drive letter to the volume under some conditions. For basic GPT volumes, assigning or removing a drive letter will toggle this flag. This flag does not apply to CD-ROM or DVD devices. Windows Server 2003: On dynamic volumes, this flag is always set and cannot be cleared. On basic volumes, it is cleared by default and can be set or cleared only by calling the IVdsVolume::SetFlags or IVdsVolume::ClearFlags method. |
VDS_VF_PERMANENTLY_DISMOUNTED Value: 0x40000 The volume is offline. Volume open will succeed on an offline volume. However, I/O against an offline volume will fail. Assigning an access path, such as a drive letter, to an offline volume causes it to become online. To set this flag, call the IVdsVolumeMF::Dismount method, setting the bForce and bPermanent parameters to TRUE. This flag does not apply to CD-ROM or DVD devices. Windows Server 2003: Offlining dynamic volumes is not supported. When a volume is offline, this flag is set in the ulFlags member of the VDS_VOLUME_PROP structure, and the VDS_VS_OFFLINE flag is also set in the status member of the VDS_VOLUME_PROP or VDS_VOLUME_PROP2 structure.Windows Server 2008, Windows Vista and Windows Server 2003: The VDS_VS_OFFLINE flag is not supported. |
VDS_VF_PERMANENT_DISMOUNT_SUPPORTED Value: 0x80000 The volume can be taken offline. |
VDS_VF_SHADOW_COPY Value: 0x100000 The volume is a shadow copy of another volume. This flag is set when the shadow copy is created. It is cleared when the shadow copy is broken from the original volume. The VDS_VF_SHADOW_COPY flag is an indication for file system filter driver-based software (such as antivirus programs) to avoid attaching to the volume. The attribute can be used by applications to differentiate shadow copy volumes from production volumes. Applications that perform a Fast Recovery where a shadow copy LUN is made into a non-shadow copy by clearing the read-only and hidden bit will need to clear this bit as well. This flag does not apply to CD-ROM or DVD devices. Windows Server 2003: This flag is not supported before Windows Server 2003 with SP1. |
VDS_VF_FVE_ENABLED Value: 0x200000 The volume is protected by BitLocker full-volume encryption. This flag does not apply to CD-ROM or DVD devices. Windows Server 2003: This flag is not supported. |
VDS_VF_DIRTY Value: 0x400000 The volume's dirty bit is set. Windows Server 2003: This flag is not supported. |
VDS_VF_REFS_NOT_SUPPORTED Value: 0x800000 |
VDS_VF_BACKS_BOOT_VOLUME Value: 0x1000000 |
VDS_VF_BACKED_BY_WIM_IMAGE Value: 0x2000000 |
Remarks
On an MBR basic disk, volume flags can be set only for the entire disk, not for individual volumes.
If the VDS_VF_NO_DEFAULT_DRIVE_LETTER flag is set on an MBR disk, any existing drive letters are preserved, but no new drive letters will be assigned to volumes on the disk.
This enumeration provides values for the ulFlags member of the VDS_VOLUME_PROP structure and the ulFlags parameter of the IVdsVolume::SetFlags and IVdsVolume::ClearFlags methods.
The following table compares the behavior of the VDS_VF_NO_DEFAULT_DRIVE_LETTER flag on MBR basic disks, GPT basic disks, and dynamic disks.
Feature | MBR basic disks | GPT basic disks | MBR or GPT dynamic disks |
---|---|---|---|
The VDS_VF_NO_DEFAULT_DRIVE_LETTER flag is cleared by default. However, this flag can be set by calling IVdsVolume::SetFlags. | Yes. | Yes. | Yes.Windows Server 2003: This flag is always set for dynamic disks and cannot be cleared. |
Assigning or removing a drive letter toggles the VDS_VF_NO_DEFAULT_DRIVE_LETTER flag setting. | No, because this flag is set or cleared for the entire disk. | Yes, because this flag is set or cleared for individual volumes. | Yes.Windows Server 2003: This flag is always set for dynamic disks and cannot be cleared. |
To create a boot volume on a dynamic disk, you must set the VDS_VF_INSTALLABLE flag for the volume and then format the volume by calling the IVdsVolumeMF::Format method.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2003 [desktop apps only] |
Header | vds.h |