지정된 대상 스트림으로 메타데이터가 직렬화된 복제본에 대한 복제본 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를 호출하여 저장소를 엽니다. 먼저 저장소를 열지 않고 이 메서드를 호출하면 오류가 반환됩니다.