Data Structures

The failover cluster data structures contain cluster information for value lists.

Many of these data structures include other data structures as members:

If a structure contains other structures as members, the description of the structure lists the members of the contained structures explicitly, rather than simply listing the contained structure. For example, ClusAPI.h defines a CLUSPROP_SZ structure as follows:

typedef struct _CLUSPROP_SZ {
  CLUSPROP_VALUE;
  WCHAR           sz[];
} CLUSPROP_SZ, *PCLUSPROP_SZ;

To promote clarity, this documentation describes CLUSPROP_SZ as:

typedef struct _CLUSPROP_SZ {
  CLUSPROP_SYNTAX Syntax;
  DWORD           cbLength;
  WCHAR           sz[];
} CLUSPROP_SZ, *PCLUSPROP_SZ;

The following diagram shows the relationship between many of the structures used as headers, the structures used to describe data values, and the structures used to hold data for the data values:

describes relationships between structures

In this section

CLUS_PARTITION_INFO_EX2

Describes the disk partition information of a storage class resource.

CLUSPROP_PARTITION_INFO_EX2

A value list entry that contains partition information for a storage class resource. This structure is as a input, and a as a return value for the CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO_EX2 control code.

CLUS_CHKDSK_INFO

Represents information about a Chkdsk operation.

CLUS_CSV_MAINTENANCE_MODE_INFO

enables or disables the maintenance mode on a cluster shared volume (CSV).

CLUS_CSV_VOLUME_INFO

Represents information about a cluster shared volume (CSV).

CLUS_CSV_VOLUME_NAME

Represents the name of a cluster shared volume (CSV).

CLUS_DISK_NUMBER_INFO

Represents information about the disk number of a physical disk.

CLUS_DNN_LEADER_STATUS

Represents the status of a Distributed Network Name (DNN) resource for a Scale-Out File Server.

CLUS_DNN_SODAFS_CLONE_STATUS

Represents the status of a Scale-Out File Server clone.

CLUS_FORCE_QUORUM_INFO

Specifies information about the list of nodes sufficient to establish quorum in a majority-of-nodes cluster.

CLUS_FTSET_INFO

Contains information about an FT (fault tolerant) set. This structure is used by the CLUSPROP_FTSET_INFO structure to create an entry in a value list.

CLUS_MAINTENANCE_MODE_INFO

Enables or disables maintenance mode on a cluster node.

CLUS_MAINTENANCE_MODE_INFOEX

Represents the extended maintenance mode settings for a storage class resource.

CLUS_NETNAME_IP_INFO_ENTRY

Represents IP information for a NetName resource.

CLUS_NETNAME_IP_INFO_FOR_MULTICHANNEL

Represents IP information for a NetName resource that has Multichannel enabled.

CLUS_NETNAME_PWD_INFO

Provides information for resetting the security principal associated with a computer name.

CLUS_NETNAME_VS_TOKEN_INFO

Contains the data needed to request a token. It is used as the input parameter of the CLUSCTL_RESOURCE_NETNAME_GET_VIRTUAL_SERVER_TOKEN control code.

CLUS_PARTITION_INFO

Contains data describing a storage class resource volume and file system. It is used as the data member of a CLUSPROP_PARTITION_INFO structure and as the return value of some control code operations.

CLUS_PARTITION_INFO_EX

Describes a storage class resource volume and file system.

CLUS_PROVIDER_STATE_CHANGE_INFO

Contains data about the state of a provider resource.

CLUS_RESOURCE_CLASS_INFO

Contains resource class data. It is used as the data member of a CLUSPROP_RESOURCE_CLASS_INFO structure and as the return value of some control code operations.

CLUS_SCSI_ADDRESS

Contains SCSI address data. It is used as the data member of a CLUSPROP_SCSI_ADDRESS structure and as the return value of some control code operations.

CLUS_SHARED_VOLUME_BACKUP_MODE

