IProviderSyncServices::CreateReplicaKeyMap
Creates an IReplicaKeyMap for a specified replica.
The replica key map object maps between replica IDs and 4-byte keys and is required for creating synchronization knowledge. Because of the repeated need for replica IDs in the synchronization metadata, Sync Framework uses a table to map replica IDs down to 4-byte keys and uses the replica keys throughout the synchronization metadata instead of replica IDs.
The following example uses IProviderSyncServices to create several objects. The example stores the objects for later use.
IProviderSyncServices* pProvSvc; hr = GetProviderSyncServices(&c_idParams, &pProvSvc); if (SUCCEEDED(hr)) { IReplicaKeyMap* pReplicaKeyMap = NULL; hr = pProvSvc->CreateReplicaKeyMap((BYTE*)&guidReplicaID, &pReplicaKeyMap); if (SUCCEEDED(hr)) { hr = SetReplicaKeyMap(pReplicaKeyMap); if (SUCCEEDED(hr)) { ISyncKnowledge* pKnowledge = NULL; hr = pProvSvc->CreateSyncKnowledge(0, pReplicaKeyMap, &pKnowledge); if (SUCCEEDED(hr)) { hr = SetKnowledge(pKnowledge); if (SUCCEEDED(hr)) { IForgottenKnowledge* pForgottenKnowledge = NULL; hr = pProvSvc->CreateForgottenKnowledge(pReplicaKeyMap, &pForgottenKnowledge); if (SUCCEEDED(hr)) { hr = SetForgottenKnowledge(pForgottenKnowledge); pForgottenKnowledge->Release(); } } pKnowledge->Release(); } } pReplicaKeyMap->Release(); } pProvSvc->Release(); }
Show: