2.2.2.3 CLUSTER_PROPERTY_SYNTAX

msdn link

The CLUSTER_PROPERTY_SYNTAX enumeration provides the possible values for the syntax structures in a PROPERTY_LIST (section 2.2.3.10) structure. CLUSTER_PROPERTY_SYNTAX values are unsigned 32-bit integers.

The upper 2 bytes of a CLUSTER_PROPERTY_SYNTAX MUST be a valid CLUSTER_PROPERTY_TYPE (section 2.2.2.1) enumeration value. The lower 2 bytes of a CLUSTER_PROPERTY_SYNTAX MUST be a valid CLUSTER_PROPERTY_FORMAT (section 2.2.2.2) enumeration value. As a combination of the CLUSTER_PROPERTY_TYPE and CLUSTER_PROPERTY_FORMAT, the CLUSTER_PROPERTY_SYNTAX specifies for the client both the semantics of a property data value and its representation in the property value buffer. Use the values that are specified here as a single value that has the meaning that is indicated in the structure that follows.

The client MUST NOT specify a syntax value of CLUSPROP_SYNTAX_LIST_VALUE_EXPANDED_SZ when adding a property value to a PROPERTY_LIST.

When constructing a PROPERTY_LIST for any property value of syntax CLUSPROP_SYNTAX_LIST_VALUE_EXPAND_SZ to return to the client, the PROPERTY_LIST MUST contain two property values. The first property value is of syntax CLUSPROP_SYNTAX_LIST_VALUE_EXPAND_SZ and the second property value is of syntax CLUSPROP_SYNTAX_LIST_VALUE_EXPANDED_SZ. The first value contains the property value exactly as it is stored on the server. The second value contains the property value as it is stored on the server, except that each embedded environment variable has been replaced by its value as stored on the server.

The valid constant values for CLUSTER_PROPERTY_SYNTAX are listed below. The server MUST return only these values. All other values are reserved and MUST be treated as an error.

 typedef  enum 
 {
   CLUSPROP_SYNTAX_ENDMARK = 0x00000000,
   CLUSPROP_SYNTAX_NAME = 0x00040003,
   CLUSPROP_SYNTAX_RESCLASS = 0x00020002,
   CLUSPROP_SYNTAX_LIST_VALUE_SZ = 0x00010003,
   CLUSPROP_SYNTAX_LIST_VALUE_EXPAND_SZ = 0x00010004,
   CLUSPROP_SYNTAX_LIST_VALUE_DWORD = 0x00010002,
   CLUSPROP_SYNTAX_LIST_VALUE_BINARY = 0x00010001,
   CLUSPROP_SYNTAX_LIST_VALUE_MULTI_SZ = 0x00010005,
   CLUSPROP_SYNTAX_LIST_VALUE_LONG = 0x00010007,
   CLUSPROP_SYNTAX_LIST_VALUE_EXPANDED_SZ = 0x00010008,
   CLUSPROP_SYNTAX_LIST_VALUE_SECURITY_DESCRIPTOR = 0x00010009,
   CLUSPROP_SYNTAX_LIST_VALUE_LARGE_INTEGER = 0x0001000a,
   CLUSPROP_SYNTAX_LIST_VALUE_ULARGE_INTEGER = 0x00010006,
   CLUSPROP_SYNTAX_LIST_VALUE_WORD = 0x0001000b,
   CLUSPROP_SYNTAX_LIST_VALUE_FILETIME = 0x0001000c,
   CLUSPROP_SYNTAX_DISK_SIGNATURE = 0x00050002,
   CLUSPROP_SYNTAX_SCSI_ADDRESS = 0x00060002,
   CLUSPROP_SYNTAX_DISK_NUMBER = 0x00070002,
   CLUSPROP_SYNTAX_PARTITION_INFO = 0x00080001,
   CLUSPROP_SYNTAX_DISK_SERIALNUMBER = 0x000a0003,
   CLUSPROP_SYNTAX_DISK_GUID = 0x000b0003,
   CLUSPROP_SYNTAX_DISK_SIZE = 0x000c0006,
   CLUSPROP_SYNTAX_PARTITION_INFO_EX = 0x000d0001,
   CLUSPROP_SYNTAX_PARTITION_INFO_EX2 = 0x000e0001
 } CLUSTER_PROPERTY_SYNTAX;

