Value Lists for Storage Class Resources

The CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO and CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS control codes return value lists describing storage class resources.

A single storage class resource is described by a value list entry consisting of one or more data structures, as follows:

  • The value list entry must always begin with a CLUSPROP_SYNTAX_DISK_SIGNATURE value containing a CLUSPROP_DISK_SIGNATURE structure specifying the signature (for MBR-formatted storage class resources) or CLUSPROP_SYNTAX_DISK_GUID value specifying the GUID (for GPT-formatted storage class resources.)

  • The value list entry may contain the following structures in any order:

    • A CLUSPROP_SYNTAX_SCSI_ADDRESS value containing a CLUSPROP_SCSI_ADDRESS structure describing the SCSI address of the storage class resource (if applicable).
    • A CLUSPROP_SYNTAX_DISK_NUMBER value containing a CLUSPROP_DISK_NUMBER structure specifying the disk number of the storage class resource (if applicable).
    • A CLUSPROP_SYNTAX_DISK_SIZE value containing a ULARGE_INTEGER specifying the total size, in bytes, of the storage class resource.
    • One or more CLUSPROP_SYNTAX_PARTITION_INFO values, each containing a CLUSPROP_PARTITION_INFO structure for each drive letter or partition assigned to the storage class resource (if applicable).

The value list returned from CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO describes information about a single storage class resource and thus contains only one of these entries terminated by a CLUSPROP_SYNTAX_ENDMARK value.

The value list returned from CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS describes information about a multiple storage class resources as a series of such entries, with the entire series terminated by a CLUSPROP_SYNTAX_ENDMARK value. Each CLUSPROP_DISK_SIGNATURE structure marks the start of a new entry and identifies the storage class resource described by the entry. Thus the CLUSPROP_DISK_SIGNATURE structure acts like an index or key when the list is parsed.