2.2.1.25 CTableColumn

The CTableColumn structure contains a column of a CPMSetBindingsIn message.


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

PropSpec (variable)

...

vType

ValueUsed

_padding1 (optional)

ValueOffset (optional)

ValueSize (optional)

StatusUsed

_padding2 (optional)

StatusOffset (optional)

LengthUsed

_padding3 (optional)

LengthOffset (optional)

PropSpec (variable): A CFullPropSpec structure.

vType (4 bytes): Specifies the type of data value contained in the column. For the list of values for this field, see the vType field in section 2.2.1.1.

Note The vType values specified in section 2.2.1.1 are 16-bit values. Those values are padded with zeros to 32-bit values for use in this field.

ValueUsed (1 byte): A 1-byte field that MUST be set to one of the following values.

Value

Meaning

0x00

The value of the column is not transferred in the row.

0x01

The value of the column is transferred within the row.

_padding1 (1 byte): A 1-byte field.

Note This field MUST be inserted before ValueOffset if, without it, ValueOffset would not begin at an even offset from the beginning of the message. The value of this byte is arbitrary and MUST be ignored. If ValueUsed is set to 0x00, this field MUST NOT be present.

ValueOffset (2 bytes): An unsigned 2-byte integer specifying the offset of the column value in the row. If ValueUsed is set to 0x00, this field MUST NOT be present.

ValueSize (2 bytes): An unsigned 2-byte integer specifying the size of the column value in bytes. If ValueUsed is set to 0x00, this field MUST NOT be present.

StatusUsed (1 byte): A 1-byte field that MUST be set to one of the following values.

Value

Meaning

0x00

The status of the column is not transferred within the row.

0x01

The status of the column is transferred within the row.

_padding2 (1 byte): A 1-byte field.

Note This field MUST be inserted before StatusOffset if, without it, the StatusOffset field would not begin at an even offset from the beginning of the message. The value of this byte is arbitrary and MUST be ignored. If StatusUsed is set to 0x00, this field MUST NOT be present.

StatusOffset (2 bytes): An unsigned 2-byte integer. Specifies the offset of the column status in the row. That is, the StatusOffset is relative to the beginning of each row.

If StatusUsed is set to 0x00, this field MUST NOT be present.

If StatusUsed is set to 0x01 in the request, Status is represented as one byte in the response by the offset specified in the StatusOffset request field. The status byte MUST be equal to one of the following values.

Value

Meaning

0x00

StatusOK

0x01

StatusDeferred

0x02

StatusNull

If the property value is absent for this row, the server MUST set the status byte to StatusNull. If the value is too big to be transferred in the CPMGetRowsOut message (greater than 2048 bytes), the server MUST set the status byte to StatusDeferred. Otherwise, the server MUST set the status byte to StatusOK.

LengthUsed (1 byte): A 1-byte field that MUST be set to one of the following values.

Value

Meaning

0x00

The length of the column MUST NOT be transferred within the row.

0x01

The length of the column is transferred within the row.

_padding3 (1 byte): A 1-byte field.

Note This field MUST be inserted before LengthOffset if, without it, LengthOffset would not begin at an even offset from the beginning of a message. The value of this byte is arbitrary, and MUST be ignored. If LengthUsed is set to 0x00, this field MUST NOT be present.

LengthOffset (2 bytes):  An unsigned 2-byte integer specifying the offset of the column length in the row. In CPMGetRowsOut, length is represented by a 32-bit unsigned integer by the offset specified in LengthOffset. If LengthUsed is set to 0x00, this field MUST NOT be present.