Share via


IProviderSyncServices::CreateReplicaKeyMap

Crea una interfaz IReplicaKeyMap para la réplica especificada.

Sintaxis

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();
}

Vea también

Otros recursos

Interfaz IProviderSyncServices