Condividi tramite


Funzione DsReplicaSyncAllA (ntdsapi.h)

La funzione DsReplicaSyncAll sincronizza un server con tutti gli altri server, usando la replica transitiva, in base alle esigenze. Per impostazione predefinita, DsReplicaSyncAll sincronizza il server con tutti gli altri server nel suo sito; tuttavia, è anche possibile usarlo per sincronizzarlo tra i limiti del sito.

Sintassi

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

Parametri

[in] hDS

Contiene un handle del servizio directory ottenuto dalla funzione DSBind o DSBindWithCred.

[in] pszNameContext

Puntatore a una stringa con terminazione null che specifica il nome distinto del contesto di denominazione da sincronizzare. Il parametro pszNameContext è facoltativo; se il valore è NULL, viene replicato il contesto di denominazione della configurazione.

[in] ulFlags

Passa dati aggiuntivi usati per elaborare la richiesta. Questo parametro può essere una combinazione dei valori seguenti.

DS_REPSYNCALL_ABORT_IF_SERVER_UNAVAILABLE

Genera un errore irreversibile se un server non può essere contattato o se qualsiasi server non è raggiungibile a causa di una topologia disconnessa o interrotta.

DS_REPSYNCALL_CROSS_SITE_BOUNDARIES

Esegue la sincronizzazione all'esterno dei limiti del sito. Per impostazione predefinita, DsReplicaSyncAll tenta di sincronizzare solo i controller di dominio nello stesso sito del sistema home. Impostare questo flag per tentare di sincronizzare con tutti i controller di dominio nella foresta aziendale. Tuttavia, i controller di dominio possono essere sincronizzati solo se connessi da un trasporto RPC sincrono.

DS_REPSYNCALL_DO_NOT_SYNC

Disabilita la sincronizzazione. La topologia viene ancora analizzata e i server non disponibili o non sono ancora stati identificati.

DS_REPSYNCALL_ID_SERVERS_BY_DN

In caso di errore non irreversibile, restituisce nomi distinti del server anziché i nomi DNS GUID.

DS_REPSYNCALL_NO_OPTIONS

Questa opzione non ha alcun effetto.

DS_REPSYNCALL_PUSH_CHANGES_OUTWARD

Inserisce le modifiche dal server principale a tutti i partner mediante la replica transitiva. In questo modo si inverte la direzione della replica e l'ordine di esecuzione dei set di replica dalla consueta modalità di esecuzione "pull".

DS_REPSYNCALL_SKIP_INITIAL_CHECK

Presuppone che tutti i server rispondano. Questa operazione velocità della funzione DsReplicaSyncAll , ma se alcuni server non rispondono, alcune repliche transitive potrebbero essere bloccate.

DS_REPSYNCALL_SYNC_ADJACENT_SERVERS_ONLY

Disabilita la replica transitiva. La sincronizzazione viene eseguita solo con i server adiacenti.

[in] pFnCallBack

Puntatore a una funzione SyncUpdateProc definita dall'applicazione chiamata dalla funzione DsReplicaSyncAll quando rileva un errore, avvia la sincronizzazione di due server, completa la sincronizzazione di due server o termina la sincronizzazione di tutti i server nel sito.

[in, optional] pCallbackData

Puntatore ai dati definiti dall'applicazione passati come primo argomento della funzione di callback SyncUpdateProc a cui fa riferimento il parametro pFnCallBack .

[out, optional] pErrors

Matrice con terminazione NULL di puntatori a
DS_REPSYNCALL_ERRINFO strutture che contengono errori che si sono verificati durante la sincronizzazione. La memoria utilizzata per contenere sia la matrice di puntatori che i dati MsCS\mscs\clusctl_resource_type_get_private_property_fmts.xml vengono allocati come singolo blocco di memoria e devono essere liberati quando non sono più necessari da una singola chiamata a LocalFree con il valore del puntatore restituito in pErrors usato come argomento.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è ERROR_SUCCESS.

Se la funzione ha esito negativo, il valore restituito è il seguente.

Commenti

La funzione DsReplicaSyncAll tenta di associare a tutti i server prima di generare una topologia da cui eseguire la sincronizzazione. Se non è possibile contattare un server, la funzione esclude tale server dalla topologia e tenta di aggirarla. L'impostazione del flag di DS_REPSYNCALL_SKIP_INITIAL_CHECK in ulFlags ignora l'associazione iniziale.

Se non è possibile contattare un server, la funzione DsReplicaSyncAll tenta di instradarla e replicare da più server possibile, a meno che DS_REPSYNCALL_ABORT_IF_SERVER_UNAVAILABLE non sia impostata in ulFlags.

La funzione DsReplicaSyncAll può usare la funzione callback puntata da pFnCallBack per mantenere un utente finale informato dello stato corrente della replica. L'esecuzione della funzione DsReplicaSyncAll viene sospesa quando chiama la funzione puntata da pFnCallBack. Se il valore restituito dalla funzione di callback è TRUE, la replica continua; in caso contrario, la funzione DsReplicaSyncAll termina la replica.

Nota

L'intestazione ntdsapi.h definisce DsReplicaSyncAll come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione ntdsapi.h
Libreria Ntdsapi.lib
DLL Ntdsapi.dll

Vedi anche

DS_REPSYNCALL_ERRINFO

DS_REPSYNCALL_UPDATE

Funzioni di gestione del controller di dominio e della replica

DsReplicaSync

SyncUpdateProc