Directory Services |
The DS_REPL_NEIGHBORW_BLOB structure contains inbound replication state data for a particular naming context and source server pair. This structure is similar to the DS_REPL_NEIGHBOR structure, but is obtained from the Lightweight Directory Access Protocol API functions when obtaining binary data for the msDS-NCReplInboundNeighbors attribute.
typedef struct {
DWORD oszNamingContext;
DWORD oszSourceDsaDN;
DWORD oszSourceDsaAddress;
DWORD oszAsyncIntersiteTransportDN;
DWORD dwReplicaFlags;
DWORD dwReserved;
UUID uuidNamingContextObjGuid;
UUID uuidSourceDsaObjGuid;
UUID uuidSourceDsaInvocationID;
UUID uuidAsyncIntersiteTransportObjGuid;
USN usnLastObjChangeSynced;
USN usnAttributeFilter;
FILETIME ftimeLastSyncSuccess;
FILETIME ftimeLastSyncAttempt;
DWORD dwLastSyncResult;
DWORD cNumConsecutiveSyncFailures; } DS_REPL_NEIGHBORW_BLOB;
Value | Meaning |
---|---|
DS_REPL_NBR_WRITEABLE | The local copy of the naming context is writable. |
DS_REPL_NBR_SYNC_ON_STARTUP | Replication of this naming context from this source is attempted when the destination server is booted. This normally only applies to intra-site neighbors. |
DS_REPL_NBR_DO_SCHEDULED_SYNCS | 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. |
DS_REPL_NBR_USE_ASYNC_INTERSITE_TRANSPORT | 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 | 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. |
DS_REPL_NBR_FULL_SYNC_IN_PROGRESS | 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. |
DS_REPL_NBR_FULL_SYNC_NEXT_PACKET | 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 | A synchronization has never been successfully completed from this source. |
DS_REPL_NBR_COMPRESS_CHANGES | 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 | No change notifications should be received from this source. Normally set if, and only if, the source server is in a different site. |
The following code example shows how to access the strings in this structure using the offset members.
DS_REPL_NEIGHBORW_BLOB *pdsReplNeighborBlob; // Retrieve the replication data into pdsReplNeighborBlob. LPWSTR pwszNamingContext = (LPWSTR)((LPBYTE)pdsReplNeighborBlob + pdsReplNeighborBlob->oszNamingContext); LPWSTR pwszSourceDsaDN = (LPWSTR)((LPBYTE)pdsReplNeighborBlob + pdsReplNeighborBlob->oszSourceDsaDN); LPWSTR pwszSourceDsaAddress = (LPWSTR)((LPBYTE)pdsReplNeighborBlob + pdsReplNeighborBlob->oszSourceDsaAddress); LPWSTR pwszAsyncIntersiteTransportDN = (LPWSTR)((LPBYTE)pdsReplNeighborBlob + pdsReplNeighborBlob->oszAsyncIntersiteTransportDN);
Client: Included in Windows XP.
Server: Included in Windows Server 2003.
Header: Declared in Ntdsapi.h.
DS_REPL_NEIGHBOR, FILETIME, Lightweight Directory Access Protocol API