Compartilhar via


Função DsReplicaSyncAllA (ntdsapi.h)

A função DsReplicaSyncAll sincroniza um servidor com todos os outros servidores, usando 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 os 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 valores a seguir.

DS_REPSYNCALL_ABORT_IF_SERVER_UNAVAILABLE

Gera um erro fatal se qualquer servidor não puder ser contatado ou se qualquer servidor estiver inacessível devido a uma topologia desconectada ou interrompida.

DS_REPSYNCALL_CROSS_SITE_BOUNDARIES

Sincroniza entre os limites do site. Por padrão, DsReplicaSyncAll tenta sincronizar apenas com os DCs no mesmo site que o sistema doméstico. Defina esse sinalizador para tentar sincronizar com todos os DCs na floresta empresarial. 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 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

Envia por push as alterações do servidor doméstico 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 de execução "pull" usual.

DS_REPSYNCALL_SKIP_INITIAL_CHECK

Pressupõe que todos os servidores estejam 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 somente com servidores adjacentes.

[in] pFnCallBack

Ponteiro para uma função SyncUpdateProc definida pelo aplicativo chamada pela função DsReplicaSyncAll quando encontrar um erro, iniciar a sincronização de dois servidores, concluir a sincronização de dois servidores ou concluir 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\clusctl_resource_type_get_private_property_fmts.xml mscs é alocada como um único bloco de memória e deve ser liberada quando não for mais necessária uma única chamada para LocalFree com o valor do ponteiro retornado em pErrors usado como argumento.

Valor de retorno

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

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

Observações

A função DsReplicaSyncAll tenta associar a todos os servidores antes de gerar uma topologia da qual sincronizar. Se um servidor não puder ser contatado, a função excluirá esse servidor da topologia e tentará contorná-lo. Definir o sinalizador de 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 seja 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 VERDADEIRO, a replicação continuará; caso contrário, a função DsReplicaSyncAll termina a replicação.

Nota

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Vista
servidor com suporte mínimo Windows Server 2008
da Plataforma de Destino Windows
cabeçalho ntdsapi.h
biblioteca Ntdsapi.lib
de DLL Ntdsapi.dll

Consulte também

DS_REPSYNCALL_ERRINFO

DS_REPSYNCALL_UPDATE

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

DsReplicaSync

SyncUpdateProc