다음을 통해 공유


DsReplicaSyncAllA 함수(ntdsapi.h)

DsReplicaSyncAll 함수는 필요에 따라 전이적 복제를 사용하여 서버를 다른 모든 서버와 동기화합니다. 기본적으로 DsReplicaSyncAll은 해당 사이트의 다른 모든 서버와 서버를 동기화합니다. 그러나 사이트 경계를 넘어 동기화하는 데 사용할 수도 있습니다.

구문

NTDSAPI DWORD DsReplicaSyncAllA(
  [in]            HANDLE                                  hDS,
  [in]            LPCSTR                                  pszNameContext,
  [in]            ULONG                                   ulFlags,
  [in]            BOOL(* )(LPVOID,PDS_REPSYNCALL_UPDATEA) pFnCallBack,
  [in, optional]  LPVOID                                  pCallbackData,
  [out, optional] PDS_REPSYNCALL_ERRINFOA                 **pErrors
);

매개 변수

[in] hDS

DSBind 또는 DSBindWithCred 함수에서 가져온 디렉터리 서비스 핸들 포함합니다.

[in] pszNameContext

동기화할 명명 컨텍스트의 고유 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. pszNameContext 매개 변수는 선택 사항입니다. 해당 값이 NULL이면 구성 명명 컨텍스트가 복제됩니다.

[in] ulFlags

요청을 처리하는 데 사용되는 추가 데이터를 전달합니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

DS_REPSYNCALL_ABORT_IF_SERVER_UNAVAILABLE

서버에 연결할 수 없거나 연결이 끊어지거나 토폴로지 손상으로 인해 서버에 연결할 수 없는 경우 심각한 오류를 생성합니다.

DS_REPSYNCALL_CROSS_SITE_BOUNDARIES

사이트 경계를 넘어 동기화합니다. 기본적으로 DsReplicaSyncAll은 홈 시스템과 동일한 사이트의 DC와만 동기화하려고 시도합니다. 엔터프라이즈 포리스트의 모든 DC와 동기화를 시도하려면 이 플래그를 설정합니다. 그러나 DC는 동기(RPC) 전송으로 연결된 경우에만 동기화할 수 있습니다.

DS_REPSYNCALL_DO_NOT_SYNC

모든 동기화를 수행하지 않도록 설정합니다. 토폴로지는 여전히 분석되며 사용할 수 없거나 연결할 수 없는 서버는 여전히 식별됩니다.

DS_REPSYNCALL_ID_SERVERS_BY_DN

치명적이 아닌 오류가 발생할 경우 는 GUID DNS 이름 대신 서버 고유 이름(DN)을 반환합니다.

DS_REPSYNCALL_NO_OPTIONS

이 옵션은 적용되지 않습니다.

DS_REPSYNCALL_PUSH_CHANGES_OUTWARD

전이적 복제를 사용하여 홈 서버의 변경 사항을 모든 파트너에 적용합니다. 이렇게 하면 복제 방향과 복제 집합의 실행 순서가 일반적인 "끌어와기" 실행 모드에서 반전됩니다.

DS_REPSYNCALL_SKIP_INITIAL_CHECK

모든 서버가 응답하는 것으로 가정합니다. 이렇게 하면 DsReplicaSyncAll 함수의 작동 속도가 빨라지지만 일부 서버가 응답하지 않으면 일부 전이적 복제가 차단될 수 있습니다.

DS_REPSYNCALL_SYNC_ADJACENT_SERVERS_ONLY

전이적 복제를 수행하지 않도록 설정합니다. 인접 서버와만 동기화를 수행합니다.

[in] pFnCallBack

DsReplicaSyncAll 함수에서 호출하는 애플리케이션 정의 SyncUpdateProc 함수에 대한 포인터로 오류가 발생하면 두 서버의 동기화를 시작하거나, 두 서버의 동기화를 완료하거나, 사이트의 모든 서버 동기화를 완료합니다.

[in, optional] pCallbackData

pFnCallBack 매개 변수가 가리키는 SyncUpdateProc 콜백 함수의 첫 번째 인수로 전달된 애플리케이션 정의 데이터에 대한 포인터입니다.

[out, optional] pErrors

NULL로 끝나는 포인터 배열
동기화 중에 발생한 오류가 포함된 구조체를 DS_REPSYNCALL_ERRINFO. 포인터 배열과 MsCS\mscs\clusctl_resource_type_get_private_property_fmts.xml 데이터를 모두 보유하는 데 사용되는 메모리는 단일 메모리 블록으로 할당되며 인수로 사용되는 pErrors에 반환된 포인터 값을 사용하여 LocalFree에 대한 단일 호출에서 더 이상 필요하지 않은 경우 해제되어야 합니다.

반환 값

함수가 성공하면 반환 값이 ERROR_SUCCESS.

함수가 실패하면 반환 값은 다음과 같습니다.

설명

DsReplicaSyncAll 함수는 동기화할 토폴로지를 생성하기 전에 모든 서버에 바인딩하려고 시도합니다. 서버에 연결할 수 없는 경우 함수는 해당 서버를 토폴로지에서 제외하고 해결을 시도합니다. ulFlags에서 DS_REPSYNCALL_SKIP_INITIAL_CHECK 플래그를 설정하면 초기 바인딩이 무시됩니다.

서버에 연결할 수 없는 경우 DsReplicaSyncAll 함수는 ulFlags에서 DS_REPSYNCALL_ABORT_IF_SERVER_UNAVAILABLE 설정되지 않는 한 서버를 라우팅하고 가능한 한 많은 서버에서 복제하려고 시도합니다.

DsReplicaSyncAll 함수는 pFnCallBack이 가리키는 콜백 함수를 사용하여 최종 사용자에게 복제의 현재 상태 대한 정보를 유지할 수 있습니다. DsReplicaSyncAll 함수의 실행은 pFnCallBack이 가리키는 함수를 호출할 때 일시 중지됩니다. 콜백 함수의 반환 값이 TRUE이면 복제가 계속됩니다. 그렇지 않으면 DsReplicaSyncAll 함수가 복제를 종료합니다.

참고

ntdsapi.h 헤더는 DsReplicaSyncAll을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
지원되는 최소 서버 Windows Server 2008
대상 플랫폼 Windows
헤더 ntdsapi.h
라이브러리 Ntdsapi.lib
DLL Ntdsapi.dll

추가 정보

DS_REPSYNCALL_ERRINFO

DS_REPSYNCALL_UPDATE

도메인 컨트롤러 및 복제 관리 함수

DsReplicaSync

SyncUpdateProc