The DS_REPL_NEIGHBOR structure contains inbound replication state data for a particular naming context and source server pair, as returned by the DsReplicaGetInfo and DsReplicaGetInfo2 functions.


typedef struct _DS_REPL_NEIGHBOR {
  LPTSTR   pszNamingContext;
  LPTSTR   pszSourceDsaDN;
  LPTSTR   pszSourceDsaAddress;
  LPTSTR   pszAsyncIntersiteTransportDN;
  DWORD    dwReplicaFlags;
  DWORD    dwReserved;
  UUID     uuidNamingContextObjGuid;
  UUID     uuidSourceDsaObjGuid;
  UUID     uuidSourceDsaInvocationID;
  UUID     uuidAsyncIntersiteTransportObjGuid;
  USN      usnLastObjChangeSynced;
  USN      usnAttributeFilter;
  FILETIME ftimeLastSyncSuccess;
  FILETIME ftimeLastSyncAttempt;
  DWORD    dwLastSyncResult;
  DWORD    cNumConsecutiveSyncFailures;



Pointer to a null-terminated string that contains the naming context to which this replication state data pertains. Each naming context is replicated independently and has different associated neighbor data, even if the naming contexts are replicated from the same source server.


Pointer to a null-terminated string that contains the distinguished name of the directory service agent corresponding to the source server to which this replication state data pertains. Each source server has different associated neighbor data.


Pointer to a null-terminated string that contains the transport-specific network address of the source server. That is, a directory name service name for RPC/IP replication, or an SMTP address for an SMTP replication.


Pointer to a null-terminated string that contains the distinguished name of the interSiteTransport object that corresponds to the transport over which replication is performed. This member contains NULL for RPC/IP replication.


Contains a set of flags that specify attributes and options for the replication data. This can be zero or a combination of one or more of the following flags.


The local copy of the naming context is writable.


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/source is "never", that is, the empty schedule.


Perform replication indirectly through the Inter-Site Messaging Service. This flag is set only when replicating over SMTP. This flag is not set when replicating over inter-site RPC/IP.

DS_REPL_NBR_TWO_WAY_SYNC (512 (0x200))

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 in a state where it returns parent objects before children objects. It goes into this state after it receives a child object before its parent.


The destination server is performing a full synchronization from the source server. Full synchronizations do not use vectors that create updates (DS_REPL_CURSORS) for filtering updates. Full synchronizations are not used as a part of the normal replication protocol.


The last packet from the source indicated a modification of an object that the destination server has not yet created. The next packet to be requested instructs the source server to put all attributes of the modified object into the packet.

DS_REPL_NBR_NEVER_SYNCED (2097152 (0x200000))

A synchronization has never been successfully completed from this source.

DS_REPL_NBR_PREEMPTED (16777216 (0x1000000))

The replication engine has temporarily stopped processing this neighbor in order to service another higher-priority neighbor, either for this partition or for another partition. The replication engine will resume processing this neighbor after the higher-priority work is completed.


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

DS_REPL_NBR_DISABLE_SCHEDULED_SYNC (134217728 (0x8000000))

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

DS_REPL_NBR_COMPRESS_CHANGES (268435456 (0x10000000))

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.

DS_REPL_NBR_NO_CHANGE_NOTIFICATIONS (536870912 (0x20000000))

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

DS_REPL_NBR_PARTIAL_ATTRIBUTE_SET (1073741824 (0x40000000))

This neighbor is in a state where it is rebuilding the contents of this replica because of a change in the partial attribute set.


Reserved for future use.


Contains the objectGuid of the naming context corresponding to pszNamingContext.


Contains the objectGuid of the nTDSDSA object corresponding to pszSourceDsaDN.


Contains the invocation identifier used by the source server as of the last replication attempt.


Contains the objectGuid of the inter-site transport object corresponding to pszAsyncIntersiteTransportDN.


Contains the update sequence number of the last object update received.


Contains the usnLastObjChangeSynced value at the end of the last complete, successful replication cycle, or 0 if none. Attributes at the source last updated at a update sequence number less than or equal to this value have already been received and applied by the destination.


Contains a FILETIME structure that contains the date and time the last successful replication cycle was completed from this source. All members of this structure are zero if the replication cycle has never been completed.


Contains a FILETIME structure that contains the date and time of the last replication attempt from this source. All members of this structure are zero if the replication has never been attempted.


Contains an error code associated with the last replication attempt from this source. Contains ERROR_SUCCESS if the last attempt succeeded.


Contains the number of failed replication attempts from this source since the last successful replication attempt - or since the source was added as a neighbor, if no previous attempt was successful.


Minimum supported client

Windows Vista

Minimum supported server

Windows Server 2008



See also