IProviderSyncServices::CreateSyncKnowledge
Crée un objet ISyncKnowledge vide qui appartient à un réplica spécifié.
Syntaxe
HRESULT CreateSyncKnowledge(
ULONGLONG ullCurrentTickCount,
IReplicaKeyMap *pReplicaKeyMap,
ISyncKnowledge **ppKnowledge);
Paramètres
pullCurrentTickCount
[in] Nombre de cycles actuel pour le réplica qui possède l'objet de connaissance nouvellement créé.pReplicaKeyMap
[in] Mappage de clés de réplica qui sera contenu par l'objet de connaissance nouvellement créé.ppKnowledge
[out] Retourne l'objet de connaissance nouvellement créé.
Valeur de retour
S_OK
E_OUTOFMEMORY
E_POINTER
SYNC_E_INVALID_OPERATION lorsque cet objet n'est pas initialisé.
Exemple
L'exemple suivant utilise IProviderSyncServices pour créer plusieurs objets. L'exemple stocke les objets en vue d'une utilisation ultérieure.
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();
}