Condividi tramite


Funzione DsReplicaSyncAllA (ntdsapi.h)

La funzione DsReplicaSyncAll sincronizza un server con tutti gli altri server, usando la replica transitiva, se necessario. Per impostazione predefinita, DsReplicaSyncAll sincronizza il server con tutti gli altri server nel relativo sito; Tuttavia, è anche possibile usarlo per la sincronizzazione 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, il contesto di denominazione della configurazione viene replicato.

[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 non è possibile contattare un server o se un server non è raggiungibile a causa di una topologia disconnessa o interrotta.

DS_REPSYNCALL_CROSS_SITE_BOUNDARIES

Sincronizza i limiti del sito. Per impostazione predefinita, DsReplicaSyncAll tenta di eseguire la sincronizzazione solo con controller di dominio nello stesso sito del sistema home. Impostare questo flag per tentare di eseguire la sincronizzazione con tutti i controller di dominio nella foresta aziendale. Tuttavia, i controller di dominio possono essere sincronizzati solo se connessi da un trasporto RPC (synchronous).

DS_REPSYNCALL_DO_NOT_SYNC

Disabilita tutta la sincronizzazione. La topologia viene ancora analizzata e i server non disponibili o non raggiungibili vengono ancora identificati.

DS_REPSYNCALL_ID_SERVERS_BY_DN

In caso di errore non irreversibile, restituisce i nomi DN (Server Distinguished Names) anziché i relativi nomi DNS GUID.

DS_REPSYNCALL_NO_OPTIONS

Questa opzione non ha alcun effetto.

DS_REPSYNCALL_PUSH_CHANGES_OUTWARD

Esegue il push delle modifiche dal server home a tutti i partner usando 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

Si presuppone che tutti i server rispondano. Questa velocità di funzionamento 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 di 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 completa la sincronizzazione di tutti i server nel sito.

[in, optional] pCallbackData

Puntatore ai dati definiti dall'applicazione passati come primo argomento della SyncUpdateProc funzione di callback a cui punta 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\clusctl_resource_type_get_private_property_fmts.xml MsCS 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 utilizzato 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.

Osservazioni

La funzione DsReplicaSyncAll tenta di eseguire l'associazione 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 risolvere il problema. 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 di replicarla dal maggior numero possibile di server, a meno che DS_REPSYNCALL_ABORT_IF_SERVER_UNAVAILABLE non sia impostata in ulFlags.

La funzione DsReplicaSyncAll può usare la funzione di callback a cui punta pFnCallBack per mantenere un utente finale informato sullo stato corrente della replica. L'esecuzione della funzione DsReplicaSyncAll viene sospesa quando chiama la funzione a cui punta 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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows Vista
server minimo supportato Windows Server 2008
piattaforma di destinazione Finestre
intestazione ntdsapi.h
libreria Ntdsapi.lib
dll Ntdsapi.dll

Vedere anche

DS_REPSYNCALL_ERRINFO

DS_REPSYNCALL_UPDATE

controller di dominio e funzioni di gestione della replica

DsReplicaSync

syncUpdateProc