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
[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
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 |