2.2.3.17.1 BATCH_UPDATE_COMMAND

The BATCH_UPDATE_COMMAND is a stream of bytes that describes an individual update to be applied to the cluster registry or returned from a call to ApiExecuteReadBatch (section 3.1.4.2.141). It defines two variable-length fields, Name and Data, that MUST be present in the stream if their associated length fields are nonzero. The end of each structure is aligned to a 16-bit boundary.

The BATCH_UPDATE_COMMAND is a custom-marshaled structure that has fields as follows.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

CommandType

ValueType

NameLength

Name (variable)

...

DataLength

Data (variable)

...

Padding (optional)

CommandType (4 bytes): An unsigned 32-bit integer. A CLUSTER_REG_BATCH_COMMAND (section 2.2.2.8) enumeration value that indicates the type of update operation.

ValueType (4 bytes): An unsigned 32-bit integer. The ValueType field MUST be set to one of the types specified in ApiSetValue (section 3.1.4.2.33 when the CommandType field is set to CLUSREG_SET_VALUE or CLUSREG_READ_VALUE. If CommandType is set to CLUSREG_READ_ERROR, the value is a status code. Otherwise, the field is ignored. The server SHOULD support all values as specified in ApiSetValue.<25>

NameLength (4 bytes): An unsigned 32-bit integer indicating the size, in bytes, of the string stored in the Name field. Minimum value is two, indicating the Name field contains the null Unicode string (0x0000).

Name (variable): A variable-length, null-terminated Unicode string containing the name of the key or value on which the command is executed.

DataLength (4 bytes): An unsigned 32-bit integer indicating the size, in bytes, of the binary data stored in the Data field. Can be zero.

Data (variable): A variable-length series of 8-bit integers containing the data associated with a CLUSREG_SET_VALUE operation. This field is not present if the DataLength field is set to zero.

Padding (1 byte): Up to 1 byte. A variable-length series of zero or one 8-bit integers used to align the end of the structure to a 16-bit boundary. This field is not present if the DataLength field is of even length.