5.172 repsFrom, RepsFrom

The nonreplicated, multivalued attribute repsFrom is an optional attribute on the root object of every NC replica. It is stored with the structure REPS_FROM.

The abstract type RepsFrom simplifies the specification of methods that read and write the attribute repsFrom. Reading the attribute repsFrom produces one or more RepsFrom values using the conversions from REPS_FROM specified below. Writing a RepsFrom value to the attribute repsFrom stores a REPS_FROM using the reverse conversion.

The type RepsFrom is a tuple with the following fields:

naDsa: A NetworkAddress that corresponds to cbOtherDraOffset and cbOtherDra in REPS_FROM. This is a NetworkAddress of the DC.

uuidDsa: A GUID that corresponds to uuidDsaObj in REPS_FROM. This is the DSA GUID of the DC.

options: A ULONG that corresponds to ulReplicaFlags in REPS_FROM. This set contains one or more of the following values chosen from DRS_OPTIONS:

  • DRS_WRIT_REP: The replica is a full (read/write) replica of the NC.

  • DRS_INIT_SYNC: The replica must be replicated from the DC identified by uuidDsa when the DC hosting this replica is started.

  • DRS_PER_SYNC: Periodically replicate the NC replica from the DC identified by uuidDsa, as defined by the periodic replication schedule.

  • DRS_MAIL_REP: Replicate the NC replica from the DC identified by uuidDsa via SMTP (see [MS-SRPL]).

  • DRS_DISABLE_AUTO_SYNC: Disable notification-based replication of the NC replica from the DC identified by uuidDsa.

  • DRS_DISABLE_PERIODIC_SYNC: Disable periodic replication of the NC replica from the DC identified by uuidDsa.

  • DRS_USE_COMPRESSION: Replication response messages sent along this communication path must be compressed.

  • DRS_TWOWAY_SYNC: At the end of a replication cycle, replication must be triggered in the opposite direction.

The following additional values are preserved if they are present when reading ulReplicaFlags, but are otherwise ignored by the protocol:

  • DRS_NONGC_RO_REP: Replicate a read-only full replica. Not a writable or partial replica.

  • DRS_FULL_SYNC_IN_PROGRESS: When the flag DRS_FULL_SYNC_NOW is received in a call to IDL_DRSReplicaSync, the flag DRS_FULL_SYNC_IN_PROGRESS is sent in the associated calls to IDL_DRSGetNCChanges until the replication cycle completes. This flag is ignored by the server.

  • DRS_FULL_SYNC_PACKET: Replicate all updates in the replication request, even those that would normally be filtered.

  • DRS_REF_GCSPN: Requests that the server add an entry to repsTo for the client on the root object of the NC replica that is being replicated. When repsTo is set using this flag, the notifying client DC contacts the server DC using the service principal name that begins with "GC" (section 2.2.3.2).

  • DRS_NEVER_SYNCED: There is no successfully completed replication from this source server.

  • DRS_SPECIAL_SECRET_PROCESSING: Do not replicate attribute values of attributes that contain secret data.

  • DRS_PREEMPTED: The replication attempt is preempted by a higher priority replication request.

  • DRS_NEVER_NOTIFY: Do not send update notifications.

  • DRS_SYNC_PAS: Expand the partial attribute set of the partial replica.

schedule: A REPLTIMES that corresponds to rtSchedule in REPS_FROM. This contains the periodic replication schedule.

uuidInvocId: A GUID that contains the invocation ID of the source DC.

usnVec: A USN_VECTOR that corresponds to the usnVec in REPS_FROM. This holds 0 or the usnvecTo field from the response to the last IDL_DRSGetNCChanges replication request sent to the DC identified by uuidDsa.

uuidTransport: A GUID that corresponds to uuidTransportObj in REPS_FROM. This is the objectGUID of the interSiteTransport object that corresponds to the transport used for communication with the DC identified by uuidDsa.

consecutiveFailures: A DWORD that corresponds to cConsecutiveFailures in REPS_FROM. It is the number of consecutive failures during replication from the DC identified by uuidDsa.

timeLastSuccess: A DWORD that corresponds to timeLastSuccess in REPS_FROM. It is the time of the last successful replication from the DC identified by uuidDsa.

timeLastAttempt: A DWORD that corresponds to timeLastAttempt in REPS_FROM. It is the time of the last replication attempt with the DC identified by uuidDsa.

resultLastAttempt: The result of the last replication attempt with the DC identified by uuidDsa.

pasData: A PAS_DATA value that corresponds to cbPasDataOffset in REPS_FROM. Contains the list of attributes (being added to the partial attribute set for the NC on this DC) that are being requested from the DC identified by uuidDsa as part of a PAS replication cycle.

When converting a RepsFrom to a REPS_FROM, assign zeros to all unused fields of REPS_FROM. If naDsa is an empty string, set cbOtherDra to 0 and cbOtherDraOffset to 0. If pasData.pas.cAttrs is 0, set cbPasDataOffset to 0.