DsReplicaSyncA function (ntdsapi.h)

The DsReplicaSync function synchronizes a destination naming context (NC) with one of its sources.


  [in] HANDLE     hDS,
  [in] LPCSTR     NameContext,
  [in] const UUID *pUuidDsaSrc,
  [in] ULONG      Options


[in] hDS

Contains a directory service handle obtained from either the DSBind or DSBindWithCred function.

[in] NameContext

Pointer to a constant null-terminated string that specifies the distinguished name of the destination NC.

[in] pUuidDsaSrc

Pointer to the UUID of a source that replicates to the destination NC.

[in] Options

Passes additional data used to process the request. This parameter can be a combination of the following values.


Causes the source directory system agent (DSA) to verify that the local DSA is present in the source replicates-to list. If not, the local DSA is added. This ensures that the source sends change notifications.


This value is not supported.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista and Windows Server 2003:  Synchronizes from all sources.


Performs this operation asynchronously.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista and Windows Server 2003:  Required when using DS_REPSYNC_ALL_SOURCES.


Synchronizes even if the link is currently disabled.


Synchronizes starting from the first Update Sequence Number (USN).


Synchronizes using an ISM.


Does not discard this synchronization request, even if a similar synchronization is pending.


Indicates this operation is a periodic synchronization request as scheduled by the administrator.


Indicates this operation is a notification of an update marked urgent.


Replica is writable. Otherwise, it is read-only.

Return value

If the function performs its operation successfully, the return value is ERROR_SUCCESS.

If the function fails, the return value is one of the standard Win32 API errors.


The server that DsReplicaSync executes on is called the destination. The destination naming context is brought up-to-date with respect to a source system, identified by the UUID of the source system NTDS Settings object. The destination system must already be configured so that the source system is one of the systems from which it receives replication data.

Note  Forcing manual synchronization can prevent the directory service from properly prioritizing replication operations. For example, synchronizing a new user may preempt an urgent synchronization performed to provide access to a recently locked out user or to add a new trust password. If you call this API often, you can flood the network with requests, which can interfere with other replication operations. For this reason, it is strongly recommended that this function be used only for single-use scenarios rather than incorporating it into an application that would use it on a regular basis.


The ntdsapi.h header defines DsReplicaSync as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.


Requirement Value
Minimum supported client Windows Vista
Minimum supported server Windows Server 2008
Target Platform Windows
Header ntdsapi.h
Library Ntdsapi.lib
DLL Ntdsapi.dll

See also

Domain Controller and Replication Management Functions