/* bitmap drsuapi_DrsOptions */
#define DRSUAPI_DRS_ASYNC_OP ( 0x00000001 )
#define DRSUAPI_DRS_GETCHG_CHECK ( 0x00000002 )
+#define DRSUAPI_DRS_UPDATE_NOTIFICATION ( 0x00000002 )
#define DRSUAPI_DRS_ADD_REF ( 0x00000004 )
#define DRSUAPI_DRS_SYNC_ALL ( 0x00000008 )
#define DRSUAPI_DRS_DEL_REF ( 0x00000008 )
#define DRSUAPI_DRS_GET_ANC ( 0x00000800 )
#define DRSUAPI_DRS_GET_NC_SIZE ( 0x00001000 )
#define DRSUAPI_DRS_LOCAL_ONLY ( 0x00001000 )
+#define DRSUAPI_DRS_NONGC_RO_REP ( 0x00002000 )
#define DRSUAPI_DRS_SYNC_BYNAME ( 0x00004000 )
#define DRSUAPI_DRS_REF_OK ( 0x00004000 )
#define DRSUAPI_DRS_FULL_SYNC_NOW ( 0x00008000 )
#define DRSUAPI_DRS_NO_SOURCE ( 0x00008000 )
+#define DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS ( 0x00010000 )
#define DRSUAPI_DRS_FULL_SYNC_PACKET ( 0x00020000 )
+#define DRSUAPI_DRS_SYNC_REQUEUE ( 0x00040000 )
+#define DRSUAPI_DRS_SYNC_URGENT ( 0x00080000 )
#define DRSUAPI_DRS_REF_GCSPN ( 0x00100000 )
-#define DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING ( 0x00800000 )
+#define DRSUAPI_DRS_NO_DISCARD ( 0x00100000 )
+#define DRSUAPI_DRS_NEVER_SYNCED ( 0x00200000 )
+#define DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING ( 0x00400000 )
+#define DRSUAPI_DRS_INIT_SYNC_NOW ( 0x00800000 )
+#define DRSUAPI_DRS_PREEMPTED ( 0x01000000 )
#define DRSUAPI_DRS_SYNC_FORCED ( 0x02000000 )
#define DRSUAPI_DRS_DISABLE_AUTO_SYNC ( 0x04000000 )
#define DRSUAPI_DRS_DISABLE_PERIODIC_SYNC ( 0x08000000 )
#define DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS ( 0x00000010 )
#define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1 ( 0x00000020 )
#define DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION ( 0x00000040 )
-#define DRSUAPI_SUPPORTED_EXTENSION_00000080 ( 0x00000080 )
+#define DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY ( 0x00000080 )
#define DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE ( 0x00000100 )
#define DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2 ( 0x00000200 )
#define DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION ( 0x00000400 )
#define DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP ( 0x00020000 )
#define DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY ( 0x00040000 )
#define DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3 ( 0x00080000 )
-#define DRSUAPI_SUPPORTED_EXTENSION_00100000 ( 0x00100000 )
+#define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5 ( 0x00100000 )
#define DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2 ( 0x00200000 )
#define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6 ( 0x00400000 )
#define DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS ( 0x00800000 )
#define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7 ( 0x08000000 )
#define DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT ( 0x08000000 )
#define DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS ( 0x10000000 )
-#define DRSUAPI_SUPPORTED_EXTENSION_20000000 ( 0x20000000 )
-#define DRSUAPI_SUPPORTED_EXTENSION_40000000 ( 0x40000000 )
-#define DRSUAPI_SUPPORTED_EXTENSION_80000000 ( 0x80000000 )
+#define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10 ( 0x20000000 )
+#define DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2 ( 0x40000000 )
+#define DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3 ( 0x80000000 )
/* bitmap drsuapi_SupportedExtensionsExt */
#define DRSUAPI_SUPPORTED_EXTENSION_ADAM ( 0x00000001 )
#define DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2 ( 0x00000002 )
+#define DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN ( 0x00000004 )
struct drsuapi_DsBindInfo24 {
uint32_t supported_extensions;
struct drsuapi_DsReplicaCursor *cursors;/* [size_is(count)] */
};
-/* bitmap drsuapi_DsReplicaNeighbourFlags */
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE ( 0x00000010 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP ( 0x00000020 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS ( 0x00000040 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_USE_ASYNC_INTERSIDE_TRANSPORT ( 0x00000080 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_ASYNC_REP ( 0x00000100 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_ERROR ( 0x00000100 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC ( 0x00000200 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_CRITICAL_ONLY ( 0x00000400 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS ( 0x00000800 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS ( 0x00010000 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_SYNC_PACKET ( 0x00020000 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED ( 0x00200000 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_SPECIAL_SECRET_PROCESSING ( 0x00800000 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED ( 0x01000000 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS ( 0x04000000 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC ( 0x08000000 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES ( 0x10000000 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS ( 0x20000000 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET ( 0x40000000 )
-
enum drsuapi_DsExtendedOperation
#ifndef USE_UINT_ENUMS
{
#ifndef USE_UINT_ENUMS
{
DRSUAPI_ATTRIBUTE_objectClass=(int)(0x00000000),
+ DRSUAPI_ATTRIBUTE_cn=(int)(0x00000003),
DRSUAPI_ATTRIBUTE_description=(int)(0x0000000d),
DRSUAPI_ATTRIBUTE_member=(int)(0x0000001f),
DRSUAPI_ATTRIBUTE_instanceType=(int)(0x00020001),
DRSUAPI_ATTRIBUTE_governsID=(int)(0x00020016),
DRSUAPI_ATTRIBUTE_mustContain=(int)(0x00020018),
DRSUAPI_ATTRIBUTE_mayContain=(int)(0x00020019),
+ DRSUAPI_ATTRIBUTE_rDNAttId=(int)(0x0002001A),
DRSUAPI_ATTRIBUTE_attributeID=(int)(0x0002001e),
DRSUAPI_ATTRIBUTE_attributeSyntax=(int)(0x00020020),
DRSUAPI_ATTRIBUTE_isSingleValued=(int)(0x00020021),
DRSUAPI_ATTRIBUTE_systemPossSuperiors=(int)(0x000900c3),
DRSUAPI_ATTRIBUTE_systemMayContain=(int)(0x000900c4),
DRSUAPI_ATTRIBUTE_systemMustContain=(int)(0x000900c5),
+ DRSUAPI_ATTRIBUTE_systemAuxiliaryClass=(int)(0x000900c6),
DRSUAPI_ATTRIBUTE_sAMAccountName=(int)(0x000900dd),
DRSUAPI_ATTRIBUTE_sAMAccountType=(int)(0x0009012e),
+ DRSUAPI_ATTRIBUTE_options=(int)(0x00090133),
DRSUAPI_ATTRIBUTE_fSMORoleOwner=(int)(0x00090171),
DRSUAPI_ATTRIBUTE_systemFlags=(int)(0x00090177),
DRSUAPI_ATTRIBUTE_serverReference=(int)(0x00090203),
DRSUAPI_ATTRIBUTE_servicePrincipalName=(int)(0x00090303),
DRSUAPI_ATTRIBUTE_objectCategory=(int)(0x0009030e),
DRSUAPI_ATTRIBUTE_gPLink=(int)(0x0009037b),
+ DRSUAPI_ATTRIBUTE_transportAddressAttribute=(int)(0x0009037f),
DRSUAPI_ATTRIBUTE_msDS_Behavior_Version=(int)(0x000905b3),
DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber=(int)(0x000906f6),
DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs=(int)(0x0009071c),
- DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs=(int)(0x0009072c)
+ DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs=(int)(0x0009072c),
+ DRSUAPI_ATTRIBUTE_NONE=(int)(0xFFFFFFFF)
}
#else
{ __donnot_use_enum_drsuapi_DsAttributeId=0x7FFFFFFF}
#define DRSUAPI_ATTRIBUTE_objectClass ( 0x00000000 )
+#define DRSUAPI_ATTRIBUTE_cn ( 0x00000003 )
#define DRSUAPI_ATTRIBUTE_description ( 0x0000000d )
#define DRSUAPI_ATTRIBUTE_member ( 0x0000001f )
#define DRSUAPI_ATTRIBUTE_instanceType ( 0x00020001 )
#define DRSUAPI_ATTRIBUTE_governsID ( 0x00020016 )
#define DRSUAPI_ATTRIBUTE_mustContain ( 0x00020018 )
#define DRSUAPI_ATTRIBUTE_mayContain ( 0x00020019 )
+#define DRSUAPI_ATTRIBUTE_rDNAttId ( 0x0002001A )
#define DRSUAPI_ATTRIBUTE_attributeID ( 0x0002001e )
#define DRSUAPI_ATTRIBUTE_attributeSyntax ( 0x00020020 )
#define DRSUAPI_ATTRIBUTE_isSingleValued ( 0x00020021 )
#define DRSUAPI_ATTRIBUTE_systemPossSuperiors ( 0x000900c3 )
#define DRSUAPI_ATTRIBUTE_systemMayContain ( 0x000900c4 )
#define DRSUAPI_ATTRIBUTE_systemMustContain ( 0x000900c5 )
+#define DRSUAPI_ATTRIBUTE_systemAuxiliaryClass ( 0x000900c6 )
#define DRSUAPI_ATTRIBUTE_sAMAccountName ( 0x000900dd )
#define DRSUAPI_ATTRIBUTE_sAMAccountType ( 0x0009012e )
+#define DRSUAPI_ATTRIBUTE_options ( 0x00090133 )
#define DRSUAPI_ATTRIBUTE_fSMORoleOwner ( 0x00090171 )
#define DRSUAPI_ATTRIBUTE_systemFlags ( 0x00090177 )
#define DRSUAPI_ATTRIBUTE_serverReference ( 0x00090203 )
#define DRSUAPI_ATTRIBUTE_servicePrincipalName ( 0x00090303 )
#define DRSUAPI_ATTRIBUTE_objectCategory ( 0x0009030e )
#define DRSUAPI_ATTRIBUTE_gPLink ( 0x0009037b )
+#define DRSUAPI_ATTRIBUTE_transportAddressAttribute ( 0x0009037f )
#define DRSUAPI_ATTRIBUTE_msDS_Behavior_Version ( 0x000905b3 )
#define DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber ( 0x000906f6 )
#define DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs ( 0x0009071c )
#define DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs ( 0x0009072c )
+#define DRSUAPI_ATTRIBUTE_NONE ( 0xFFFFFFFF )
#endif
;
struct drsuapi_DsGetNCChangesCtr7 ctr7;/* [case(7)] */
}/* [switch_type(int32)] */;
-/* bitmap drsuapi_DsReplicaUpdateRefsOptions */
-#define DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION ( 0x00000001 )
-#define DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK ( 0x00000002 )
-#define DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE ( 0x00000004 )
-#define DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE ( 0x00000008 )
-#define DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE ( 0x00000010 )
-
struct drsuapi_DsReplicaUpdateRefsRequest1 {
struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
const char *dest_dsa_dns_name;/* [ref,charset(DOS)] */
struct drsuapi_DsReplicaUpdateRefsRequest1 req1;/* [case] */
}/* [switch_type(int32)] */;
-/* bitmap drsuapi_DsReplicaAddOptions */
-#define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
-#define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
-
struct drsuapi_DsReplicaAddRequest1 {
struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
const char *source_dsa_address;/* [unique,charset(UTF16)] */
struct drsuapi_DsReplicaAddRequest2 req2;/* [case(2)] */
}/* [switch_type(int32)] */;
-/* bitmap drsuapi_DsReplicaDeleteOptions */
-#define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
-#define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
-
struct drsuapi_DsReplicaDelRequest1 {
struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
const char *source_dsa_address;/* [unique,charset(UTF16)] */
struct drsuapi_DsReplicaDelRequest1 req1;/* [case] */
}/* [switch_type(int32)] */;
-/* bitmap drsuapi_DsReplicaModifyOptions */
-#define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
-#define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
-
struct drsuapi_DsReplicaModRequest1 {
struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
struct GUID source_dra;
DRSUAPI_DS_REPLICA_INFO_CURSORS3=(int)(8),
DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2=(int)(9),
DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2=(int)(10),
- DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02=(int)(-2),
- DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04=(int)(-4),
- DRSUAPI_DS_REPLICA_INFO_CURSORS05=(int)(-5),
- DRSUAPI_DS_REPLICA_INFO_06=(int)(-6)
+ DRSUAPI_DS_REPLICA_INFO_REPSTO=(int)(-2),
+ DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS=(int)(-4),
+ DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1=(int)(-5),
+ DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS=(int)(-6)
}
#else
{ __donnot_use_enum_drsuapi_DsReplicaInfoType=0x7FFFFFFF}
#define DRSUAPI_DS_REPLICA_INFO_CURSORS3 ( 8 )
#define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2 ( 9 )
#define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2 ( 10 )
-#define DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02 ( -2 )
-#define DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04 ( -4 )
-#define DRSUAPI_DS_REPLICA_INFO_CURSORS05 ( -5 )
-#define DRSUAPI_DS_REPLICA_INFO_06 ( -6 )
+#define DRSUAPI_DS_REPLICA_INFO_REPSTO ( -2 )
+#define DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS ( -4 )
+#define DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1 ( -5 )
+#define DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS ( -6 )
#endif
;
enum drsuapi_DsReplicaInfoType info_type;
const char *object_dn;/* [unique,charset(UTF16)] */
struct GUID guid1;
- uint32_t unknown1;
+ uint32_t flags;
const char *string1;/* [unique,charset(UTF16)] */
const char *string2;/* [unique,charset(UTF16)] */
- uint32_t unknown2;
+ uint32_t enumeration_context;
};
union drsuapi_DsReplicaGetInfoRequest {
#endif
;
-union drsuapi_DsRplicaOpOptions {
- uint32_t sync;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_SYNC)] */
- uint32_t add;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_ADD)] */
- uint32_t op_delete;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_DELETE)] */
- uint32_t modify;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY)] */
- uint32_t update_refs;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS)] */
- uint32_t unknown;/* [default] */
-}/* [switch_type(drsuapi_DsReplicaOpType)] */;
-
struct drsuapi_DsReplicaOp {
NTTIME operation_start;
uint32_t serial_num;
uint32_t priority;
enum drsuapi_DsReplicaOpType operation_type;
- union drsuapi_DsRplicaOpOptions options;/* [switch_is(operation_type)] */
+ uint32_t options;
const char *nc_dn;/* [unique,charset(UTF16)] */
const char *remote_dsa_obj_dn;/* [unique,charset(UTF16)] */
const char *remote_dsa_address;/* [unique,charset(UTF16)] */
struct drsuapi_DsReplicaAttrValMetaDataCtr {
uint32_t count;
- int32_t enumeration_context;
+ uint32_t enumeration_context;
struct drsuapi_DsReplicaAttrValMetaData *array;/* [size_is(count)] */
};
struct drsuapi_DsReplicaCursor2Ctr {
uint32_t count;
- int32_t enumeration_context;
+ uint32_t enumeration_context;
struct drsuapi_DsReplicaCursor2 *array;/* [size_is(count)] */
};
struct drsuapi_DsReplicaCursor3Ctr {
uint32_t count;
- int32_t enumeration_context;
+ uint32_t enumeration_context;
struct drsuapi_DsReplicaCursor3 *array;/* [size_is(count)] */
};
struct drsuapi_DsReplicaObjMetaData2Ctr {
uint32_t count;
- int32_t enumeration_context;
+ uint32_t enumeration_context;
struct drsuapi_DsReplicaObjMetaData2 *array;/* [size_is(count)] */
};
struct drsuapi_DsReplicaAttrValMetaData2Ctr {
uint32_t count;
- int32_t enumeration_context;
+ uint32_t enumeration_context;
struct drsuapi_DsReplicaAttrValMetaData2 *array;/* [size_is(count)] */
};
struct drsuapi_DsReplicaCursor3Ctr *cursors3;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS3)] */
struct drsuapi_DsReplicaObjMetaData2Ctr *objmetadata2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2)] */
struct drsuapi_DsReplicaAttrValMetaData2Ctr *attrvalmetadata2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2)] */
- struct drsuapi_DsReplicaNeighbourCtr *neighbours02;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02)] */
- struct drsuapi_DsReplicaConnection04Ctr *connections04;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04)] */
- struct drsuapi_DsReplicaCursorCtrEx *cursors05;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS05)] */
- struct drsuapi_DsReplica06Ctr *i06;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_06)] */
+ struct drsuapi_DsReplicaNeighbourCtr *repsto;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_REPSTO)] */
+ struct drsuapi_DsReplicaConnection04Ctr *clientctx;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS)] */
+ struct drsuapi_DsReplicaCursorCtrEx *udv1;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1)] */
+ struct drsuapi_DsReplica06Ctr *srvoutgoingcalls;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS)] */
}/* [switch_type(drsuapi_DsReplicaInfoType)] */;
struct drsuapi_DsGetMemberships2Ctr1 {