DsReplicaModify function

The DsReplicaModify function modifies an existing replication source reference for a destination naming context.


DWORD DsReplicaModify(
  _In_       HANDLE    hDS,
  _In_       LPCTSTR   NameContext,
  _In_ const UUID      *pUuidSourceDsa,
  _In_       LPCTSTR   TransportDn,
  _In_       LPCTSTR   SourceDsaAddress,
  _In_ const PSCHEDULE pSchedule,
  _In_       DWORD     ReplicaFlags,
  _In_       DWORD     ModifyFields,
  _In_       DWORD     Options


hDS [in]

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

NameContext [in]

Pointer to a constant null-terminated string that specifies the distinguished name (DN) of the destination naming context (NC).

pUuidSourceDsa [in]

Pointer to the UUID of the source directory system agent (DSA). This parameter may be null if ModifyFields does not include DS_REPMOD_UPDATE_ADDRESS and SourceDsaAddress is not NULL.

TransportDn [in]

Reserved for future use. Any value other than NULL results in ERROR_NOT_SUPPORTED being returned.

SourceDsaAddress [in]

Pointer to a constant null-terminated Unicode string that specifies the transport-specific address of the source DSA. This parameter is ignored if pUuidSourceDsa is not NULL and ModifyFields does not include DS_REPMOD_UPDATE_ADDRESS.

pSchedule [in]

Pointer to a SCHEDULE structure that contains the replication schedule data for the replication source. This parameter is optional and can be NULL if not used. This parameter is required if ModifyFields contains the DS_REPMOD_UPDATE_SCHEDULE flag.

ReplicaFlags [in]

This parameter is used to control replication behavior and can take the following values.


Replication of this naming context from this source is attempted when the destination server is booted. This normally only applies to intra-site neighbors.


Perform replication on a schedule. This flag is normally set unless the schedule for this naming context and source is "never", that is, the empty schedule.


If set, indicates that when inbound replication is complete, the destination server must tell the source server to synchronize in the reverse direction. This feature is used in dial-up scenarios where only one of the two servers can initiate a dial-up connection. For example, this option would be used in a corporate headquarters and branch office, where the branch office connects to the corporate headquarters over the Internet by means of a dial-up ISP connection.


This neighbor is set to disable notification-based synchronization. Within a site, domain controllers synchronize with each other based on notifications when changes occur. This setting prevents this neighbor from performing a synchronization triggered by a notification. The neighbor will still do synchronization based on its schedule or in response to manually requested synchronization.


This neighbor is set to not perform synchronization based on its schedule. The only way this neighbor will perform synchronization is in response to change notifications or to manually requested synchronization.


Changes received from this source are to be compressed. This is normally set if, and only if, the source server is in a different site.


No change notifications should be received from this source. This is normally set if, and only if, the source server is in a different site.

ModifyFields [in]

Specifies what fields should be modified. At least one field must be specified in ModifyFields. This parameter can be a combination of the following values.


Updates the address associated with the referenced server.


Updates the flags associated with the replica.


Not used. Specifying updates of result values is not currently supported. Result values default to 0.


Updates the periodic replication schedule associated with the replica.


Updates the transport associated with the replica.

Options [in]

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


Performs this operation asynchronously.


Indicates that the replica being modified can be written to.

Return value

If the function succeeds, the return value is ERROR_SUCCESS.

If the function fails, the return value can be one of the following.


A parameter that is not valid was specified for this replication operation.


A parameter is invalid.


The function caller attempted to use a parameter reserved for future use.


Minimum supported client

Windows Vista

Minimum supported server

Windows Server 2008







Unicode and ANSI names

DsReplicaModifyW (Unicode) and DsReplicaModifyA (ANSI)

See also

Domain Controller and Replication Management Functions