Describes the backup mode for CSV

CLUS_STARTING_PARAMS

Indicates whether a node's attempt to start the Cluster service represents an attempt to form or join a cluster, and whether the node has attempted to start this version of the Cluster service before. Resource DLLs receive the CLUS_STARTING_PARAMS structure with the CLUSCTL_RESOURCE_TYPE_STARTING_PHASE1 and CLUSCTL_RESOURCE_TYPE_STARTING_PHASE2 control codes.

CLUS_STORAGE_GET_AVAILABLE_DRIVELETTERS

Contains a bitmask of the driver letters that are available on a node. It is used as the return value of the CLUSCTL_RESOURCE_TYPE_STORAGE_GET_DRIVELETTERS control code.

CLUS_STORAGE_REMAP_DRIVELETTER

Identifies the existing and target drive letter for a disk drive on a node.

CLUS_STORAGE_SET_DRIVELETTER

Supplies drive letter information for a disk partition associated with a storage class resource.

CLUSPROP_BINARY

Describes a binary data value.

CLUSPROP_DISK_NUMBER

Describes a numeric value identifying the physical drive of a disk. It is used as an entry in a value list and consists of:

  • A CLUSPROP_VALUE structure describing the format, type, and length of the numeric data.
  • A DWORD value identifying the physical drive of a disk.

For convenience, the CLUSPROP_VALUE members are listed explicitly:

CLUSPROP_DISK_SIGNATURE

Describes the signature that is stored on the disk for identifying it to the operating system. The CLUSPROP_DISK_SIGNATURE structure is used as an entry in a value list and consists of:

  • A CLUSPROP_VALUE structure describing the format, type, and length of the numeric data.
  • A DWORD value.

For convenience, the CLUSPROP_VALUE members are listed explicitly:

CLUSPROP_DWORD

Describes numeric data. It is used as an entry in a value list and consists of:

  • A CLUSPROP_VALUE structure describing the format, type, and length of the numeric data.
  • A DWORD value.

For convenience, the CLUSPROP_VALUE members are listed explicitly:

CLUSPROP_FILETIME

Describes a date and time stamp for a file.

CLUSPROP_FTSET_INFO

Contains information about an FT (fault tolerant) set. It is used as an entry in a value list and consists of a CLUSPROP_VALUE and a CLUS_FTSET_INFO structure.

CLUSPROP_LARGE_INTEGER

Describes a signed large integer. It is used as an entry in a value list and consists of:

  • A CLUSPROP_VALUE structure indicating the format and type of the integer value.
  • Assigned large integer value.

For convenience, the CLUSPROP_VALUE members are listed explicitly.

CLUSPROP_LONG

Describes signed LONG data. It is used as an entry in a value list and consists of:

  • A CLUSPROP_VALUE structure describing the format, type, and length of the numeric data.
  • A LONG value.

For convenience, the CLUSPROP_VALUE members are listed explicitly:

CLUSPROP_MULTI_SZ

Describes multiple NULL-terminated Unicode strings. It is used as an entry in a value list and consists of:

  • A CLUSPROP_VALUE structure describing the format, type, and length of the partition information.
  • A string array.

For convenience, the CLUSPROP_VALUE members are listed explicitly:

CLUSPROP_PARTITION_INFO

Contains information relevant to storage class resources.

CLUSPROP_PARTITION_INFO_EX

The CLUSPROP_PARTITION_INFO_EX structure contains information relevant to storage class resources.

CLUSPROP_PROPERTY_NAME

Describes the name of a property. It is used as an entry in a value list and consists of:

  • A CLUSPROP_VALUE structure describing the format, type, and length of the property name.
  • A null-terminated Unicode string.

For convenience, the CLUSPROP_VALUE members are listed explicitly:

CLUSPROP_REQUIRED_DEPENDENCY

