2.2.3.19 CPMFetchValueIn

The CPMFetchValueIn message requests a property value. As specified in section 3.2.4.2.5, this message is sent repeatedly to retrieve all bytes of the property, updating _cbSoFar for each, until the _fMoreExists field of the CPMFetchValueOut message is set to FALSE.

The format of the CPMFetchValueIn 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

_wid

_cbSoFar

_cbPropSpec

_cbChunk

PropSpec (variable)

...

_padding (variable)

...

_wid (4 bytes): A 32-bit unsigned integer representing the document ID identifying the document for which a property is fetched.

_cbSoFar (4 bytes): A 32-bit unsigned integer containing the number of bytes previously transferred for this property.

Note This field MUST be set to 0x00000000 in the first message.

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

_cbChunk (4 bytes): A 32-bit unsigned integer containing the maximum number of bytes that the sender can accept in a CPMFetchValueOut message.<11>

PropSpec (variable): A CFullPropSpec structure specifying the property to retrieve.

_padding (variable): This field MUST be of the length necessary (0 to 3 bytes) to pad the message out to a multiple of 4 bytes in length. The value of the padding bytes can be any arbitrary value. This field MUST be ignored by the receiver.