Fonction DsReplicaSyncAllA (ntdsapi.h)

La fonction DsReplicaSyncAll synchronise un serveur avec tous les autres serveurs, à l’aide d’une réplication transitive, si nécessaire. Par défaut, DsReplicaSyncAll synchronise le serveur avec tous les autres serveurs de son site ; toutefois, vous pouvez également l’utiliser pour synchroniser entre les limites du site.

Syntaxe

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

Paramètres

[in] hDS

Contient un handle de service d’annuaire obtenu à partir de la fonction DSBind ou DSBindWithCred .

[in] pszNameContext

Pointeur vers une chaîne terminée par null qui spécifie le nom unique du contexte de nommage à synchroniser. Le paramètre pszNameContext est facultatif ; si sa valeur est NULL, le contexte de nommage de configuration est répliqué.

[in] ulFlags

Transmet les données supplémentaires utilisées pour traiter la demande. Ce paramètre peut être une combinaison des valeurs suivantes.

DS_REPSYNCALL_ABORT_IF_SERVER_UNAVAILABLE

Génère une erreur irrécupérable si un serveur ne peut pas être contacté ou si un serveur est inaccessible en raison d’une topologie déconnectée ou rompue.

DS_REPSYNCALL_CROSS_SITE_BOUNDARIES

Synchronise par-delà les limites de site. Par défaut, DsReplicaSyncAll tente de se synchroniser uniquement avec les contrôleurs de domaine du même site que le système d’accueil. Définissez cet indicateur pour tenter de synchroniser avec tous les contrôleurs de domaine de la forêt d’entreprise. Toutefois, les contrôleurs de domaine ne peuvent être synchronisés que s’ils sont connectés par un transport synchrone (RPC).

DS_REPSYNCALL_DO_NOT_SYNC

Désactive toute synchronisation. La topologie est toujours analysée et les serveurs indisponibles ou inaccessibles sont toujours identifiés.

DS_REPSYNCALL_ID_SERVERS_BY_DN

En cas d’erreur non irrécupérable, retourne les noms uniques de serveur (DN) au lieu de leurs noms DNS GUID.

DS_REPSYNCALL_NO_OPTIONS

Cette option n’a aucun effet.

DS_REPSYNCALL_PUSH_CHANGES_OUTWARD

Pousse les modifications du serveur local vers tous les partenaires à l'aide de la réplication transitive. Cela inverse le sens de la réplication et l’ordre d’exécution des jeux de réplication à partir du mode d’exécution « pulling » habituel.

DS_REPSYNCALL_SKIP_INITIAL_CHECK

Suppose que tous les serveurs répondent. Cela accélère l’opération de la fonction DsReplicaSyncAll , mais si certains serveurs ne répondent pas, certaines réplications transitives peuvent être bloquées.

DS_REPSYNCALL_SYNC_ADJACENT_SERVERS_ONLY

Désactive la réplication transitive. La synchronisation est exécutée uniquement avec les serveurs adjacents.

[in] pFnCallBack

Pointeur vers une fonction SyncUpdateProc définie par l’application appelée par la fonction DsReplicaSyncAll lorsqu’elle rencontre une erreur, lance la synchronisation de deux serveurs, termine la synchronisation de deux serveurs ou termine la synchronisation de tous les serveurs du site.

[in, optional] pCallbackData

Pointeur vers des données définies par l’application passées comme premier argument de la fonction de rappel SyncUpdateProc pointée vers le paramètre pFnCallBack .

[out, optional] pErrors

Tableau null de pointeurs vers
DS_REPSYNCALL_ERRINFO structures qui contiennent des erreurs qui se sont produites pendant la synchronisation. La mémoire utilisée pour contenir à la fois le tableau de pointeurs et les données MsCS\mscs\clusctl_resource_type_get_private_property_fmts.xml est allouée sous forme d’un seul bloc de mémoire et doit être libérée lorsqu’elle n’est plus requise par un seul appel à LocalFree avec la valeur du pointeur retournée dans pErrors utilisée comme argument.

Valeur retournée

Si la fonction réussit, la valeur de retour est ERROR_SUCCESS.

Si la fonction échoue, la valeur de retour est la suivante.

Remarques

La fonction DsReplicaSyncAll tente de se lier à tous les serveurs avant de générer une topologie à partir de laquelle synchroniser. Si un serveur ne peut pas être contacté, la fonction exclut ce serveur de la topologie et tente de le contourner. La définition de l’indicateur DS_REPSYNCALL_SKIP_INITIAL_CHECK dans ulFlags contourne la liaison initiale.

Si un serveur ne peut pas être contacté, la fonction DsReplicaSyncAll tente de le contourner et de le répliquer à partir d’autant de serveurs que possible, sauf si DS_REPSYNCALL_ABORT_IF_SERVER_UNAVAILABLE est défini dans ulFlags.

La fonction DsReplicaSyncAll peut utiliser la fonction de rappel pointée par pFnCallBack pour tenir un utilisateur final informé de la status actuelle de la réplication. L’exécution de la fonction DsReplicaSyncAll s’interrompt lorsqu’elle appelle la fonction pointée par pFnCallBack. Si la valeur de retour de la fonction de rappel est TRUE, la réplication continue ; sinon, la fonction DsReplicaSyncAll met fin à la réplication.

Notes

L’en-tête ntdsapi.h définit DsReplicaSyncAll comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
Plateforme cible Windows
En-tête ntdsapi.h
Bibliothèque Ntdsapi.lib
DLL Ntdsapi.dll

Voir aussi

DS_REPSYNCALL_ERRINFO

DS_REPSYNCALL_UPDATE

Fonctions de gestion du contrôleur de domaine et de la réplication

DsReplicaSync

SyncUpdateProc