다음을 통해 공유


ISyncMetadataStore::InitializeReplicaMetadata

복제본에 대한 새 메타데이터를 만들고, 초기화하고, 저장합니다.

HRESULT InitializeReplicaMetadata(
  BYTE * pbReplicaId,
  ID_PARAMETERS * idParameters,
  CUSTOM_FIELD_DEFINITION * pItemCustomFields,
  ULONG cItemCustomFields,
  CUSTOM_FIELDS_INDEX * pItemCustomFieldsIndexes,
  BYTE cItemCustomFieldsIndexes);

매개 변수

  • pbReplicaId
    [in] 생성 및 초기화 중인 메타데이터에서 나타내는 복제본의 복제본 ID입니다.
  • idParameters
    [in] 공급자에 대한 ID 형식 스키마입니다.
  • pItemCustomFields
    [in, size_is(cItemCustomFields)] 메타데이터 항목과 연결된 사용자 지정 메타데이터 필드를 설명하는 스키마 정보입니다. 사용자 지정 메타데이터 필드가 없으면 NULL일 수 있습니다.
  • cItemCustomFields
    [in] pItemCustomFields의 필드 수입니다.
  • pItemCustomFieldsIndexes
    [in, size_is(cItemCustomFieldsIndexes)] 메타데이터 저장소에 있는 항목을 더 효율적으로 찾기 위해 사용할 수 있는 인덱스 스키마 목록입니다. 인덱스 스키마가 없으면 NULL일 수 있습니다.
  • cItemCustomFieldsIndexes
    [in] pItemCustomFieldsIndexes의 인덱스 수입니다.

반환 값

  • S_OK

  • E_POINTER

  • E_OUTOFMEMORY

  • pItemCustomFields가 NULL이고 cItemCustomFields가 0이 아니거나, pItemCustomFields가 NULL이 아니고 cItemCustomFields가 0이거나, 복제본 ID 또는 ID 매개 변수가 잘못되었거나, pItemCustomFields에 지정된 사용자 지정 필드 중 하나가 잘못되었으면 E_INVALIDARG입니다.

  • 저장소가 아직 열리지 않은 경우 E_UNEXPECTED입니다.

  • pItemCustomFieldsIndexes에 지정된 필드 이름에 해당하는 필드가 pItemCustomFields에 지정되어 있지 않으면 SYNC_E_METADATA_FIELD_INVALID_NAME입니다.

  • 이 메서드를 두 번째로 호출한 경우와 같이 지정된 복제본에 대한 메타데이터가 이미 있으면 SYNC_E_METADATA_REPLICA_ALREADY_EXISTS입니다.

주의

Metadata Storage Service 구현에서 사용하는 메타데이터 저장소에는 사용자 지정 필드에 대한 일부 제한 사항이 있습니다. 자세한 내용은 CUSTOM_FIELD_DEFINITION 구조를 참조하십시오.

pItemCustomFields를 사용하여 항목 메타데이터에 대한 사용자 지정 필드 집합을 정의할 수 있습니다. 각 필드는 고유 문자열 이름 및 값으로 구성되어 있습니다. 이러한 필드를 사용하여 기본 항목 메타데이터 집합에서 지원하지 않는 항목에 대한 추가 메타데이터를 저장할 수 있습니다. 이 필드는 IItemMetadata에 있는 IItemMetadata::TryGetFieldByteArray 또는 IItemMetadata::SetFieldByteArray와 같은 다양한 메서드를 사용하여 액세스할 수 있습니다.

사용자 지정 필드 집합을 메타데이터 저장소의 항목을 효율적으로 찾기 위한 인덱스로 사용할 수 있도록 pItemCustomFieldsIndexes를 사용하여 인덱스 스키마 집합을 정의할 수 있습니다. 인덱스 스키마를 고유한 것으로 정의하여 해당 인덱스가 단일 항목을 정의하도록 할 수 있습니다. 인덱스 스키마에 포함된 각 필드는 복제본에 대해 정의된 사용자 지정 필드 스키마에도 있어야 합니다. 인덱스 필드는 IReplicaMetadata::FindItemMetadataByIndexedFieldsIReplicaMetadata::FindItemMetadataByUniqueIndexedFields와 같은 메서드에 사용할 수 있습니다.

참고 항목

참조

ISyncMetadataStore 인터페이스