다음을 통해 공유


ISyncMetadataStoreSerializer::GetSerializedReplicaId

지정된 대상 스트림으로 메타데이터가 직렬화된 복제본에 대한 복제본 ID를 반환합니다.

HRESULT GetSerializedReplicaId(
  IStream * pStream,
  BYTE * pbReplicaId,
  DWORD * pcbReplicaId,
  ID_PARAMETERS * pIdParameters);

매개 변수

  • pStream
    [in] 특정 복제본에 대한 직렬화된 메타데이터를 포함하는 스트림입니다.
  • pbReplicaId
    [in, out, unique, size_is(*pcbReplicaId)] 이 메타데이터와 연결된 복제본의 ID를 반환합니다.
  • pcbReplicaId
    [in, out] pbReplicaId의 바이트 수를 지정합니다. pbReplicaId가 너무 작으면 pbReplicaId에 필요한 바이트 수를 반환하고, 그렇지 않으면 데이터를 쓸 때 pbReplicaId에 쓴 바이트 수를 반환합니다.
  • pIdParameters
    [out] 직렬화되는 메타데이터의 공급자에 대한 형식 설정(예: 복제본 ID 형식)을 지정하는 ID_PARAMETERS 구조입니다.

반환 값

  • S_OK

  • E_OUTOFMEMORY

  • E_POINTER

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

  • 역직렬화하는 동안 파일 형식 오류가 발생하면 SYNC_E_METADATA_STORE_DESERIALIZATION_ERROR입니다.

  • pbReplicaId가 너무 작으면 HRESULT_FROM_WIN32(ERROR_MORE_DATA)입니다. 이 경우에는 pcbReplicaId에서 필요한 바이트 수를 반환합니다.

주의

이 메서드를 호출하려면 메타데이터 저장소가 열려 있어야 합니다. ISqlSyncMetadataStore::OpenStore 또는 ISqlSyncMetadataStore::CreateStore를 호출하여 저장소를 엽니다. 먼저 저장소를 열지 않고 이 메서드를 호출하면 오류가 반환됩니다.

참고 항목

참조

ISyncMetadataStoreSerializer 인터페이스