Compartilhar via


Função DsReplicaSyncAllA (ntdsapi.h)

A função DsReplicaSyncAll sincroniza um servidor com todos os outros servidores, usando a replicação transitiva, conforme necessário. Por padrão, DsReplicaSyncAll sincroniza o servidor com todos os outros servidores em seu site; no entanto, você também pode usá-lo para sincronizar entre limites do site.

Sintaxe

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
);

Parâmetros

[in] hDS

Contém um identificador de serviço de diretório obtido da função DSBind ou DSBindWithCred .

[in] pszNameContext

Ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome diferenciado do contexto de nomenclatura a ser sincronizado. O parâmetro pszNameContext é opcional; se seu valor for NULL, o contexto de nomenclatura de configuração será replicado.

[in] ulFlags

Passa dados adicionais usados para processar a solicitação. Esse parâmetro pode ser uma combinação dos seguintes valores.

DS_REPSYNCALL_ABORT_IF_SERVER_UNAVAILABLE

Gerará um erro fatal se nenhum servidor não puder ser contatado ou se algum servidor estiver inacessível devido a uma topologia desconectada ou interrompida.

DS_REPSYNCALL_CROSS_SITE_BOUNDARIES

Sincroniza além dos limites do site. Por padrão, DsReplicaSyncAll tenta sincronizar somente com DCs no mesmo site que o sistema doméstico. Defina esse sinalizador para tentar sincronizar com todos os DCs na floresta corporativa. No entanto, os DCs só poderão ser sincronizados se conectados por um transporte Síncrono (RPC).

DS_REPSYNCALL_DO_NOT_SYNC

Desabilita toda a sincronização. A topologia ainda é analisada e os servidores indisponíveis ou inacessíveis ainda são identificados.

DS_REPSYNCALL_ID_SERVERS_BY_DN

No caso de um erro não fatal, retorna nomes diferenciados do servidor (DN) em vez de seus nomes DNS GUID.

DS_REPSYNCALL_NO_OPTIONS

Essa opção não tem efeito.

DS_REPSYNCALL_PUSH_CHANGES_OUTWARD

Efetua push das alterações do servidor de início para todos os parceiros usando a replicação transitiva. Isso inverte a direção da replicação e a ordem de execução dos conjuntos de replicação do modo usual de "pull" de execução.

DS_REPSYNCALL_SKIP_INITIAL_CHECK

Pressupõe que todos os servidores estão respondendo. Isso acelera a operação da função DsReplicaSyncAll , mas se alguns servidores não estiverem respondendo, algumas replicações transitivas poderão ser bloqueadas.

DS_REPSYNCALL_SYNC_ADJACENT_SERVERS_ONLY

Desabilita a replicação transitiva. A sincronização é executada apenas com servidores adjacentes.

[in] pFnCallBack

Ponteiro para uma função SyncUpdateProc definida pelo aplicativo chamada pela função DsReplicaSyncAll quando encontra um erro, inicia a sincronização de dois servidores, conclui a sincronização de dois servidores ou conclui a sincronização de todos os servidores no site.

[in, optional] pCallbackData

Ponteiro para dados definidos pelo aplicativo passados como o primeiro argumento da função de retorno de chamada SyncUpdateProc apontada pelo parâmetro pFnCallBack .

[out, optional] pErrors

Uma matriz de ponteiros terminada em NULL para
DS_REPSYNCALL_ERRINFO estruturas que contêm erros ocorridos durante a sincronização. A memória usada para manter a matriz de ponteiros e os dados de MsCS\mscs\clusctl_resource_type_get_private_property_fmts.xml é alocada como um único bloco de memória e deve ser liberada quando não for mais exigida por uma única chamada para LocalFree com o valor do ponteiro retornado em pErrors usado como argumento.

Retornar valor

Se a função for bem-sucedida, o valor retornado será ERROR_SUCCESS.

Se a função falhar, o valor retornado será o seguinte.

Comentários

A função DsReplicaSyncAll tenta associar a todos os servidores antes de gerar uma topologia para sincronizar. Se um servidor não puder ser contatado, a função excluirá esse servidor da topologia e tentará contorná-lo. Definir o sinalizador DS_REPSYNCALL_SKIP_INITIAL_CHECK em ulFlags ignora a associação inicial.

Se um servidor não puder ser contatado, a função DsReplicaSyncAll tentará roteá-lo e replicar do maior número possível de servidores, a menos que DS_REPSYNCALL_ABORT_IF_SERVER_UNAVAILABLE esteja definido em ulFlags.

A função DsReplicaSyncAll pode usar a função de retorno de chamada apontada por pFnCallBack para manter um usuário final informado sobre o status atual da replicação. A execução da função DsReplicaSyncAll pausa quando chama a função apontada por pFnCallBack. Se o valor retornado da função de retorno de chamada for TRUE, a replicação continuará; caso contrário, a função DsReplicaSyncAll encerra a replicação.

Observação

O cabeçalho ntdsapi.h define DsReplicaSyncAll como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho ntdsapi.h
Biblioteca Ntdsapi.lib
DLL Ntdsapi.dll

Confira também

DS_REPSYNCALL_ERRINFO

DS_REPSYNCALL_UPDATE

Funções de gerenciamento de replicação e controlador de domínio

DsReplicaSync

SyncUpdateProc