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
Funzioni di gestione del controller di dominio e della replica