2.2.3.9 CPMFetchValueOut

The CPMFetchValueOut message replies to a CPMFetchValueIn message with a metadata about the most recent previously issued query. As specified in section 3.1.5.4, this message is sent after each CPMFetchValueIn message until all bytes of the metadata are transferred. The message length including header MUST be less than or equal to the value of _cbChunk specified in the CPMFetchValueIn message.

The format of the CPMFetchValueOut message that follows the header is shown in the following diagram.


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

_cbValue

_fMoreExists

_fValueExists

vValue (variable)

...

_cbValue (4 bytes): A 32-bit unsigned integer containing the size in bytes of the vValue field.

_fMoreExists (4 bytes): A Boolean value indicating whether there are additional CPMFetchValueOut messages available. If this value is set to 0x00000001, the message size MUST be equal to the value of the _cbChunk field in CPMFetchValueIn.

Value

Meaning

0x00000000

There is no additional data available.

0x00000001

There is additional data available.

_fValueExists (4 bytes): A reserved 32-bit unsigned integer. MUST be set to 0x00000001.

vValue (variable): A portion of a byte array containing a QUERYMETADATA where the offset of the beginning of the portion is the value of _cbSoFar in CPMFetchValueIn.