3.2.5.8 Receiving a RopLongTermIdFromId ROP Request

The server searches the REPLID and REPLGUID to-and-from mapping table for the replica ID (REPLID) portion of the given Folder ID or Message ID, as specified in [MS-OXCDATA] sections 2.2.1.1 or 2.2.1.2. The server does not attempt to confirm that the given Folder ID or Message ID is a change number for an existing or former object, is an identifier for an existing or former object, or has ever been assigned for any reason.

If the REPLID is not in the REPLID and REPLGUID to-and-from mapping table, the operation SHOULD<43> fail with a ReturnValue of 0x8004010F. A REPLID MUST NOT have a value of zero.

The server MUST map the same REPLID to the same replica GUID (REPLGUID) every time it is queried. Other servers can map a particular REPLID to a different REPLGUID, but each server MUST map any particular REPLID to the same REPLGUID every time it is queried.

After obtaining the REPLGUID from the REPLID and REPLGUID to-and-from mapping table, the server uses the REPLGUID to construct the 192-bit LongTermID, as specified in [MS-OXCDATA] section 2.2.1.3.1, which is returned in the LongTermId field. The LongTermID consists of the 128-bit REPLGUID, followed by the 48-bit global counter portion of the given Folder ID or Message ID, followed by 16 bits of padding set to 0x0000.

The following specific error codes apply to this ROP. Other possible error codes are specified in [MS-OXCDATA] section 2.4.

Name

Value

Meaning

ecNone

0x00000000

Success.

ecNotFound

0x8004010F

The REPLID portion of the ID could not be found in the REPLID and REPLGUID to-and-from mapping table.