VDS_DISK_PROP 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 properties of a disk object.

Syntax

typedef struct _VDS_DISK_PROP {
  VDS_OBJECT_ID        id;
  VDS_DISK_STATUS      status;
  VDS_LUN_RESERVE_MODE ReserveMode;
  VDS_HEALTH           health;
  DWORD                dwDeviceType;
  DWORD                dwMediaType;
  ULONGLONG            ullSize;
  ULONG                ulBytesPerSector;
  ULONG                ulSectorsPerTrack;
  ULONG                ulTracksPerCylinder;
  ULONG                ulFlags;
  VDS_STORAGE_BUS_TYPE BusType;
  VDS_PARTITION_STYLE  PartitionStyle;
  union {
    DWORD dwSignature;
    GUID  DiskGuid;
  };
  LPWSTR               pwszDiskAddress;
  LPWSTR               pwszName;
  LPWSTR               pwszFriendlyName;
  LPWSTR               pwszAdaptorName;
  LPWSTR               pwszDevicePath;
} VDS_DISK_PROP, *PVDS_DISK_PROP;

Members

id

The GUID of the disk object.

status

The availability of a physical disk enumerated by VDS_DISK_STATUS. If the VDS service cannot open a handle to the disk, it sets this member to VDS_DS_UNKNOWN.

Note  This member can be VDS_DS_ONLINE, even if the status of the containing pack is VDS_PS_OFFLINE.
 

ReserveMode

This member is reserved for future use.

health

A VDS_HEALTH enumeration value that specifies the health state of the disk. The following are the valid values for this member.

VDS_H_UNKNOWN (0)

VDS_H_HEALTHY (1)

VDS_H_FAILING (4)

VDS_H_FAILED (8)

dwDeviceType

The device type defined in Winioctl.h, which includes the following types among others:

dwMediaType

A media type enumerated by STORAGE_MEDIA_TYPE. Basic and dynamic disks map to the FixedMedia enumerator. For more information, see STORAGE_MEDIA_TYPE.

ullSize

The size of the disk in bytes. To determine the maximum volume size for a disk, call IVdsDisk3::QueryFreeExtents and add the sizes of all free extents.

ulBytesPerSector

The number of bytes in each sector.

ulSectorsPerTrack

The number of sectors in each track.

ulTracksPerCylinder

The number of tracks in each cylinder.

ulFlags

A bitmask of VDS_DISK_FLAG enumeration values that specify various disk attributes.

BusType

The input/output bus types enumerated by VDS_STORAGE_BUS_TYPE.

PartitionStyle

A VDS_PARTITION_STYLE enumeration value that specifies the partition type. This member is the discriminant for the union.

dwSignature

Used if PartitionStyle is VDS_PST_MBR (1). The signature for the MBR partition. This value is not guaranteed to be unique.

DiskGuid

Used if PartitionStyle is VDS_PST_GPT (2). The GUID for the disk. In addition, each GPT partition has its own GUID. (See VDS_PARTITION_INFO_GPT.)

pwszDiskAddress

The address of a SCSI-like disk in PortNNNPathNNNTargetNNNLunNNN format, where NNN is one or more digits.

SCSI disks, IDE disks, and Fibre Channel disks can have such an address. USB and 1394 disks have different address formats and are not stored.

This member is optional and can be NULL if no value is available. If it is not NULL, its length must be greater than or equal to 22 WCHAR and less than or equal to 64 WCHAR, including the required NULL terminator. Applications that receive the VDS_DISK_PROP structure by calling IVdsDisk::GetProperties must check whether this member is NULL.

pwszName

The name used to open a handle to an object created using the CreateFile function. For example: \\?\PhysicalDrive2

pwszFriendlyName

The name returned by the Plug and Play Manager. This name is maintained in the Windows registry by the Plug and Play Manager, for example: "SEAGATE ST34573N SCSI Disk Device".

pwszAdaptorName

The name of the adapter to which this disk is attached. The Plug and Play Manager returns the name, which is maintained in the Windows registry, for example: "Adaptec AHA-2940U2W - Ultra2 SCSI".

pwszDevicePath

The string returned by the Plug and Play Manager. The Plug and Play Manager uses the device path to uniquely identify a device on a computer. For more information, see SP_DEVICE_INTERFACE_DETAIL_DATA_W.

Remarks

The IVdsDisk::GetProperties method returns the value of this structure to report the properties of a disk 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

IVdsDisk::GetProperties

VDS Structures

VDS_DISK_FLAG

VDS_DISK_PROP2

VDS_DISK_STATUS

VDS_HEALTH

VDS_PARTITION_INFO_GPT

VDS_PARTITION_INFO_MBR

VDS_PARTITION_STYLE

VDS_STORAGE_BUS_TYPE