다음을 통해 공유


ISyncMetadataStoreSerializer::SerializeReplicaMetadata

지정된 복제본에 대해 Metadata Storage Service 저장소의 내용을 대상 스트림에 정식 형식으로 직렬화합니다.

HRESULT SerializeReplicaMetadata(
  const BYTE * pbReplicaId,
  const ID_PARAMETERS * pIdParameters,
  IStream * pStream, 
  SYNC_SERIALIZATION_VERSION serializationVersion);

매개 변수

매개 변수

설명

pbReplicaId

[in] 메타데이터를 직렬화할 복제본의 ID입니다. 복제본 ID가 고정 길이를 갖는 것으로 pIdParameters 매개 변수에 지정되면 pbReplicaId에 버퍼 크기 없이 ID 값만 지정합니다. 그러나 복제본 ID가 가변 길이인 경우에는 전달된 버퍼의 길이가 버퍼의 처음 두 바이트에 포함되어야 합니다. 예를 들어 복제본 ID 길이가 16바이트이면 버퍼에서 처음 두 바이트의 값은 18이어야 합니다.

pIdParameters

[in] 직렬화되는 메타데이터의 공급자에 대한 형식 설정(예: 복제본 ID 형식)을 지정하는 ID_PARAMETERS 구조입니다.

pStream

[in] 메타데이터가 직렬화되는 대상 스트림입니다. 이 메서드는 현재 스트림 위치에서 정방향 전용 방식으로 스트림에 씁니다. 따라서 호출자는 잘린 파일의 시작 부분이나 적절한 다른 시작 위치에 스트림을 두어야 합니다.

serializationVersion

[in] 직렬화된 메타데이터가 유효한 대상 Sync Framework의 버전을 지정하는 SYNC_SERIALIZATION_VERSION Enumeration 값입니다. 예를 들어 네이티브 정보 직렬화 형식이 Sync Framework 2.0인 경우 이 매개 변수에 제공된 값이 Sync Framework 1.0이면 정보 값이 1.0 형식으로 직렬화됩니다. 1.0 형식으로 직렬화할 수 없는 2.0 기능을 정보 값에 사용할 경우에는 직렬화가 실패하고 SYNC_E_INCOMPATIBLE_SERIALIZATION_VERSION 오류 코드가 발생합니다.

반환 값

  • S_OK

  • E_POINTER

  • E_OUTOFMEMORY

  • 지정된 복제본 ID가 연결된 메타데이터 저장소에 없거나, 지정된 ID_PARAMETERS가 복제본에 사용된 형식과 일치하지 않으면 E_INVALIDARG입니다.

  • 메타데이터 저장소가 열려 있지 않은 상태에서 메서드가 호출되면 SYNC_E_INVALIDOPERATION입니다.

  • 메타데이터를 직렬화할 트랜잭션을 사용할 수 없으면 SYNC_E_METADATA_ACTIVE_TRANSACTION_REQUIRED입니다.

주의

이 메서드를 호출하려면 다음 두 조건이 충족되어야 합니다.

위의 두 조건 중 하나라도 충족되지 않는 경우 이 메서드를 호출하면 오류가 반환됩니다.

참고 항목

참조

ISyncMetadataStoreSerializer 인터페이스