IProviderSyncServices::CreateReplicaKeyMap
Crea una interfaz IReplicaKeyMap para la réplica especificada.
HRESULT CreateReplicaKeyMap(
const BYTE *pbReplicaId,
IReplicaKeyMap **ppReplicaKeyMap);
Parámetros
- pbReplicaId
[in] Identificador de la réplica a la que pertenece este mapa de claves de réplica.
- ppReplicaKeyMap
[out] Devuelve el objeto de mapa de claves de réplica que se acaba de crear.
Valor devuelto
S_OK
E_OUTOFMEMORY
E_POINTER
SYNC_E_INVALID_OPERATION si este objeto no está inicializado.
SYNC_E_ID_FORMAT_MISMATCH si el identificador especificado mediante pbReplicaId no tiene el formato especificado por el esquema de formato de identificador usado para inicializar este objeto.
Notas
El objeto de mapa de claves de réplica establece una asignación entre identificadores de réplica y claves de 4 bytes, y es necesario para crear el conocimiento de sincronización. Dado que los identificadores de réplica se necesitan repetidamente en los metadatos de sincronización, Sync Framework usa una tabla para asignar claves de 4 bytes a los identificadores de réplica y usa las claves de réplica en los metadatos de sincronización en lugar de los identificadores de réplica.
Ejemplo
En el ejemplo siguiente se utiliza IProviderSyncServices
para crear varios objetos. En el ejemplo se almacenan los objetos para uso posterior.
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();
}