CLUSPROP_SYNTAX_ENDMARK: Marks the end of a value list.

CLUSPROP_SYNTAX_NAME: Specifies a property name as an unsigned long.

CLUSPROP_SYNTAX_RESCLASS: Specifies a resource class value as an unsigned long.

CLUSPROP_SYNTAX_LIST_VALUE_SZ: Specifies a NULL-terminated Unicode string value.

CLUSPROP_SYNTAX_LIST_VALUE_EXPAND_SZ: Specifies a NULL-terminated Unicode string value that contains embedded environment variables.

CLUSPROP_SYNTAX_LIST_VALUE_DWORD: Specifies a 32-bit unsigned integer value.

CLUSPROP_SYNTAX_LIST_VALUE_BINARY: Specifies a value that is a series of one or more 8-bit integers.

CLUSPROP_SYNTAX_LIST_VALUE_MULTI_SZ: Specifies a value that is a MULTI_SZ string, as specified in [MS-DTYP] section 2.3.8.

CLUSPROP_SYNTAX_LIST_VALUE_LONG: Specifies a 32-bit signed integer value.

CLUSPROP_SYNTAX_LIST_VALUE_EXPANDED_SZ: Specifies a NULL-terminated Unicode string value that used to contain embedded environment variables that have been substituted with their corresponding values on the server.

CLUSPROP_SYNTAX_LIST_VALUE_SECURITY_DESCRIPTOR: Specifies a value that is a SECURITY_DESCRIPTOR structure, as specified in [MS-DTYP] section 2.4.6.

CLUSPROP_SYNTAX_LIST_VALUE_LARGE_INTEGER: Specifies a value that is a LARGE_INTEGER structure, as specified in [MS-DTYP] section 2.3.5.

CLUSPROP_SYNTAX_LIST_VALUE_ULARGE_INTEGER: Specifies a value that is a ULARGE_INTEGER structure, as specified in [MS-DTYP] section 2.3.15.

CLUSPROP_SYNTAX_LIST_VALUE_WORD: Specifies a 16-bit unsigned integer value.

CLUSPROP_SYNTAX_LIST_VALUE_FILETIME: Specifies a value that is a FILETIME structure, as specified in [MS-DTYP] section 2.3.3.

CLUSPROP_SYNTAX_DISK_SIGNATURE: Specifies a disk signature as an unsigned long.

CLUSPROP_SYNTAX_SCSI_ADDRESS: Specifies a SCSI address value in a CLUS_SCSI_ADDRESS (section 2.2.3.8) data structure.

CLUSPROP_SYNTAX_DISK_NUMBER: Specifies a disk number as an unsigned long.

CLUSPROP_SYNTAX_PARTITION_INFO: Specifies a collection of information about a physical disk resource, such as its device name and volume label. Partition information is contained in a CLUS_PARTITION_INFO (section 2.2.3.9) structure.

CLUSPROP_SYNTAX_DISK_SERIALNUMBER: Specifies the serial number of a disk as a NULL-terminated Unicode string.

CLUSPROP_SYNTAX_DISK_GUID: Specifies a GUID for a GPT disk in the form of a NULL-terminated Unicode curly braced GUID string, as specified in [MS-DTYP] section 2.3.4.

CLUSPROP_SYNTAX_DISK_SIZE: Specifies a value containing the total size of the disk, in bytes, as an ULARGE_INTEGER structure, as specified in [MS-DTYP] section 2.3.15.

CLUSPROP_SYNTAX_PARTITION_INFO_EX: Specifies a collection of information about a physical disk resource, such as its device name and volume label. Partition information is contained in a CLUS_PARTITION_INFO_EX (section 2.2.3.11) structure.

CLUSPROP_SYNTAX_PARTITION_INFO_EX2: Specifies a collection of information about a physical disk resource, such as its device name and volume label. Partition information is contained in a CLUS_PARTITION_INFO_EX2 (section 2.2.3.45) structure.