Describes a resource that is a required dependency of another resource. This union is used as a value in the value list returned from a CLUSCTL_RESOURCE_GET_REQUIRED_DEPENDENCIES or CLUSCTL_RESOURCE_TYPE_GET_REQUIRED_DEPENDENCIES control code operation.

CLUSPROP_RESOURCE_CLASS

Describes a resource class. It is used as an entry in a value list and consists of:

  • A CLUSPROP_VALUE structure describing the format, type, and length of the resource class value.
  • A CLUSTER_RESOURCE_CLASS value describing the resource class. CLUSTER_RESOURCE_CLASS is an enumeration defined in ClusAPI.h.

For convenience, the CLUSPROP_VALUE members are listed explicitly:

CLUSPROP_RESOURCE_CLASS_INFO

Describes information relating to a resource class. It is used as an entry in a value list and consists of:

  • A CLUSPROP_VALUE structure indicating the format and type of the resource class information.
  • A CLUS_RESOURCE_CLASS_INFO structure describing the resource class and subclass of the resource.

For convenience, the CLUSPROP_VALUE and CLUS_RESOURCE_CLASS_INFO members are listed explicitly.

CLUSPROP_SCSI_ADDRESS

Describes an address for a SCSI device. It is used as an entry in a value list and consists of:

For convenience, the CLUSPROP_VALUE and CLUS_SCSI_ADDRESS members are listed explicitly.

CLUSPROP_SECURITY_DESCRIPTOR

Describes a security descriptor.

CLUSPROP_SYNTAX

Describes the format and type of a data value. It is used as the Syntax member of the CLUSPROP_VALUE structure.

CLUSPROP_SZ

Describes a null-terminated Unicode string. It is used as an entry in a value list and consists of:

  • A CLUSPROP_VALUE structure indicating the format and type of string.
  • A null-terminated Unicode string.

For convenience, the CLUSPROP_VALUE members are listed explicitly.

CLUSPROP_ULARGE_INTEGER

Describes an unsigned large integer. It is used as an entry in a value list and consists of:

  • A CLUSPROP_VALUE structure indicating the format and type of the integer value.
  • An unsigned large integer value.

For convenience, the CLUSPROP_VALUE members are listed explicitly.

CLUSPROP_VALUE

Describes the syntax and length of a data value used in a value list. The CLUSPROP_VALUE structure is used as a generic header in all of the structures that describe data of a particular type, such as CLUSPROP_BINARY and CLUSPROP_SZ.

CLUSPROP_WORD

Describes numeric data. It is used as an entry in a value list and consists of:

  • A CLUSPROP_VALUE structure describing the format, type, and length of the numeric data.
  • A WORD value.

For convenience, the CLUSPROP_VALUE members are listed explicitly:

SR_RESOURCE_TYPE_DISK_INFO

Describes a set of information that indicates whether a disk is eligible for replication.

SR_RESOURCE_TYPE_ELIGIBLE_DISKS_RESULT

Describes a set of data disks retrieved by a resource type control code operation for storage replication.

SR_RESOURCE_TYPE_QUERY_ELIGIBLE_LOGDISKS

Describes a set of retrieved disks that can be used as log disks for the specified data disk.

SR_RESOURCE_TYPE_QUERY_ELIGIBLE_SOURCE_DATADISKS

Describes a set of retrieved data disks that can be used as source sites for replication.

SR_RESOURCE_TYPE_QUERY_ELIGIBLE_TARGET_DATADISKS

Describes a set of retrieved data disks that can be used as target sites for replication.

SR_RESOURCE_TYPE_REPLICATED_DISK

Represents a replicated disk.

SR_RESOURCE_TYPE_REPLICATED_DISKS_RESULT

Describes a retrieved set of replicated disks.

SR_RESOURCE_TYPE_REPLICATED_PARTITION_ARRAY

Lists the all replicated partitions on a disk.

SR_RESOURCE_TYPE_REPLICATED_PARTITION_INFO

Describes a replicated partition.

Failover Cluster Structures