2.2.5 DISK_PROPS

The DISK_PROPS structure holds information about a single disk.<3>

 typedef struct _DISK_PROPS {
   unsigned long DiskNumber;
   CPREP_DISKID DiskId;
   unsigned long DiskBusType;
   DiskStackType StackType;
   CPREP_SCSI_ADDRESS ScsiAddress;
   long DiskIsClusterable;
   wchar_t AdapterDesc[260];
   unsigned long NumPaths;
   unsigned long Flags;
 } DISK_PROPS,
  *PDISK_PROPS;

DiskNumber: The zero-based device number assigned to the disk by the operating system.

DiskId: A valid CPREP_DISKID structure with the correct identifier for the disk.

DiskBusType: The type of bus to which the disk is attached. It MAY<4> be one of the following values.

Value

Meaning

BusTypeUnknown

0x00000000

The bus type is not one of those that follows.

BusTypeScsi

0x00000001

The bus type is SCSI.

BusTypeAtapi

0x00000002

The bus type is AT attachment packet interface (ATAPI).

BusTypeAta

0x00000003

The bus type is advanced technology attachment (ATA).

BusType1394

0x00000004

The bus type is IEEE 1394.

BusTypeSsa

0x00000005

The bus type is serial storage architecture (SSA).

BusTypeFibre

0x00000006

The bus type is Fibre Channel.

BusTypeUsb

0x00000007

The bus type is universal serial bus (USB).

BusTypeRAID

0x00000008

The bus type is redundant array of independent disks (RAID).

BusTypeiScsi

0x00000009

The bus type is iSCSI.

BusTypeSas

0x0000000A

The bus type is Serial Attached SCSI (SAS).

BusTypeSata

0x0000000B

The bus type is Serial ATA (SATA).

BusTypeSd

0x0000000C

The bus type is Sd.

BusTypeMmc

0x0000000D

The bus type is Mmc.

BusTypeVirtual

0x0000000E

The bus type is Virtual.

BusTypeFileBackedVirtual

0x0000000F

The bus type is File Backed Virtual.

BusTypeSpaces

0x00000010

The bus is type Spaces.

StackType: The driver subtype of the device driver. It MUST be one of the valid values for DiskStackType.

ScsiAddress: The SCSI address of the disk. It MUST be a valid CPREP_SCSI_ADDRESS.

DiskIsClusterable: A Boolean flag that indicates whether the disk can be represented by a storage class resource in a failover cluster, as specified in [MS-CMRP]. A value of TRUE or 1 indicates that the disk can be represented by a storage class resource. A value of FALSE or 0 indicates that the disk cannot be represented by a storage class resource. The value of the DiskIsClusterable member can be determined in an implementation-specific way.

AdapterDesc: A user-friendly description of the adapter to which the disk is connected.

NumPaths: The number of IO paths to the disk. A Multipath I/O (MPIO) disk has a number greater than 1.

Flags: Information about the disk. It MAY<5> be one or more of the following values bitwise OR'd together.

Value

Meaning

DISK_BOOT

0x00000001

The disk is the boot device.

DISK_SYSTEM

0x00000002

The disk contains the operating system.

DISK_PAGEFILE

0x00000004

The disk contains an operating system pagefile.

DISK_HIBERNATE

0x00000008

The disk will be used to store system hibernation data.

DISK_CRASHDUMP

0x00000010

The disk will be used to store system crash dump data.

DISK_REMOVABLE

0x00000020

The disk is on removable media.

DISK_CLUSTERNOSUPP

0x00000040

The disk is not supported by the cluster implementation. The criteria for support are implementation-specific.

DISK_BUSNOSUPP

0x00000100

The disk is on a bus not supported by the cluster implementation. The criteria for support are implementation-specific.

DISK_SYSTEMBUS

0x00000200

The disk is on the same bus as the disk containing the operating system.

DISK_ALREADY_CLUSTERED

0x00000400

The disk is already controlled by the cluster.

DISK_SYTLE_MBR

0x00001000

The disk is MBR.

DISK_STYLE_GPT

0x00002000

The disk is GPT.

DISK_STYLE_RAW

0x00004000

The disk is neither MBR nor GPT.

DISK_PART_BASIC

0x00008000

The disk is configured with basic volumes.

DISK_PART_DYNAMIC

0x00010000

The disk is configured with dynamic volumes.

DISK_CLUSTERED_ONLINE

0x00020000

The disk is controlled by the cluster and is online.

DISK_UNREADABLE

0x00040000

The disk cannot be read.

DISK_MPIO

0x00080000

The disk is controlled by MPIO.

DISK_CLUSTERED_OTHER

0x00100000

The disk is controlled by cluster software other than the failover cluster implementation.

DISK_MISSING

0x00200000

The disk could not be found.

DISK_REDUNDANT

0x00400000

The disk is exposed to the operating system multiple times through redundant paths.

DISK_SNAPSHOT

0x00800000

The disk is a snapshot disk.

DISK_FAILING_IO

0x02000000

The disk is unable to gather disk information.

DISK_NO_PAGE83

0x04000000

The disk does not have a Device Identification VPD page (see [SPC-3] section 7.6.3) with PAGE CODE (see [SPC-3] table 294) set to 83h, a device ASSOCIATION (see [SPC-3] table 297), and IDENTIFIER TYPE (see [SPC-3] table 298) of Type 8, Type 3, or Type 2.

DISK_COLLISION

0x08000000

The disk's signature collides with the signature on another disk visible to this server, and disk signature collision resolution is disabled.

DISK_OUTOFSPACE

0x10000000

The disk is a thin-provisioned LUN that has no free space.

DISK_POOL_DRIVE

0x20000000

The disk is a member of a storage pool.

DISK_POOL_DRIVE_NOT_TESTABLE

0x40000000

The disk is a member of a storage pool and cannot be tested because the storage pool is in use.

DISK_POOL_CLUSTERED

0x80000000

The disk is member of a storage pool and the storage pool to which it belongs is a cluster resource.