2.2.1.5.29 SYNC_STATE

The SYNC_STATE enumeration tracks the progress of synchronization of the database between BDCs and PDCs. Synchronization is initiated by the client calling NetrDatabaseSync2 (section 3.5.4.6.2). All references to SyncContext in the following synchronization state descriptions refer to the SyncContext parameter in that method.

 typedef  enum _SYNC_STATE
 {
   NormalState = 0,
   DomainState = 1,
   GroupState = 2,
   UasBuiltInGroupState = 3,
   UserState = 4,
   GroupMemberState = 5,
   AliasState = 6,
   AliasMemberState = 7,
   SamDoneState = 8
 } SYNC_STATE,
  *PSYNC_STATE;

NormalState: A state that MUST be used unless the current synchronization is the restart of a full synchronization.

DomainState: The SyncContext parameter is the domain RID with which to continue.

GroupState: The SyncContext parameter is the global group RID with which to continue.

UasBuiltInGroupState: Not used.

UserState: The SyncContext parameter is the user RID with which to continue.

GroupMemberState: The SyncContext parameter is the global group RID with which to continue.

AliasState: The SyncContext parameter MUST have a value of 0, indicating synchronization restarts at the first database alias and that AddOrChangeAlias (see NETLOGON_DELTA_TYPE enumeration section 2.2.1.5.28) was the last account change being performed prior to the restart.

AliasMemberState: The SyncContext parameter MUST have a value of 0, indicating synchronization restarts at the first database alias and that ChangeAliasMembership (NETLOGON_DELTA_TYPE enumeration section 2.2.1.5.28) was the last account change being performed prior to the restart.

SamDoneState: The database has finished synchronization.