⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drsuapi.idl

📁 samba最新软件
💻 IDL
📖 第 1 页 / 共 4 页
字号:
		DRSUAPI_ATTRIBUTE_objectSid			= 0x00090092,		DRSUAPI_ATTRIBUTE_schemaIDGUID			= 0x00090094,		DRSUAPI_ATTRIBUTE_dBCSPwd			= 0x00090037,/* lmPwdHash */		DRSUAPI_ATTRIBUTE_unicodePwd			= 0x0009005a,/* ntPwdHash */		DRSUAPI_ATTRIBUTE_ntPwdHistory			= 0x0009005e,		DRSUAPI_ATTRIBUTE_priorValue			= 0x00090064,		DRSUAPI_ATTRIBUTE_supplementalCredentials	= 0x0009007d,		DRSUAPI_ATTRIBUTE_trustAuthIncoming		= 0x00090081,		DRSUAPI_ATTRIBUTE_trustAuthOutgoing		= 0x00090087,		DRSUAPI_ATTRIBUTE_lmPwdHistory			= 0x000900a0,		DRSUAPI_ATTRIBUTE_sAMAccountName		= 0x000900dd,		DRSUAPI_ATTRIBUTE_fSMORoleOwner			= 0x00090171,		DRSUAPI_ATTRIBUTE_systemFlags			= 0x00090177,		DRSUAPI_ATTRIBUTE_serverReference		= 0x00090203,		DRSUAPI_ATTRIBUTE_serverReferenceBL		= 0x00090204,		DRSUAPI_ATTRIBUTE_initialAuthIncoming		= 0x0009021b,		DRSUAPI_ATTRIBUTE_initialAuthOutgoing		= 0x0009021c,		DRSUAPI_ATTRIBUTE_wellKnownObjects		= 0x0009026a,		DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet	= 0x0009027f,		DRSUAPI_ATTRIBUTE_objectCategory		= 0x0009030e,		DRSUAPI_ATTRIBUTE_gPLink			= 0x0009037b,		DRSUAPI_ATTRIBUTE_msDS_Behavior_Version		= 0x000905b3,		DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber		= 0x000906f6,				DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs		= 0x0009071c,		DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs		= 0x0009072c	} drsuapi_DsAttributeId;	typedef struct {		GUID destination_dsa_guid;		GUID source_dsa_invocation_id; /* the 'invocationId' field of the CN=NTDS Settings object */		[ref] drsuapi_DsReplicaObjectIdentifier *naming_context;		drsuapi_DsReplicaHighWaterMark highwatermark;		drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;		drsuapi_DsReplicaNeighbourFlags replica_flags;		uint32 max_object_count; /* w2k3 uses min(133,max(100,max_object_count)) */		uint32 max_ndr_size; /* w2k3 seems to ignore this */		uint32 unknown4;		hyper h1;		uint32 unique_ptr1;		uint32 unique_ptr2;		drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;	} drsuapi_DsGetNCChangesRequest8;	typedef [switch_type(int32)] union {		[case(5)] drsuapi_DsGetNCChangesRequest5 req5;		[case(8)] drsuapi_DsGetNCChangesRequest8 req8;	} drsuapi_DsGetNCChangesRequest;	typedef [public] struct {		GUID source_dsa_invocation_id; /* the 'invocationId' field of the CN=NTDS Settings object */		hyper highest_usn;  /* updated after a full replication cycle */		NTTIME last_sync_success;	} drsuapi_DsReplicaCursor2;	typedef struct {		uint32 u1;		uint32 u2;		[range(0,0x100000)] uint32 count;		uint32 u3;		[size_is(count)] drsuapi_DsReplicaCursor2 cursors[];	} drsuapi_DsReplicaCursor2CtrEx;	/* Generic DATA_BLOB values */	typedef struct {		[range(0,10485760),value(ndr_size_DATA_BLOB(0,blob,0))] uint32 __ndr_size;		DATA_BLOB *blob;	} drsuapi_DsAttributeValue;	typedef struct {		[range(0,10485760)] uint32 num_values;		[size_is(num_values)] drsuapi_DsAttributeValue *values;	} drsuapi_DsAttributeValueCtr;	/* DN String values */	typedef [public,gensize] struct {		[value(ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->flags))] uint32 __ndr_size;		[value(ndr_size_dom_sid28(&sid,ndr->flags))]  uint32 __ndr_size_sid;		GUID guid;		dom_sid28 sid;		[value(strlen_m(dn))] uint32 __ndr_size_dn;		[charset(UTF16)] uint16 dn[__ndr_size_dn+1];	} drsuapi_DsReplicaObjectIdentifier3;	typedef [public,gensize] struct {		[value(ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(r, ndr->flags))] uint32 __ndr_size;		[value(ndr_size_dom_sid28(&sid,ndr->flags))]  uint32 __ndr_size_sid;		GUID guid;		dom_sid28 sid;		[value(strlen_m(dn))] uint32 __ndr_size_dn;		[charset(UTF16)] uint16 dn[__ndr_size_dn+1];		[value(binary.length + 4)] uint32 __ndr_size_binary;		[flag(NDR_REMAINING)] DATA_BLOB binary;	} drsuapi_DsReplicaObjectIdentifier3Binary;	typedef [public] struct {		drsuapi_DsAttributeId attid;		drsuapi_DsAttributeValueCtr value_ctr;	} drsuapi_DsReplicaAttribute;	typedef struct {		[range(0,1048576)] uint32 num_attributes;		[size_is(num_attributes)]  drsuapi_DsReplicaAttribute *attributes;	} drsuapi_DsReplicaAttributeCtr;	typedef [public] struct {		drsuapi_DsReplicaObjectIdentifier *identifier;		uint32 unknown1;		drsuapi_DsReplicaAttributeCtr attribute_ctr;	} drsuapi_DsReplicaObject;	typedef struct {		uint32 version;		NTTIME_1sec originating_change_time;		GUID originating_invocation_id;		hyper originating_usn;	} drsuapi_DsReplicaMetaData;	typedef [public] struct {		[range(0,1048576)] uint32 count;		[size_is(count)] drsuapi_DsReplicaMetaData meta_data[];	} drsuapi_DsReplicaMetaDataCtr;	typedef [public,noprint] struct {		drsuapi_DsReplicaObjectListItemEx *next_object;		drsuapi_DsReplicaObject object;		uint32 unknown1;		GUID *parent_object_guid;		drsuapi_DsReplicaMetaDataCtr *meta_data_ctr;	} drsuapi_DsReplicaObjectListItemEx;	typedef [public,gensize] struct {		GUID source_dsa_guid; /* the 'objectGUID' field of the CN=NTDS Settings object */		GUID source_dsa_invocation_id; /* the 'invocationId' field of the CN=NTDS Settings object */		drsuapi_DsReplicaObjectIdentifier *naming_context;		drsuapi_DsReplicaHighWaterMark old_highwatermark;		drsuapi_DsReplicaHighWaterMark new_highwatermark;		drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;		drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;		uint32 total_object_count;		uint32 object_count;		/* this +55 is sometimes +56, so I don't know where this comes from... --metze */		[value(ndr_size_drsuapi_DsGetNCChangesCtr1(r,ndr->flags)+55)] uint32 __ndr_size;		drsuapi_DsReplicaObjectListItemEx *first_object;		uint32 unknown4;	} drsuapi_DsGetNCChangesCtr1;	/*	 * if the DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE flag	 * isn't there it means the value is deleted	 */	typedef [public] bitmap {		DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE	= 0x00000001	} drsuapi_DsLinkedAttributeFlags;	typedef [public] struct {		drsuapi_DsReplicaObjectIdentifier *identifier;		drsuapi_DsAttributeId attid;		drsuapi_DsAttributeValue value;		drsuapi_DsLinkedAttributeFlags flags;		NTTIME_1sec originating_add_time;		drsuapi_DsReplicaMetaData meta_data;	} drsuapi_DsReplicaLinkedAttribute;	typedef [public,gensize] struct {		GUID source_dsa_guid; /* the 'objectGUID' field of the CN=NTDS Settings object */		GUID source_dsa_invocation_id; /* the 'invocationId' field of the CN=NTDS Settings object */		drsuapi_DsReplicaObjectIdentifier *naming_context;		drsuapi_DsReplicaHighWaterMark old_highwatermark;		drsuapi_DsReplicaHighWaterMark new_highwatermark;		drsuapi_DsReplicaCursor2CtrEx *uptodateness_vector;		drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;		uint32 total_object_count;		uint32 object_count;		/* this +55 is sometimes +56, so I don't know where this comes from... --metze */		[value(ndr_size_drsuapi_DsGetNCChangesCtr6(r,ndr->flags)+55)] uint32 __ndr_size;		drsuapi_DsReplicaObjectListItemEx *first_object;		uint32 unknown4;		uint32 unknown5;		uint32 unknown6;		[range(0,1048576)] uint32 linked_attributes_count;		[size_is(linked_attributes_count)] drsuapi_DsReplicaLinkedAttribute *linked_attributes;		uint32 unknown7;	} drsuapi_DsGetNCChangesCtr6;	typedef struct {		uint32 decompressed_length;		uint32 compressed_length;		[subcontext(4),subcontext_size(compressed_length),		 compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length)]		 drsuapi_DsGetNCChangesCtr1 *ctr1;	} drsuapi_DsGetNCChangesMSZIPCtr1;	typedef struct {		uint32 decompressed_length;		uint32 compressed_length;		[subcontext(4),subcontext_size(compressed_length),		 compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length)]		 drsuapi_DsGetNCChangesCtr6 *ctr6;	} drsuapi_DsGetNCChangesMSZIPCtr6;	typedef struct {		uint32 decompressed_length;		uint32 compressed_length;		[subcontext(4),subcontext_size(compressed_length),		 compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),		 flag(NDR_REMAINING)] DATA_BLOB *decompressed;	} drsuapi_DsGetNCChangesXPRESSCtr1;	typedef struct {		uint32 decompressed_length;		uint32 compressed_length;		[subcontext(4),subcontext_size(compressed_length),		 compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),		 flag(NDR_REMAINING)] DATA_BLOB *decompressed;	} drsuapi_DsGetNCChangesXPRESSCtr6;	typedef [enum16bit] enum {		DRSUAPI_COMPRESSION_TYPE_MSZIP	= 2,		DRSUAPI_COMPRESSION_TYPE_XPRESS	= 3	} drsuapi_DsGetNCChangesCompressionType;	typedef [nodiscriminant,flag(NDR_PAHEX)] union {		[case(1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))]	drsuapi_DsGetNCChangesMSZIPCtr1 mszip1;		[case(6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))]	drsuapi_DsGetNCChangesMSZIPCtr6 mszip6;		[case(1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16))]	drsuapi_DsGetNCChangesXPRESSCtr1 xpress1;		[case(6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16))]	drsuapi_DsGetNCChangesXPRESSCtr6 xpress6;	} drsuapi_DsGetNCChangesCompressedCtr;	typedef struct {		/* 		 * this is a bit ugly, as the compression depends on the flags		 * in the DsBind(), but only w2k uses DsGetNCChangesReq5		 * and will get DsGetNCChangesCtr2 replies, and w2k only knowns		 * about MSZIP and level 1 replies		 */		[switch_is(1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] drsuapi_DsGetNCChangesCompressedCtr ctr;	} drsuapi_DsGetNCChangesCtr2;	typedef struct {		[range(0,6)] int32 level;		[range(2,3)] drsuapi_DsGetNCChangesCompressionType type;		[switch_is(level | (type<<16))] drsuapi_DsGetNCChangesCompressedCtr ctr;	} drsuapi_DsGetNCChangesCtr7;	typedef [switch_type(int32)] union {		[case(1)] drsuapi_DsGetNCChangesCtr1 ctr1;		[case(2)] drsuapi_DsGetNCChangesCtr2 ctr2;		[case(6)] drsuapi_DsGetNCChangesCtr6 ctr6;		[case(7)] drsuapi_DsGetNCChangesCtr7 ctr7;	} drsuapi_DsGetNCChangesCtr;	WERROR drsuapi_DsGetNCChanges(		[in] policy_handle *bind_handle,		[in,out,ref] int32 *level,		[in,switch_is(*level)] drsuapi_DsGetNCChangesRequest req,		[out,switch_is(*level)] drsuapi_DsGetNCChangesCtr ctr		);	/*****************/        /* Function 0x04 */	typedef bitmap {		DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION	= 0x00000001,		DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE			= 0x00000002,		DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE			= 0x00000004,		DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE		= 0x00000008,		DRSUAPI_DS_REPLICA_UPDATE_0x00000010			= 0x00000010	} drsuapi_DsReplicaUpdateRefsOptions;	typedef struct {		[ref] drsuapi_DsReplicaObjectIdentifier *naming_context;		[ref,charset(DOS),string] uint8 *dest_dsa_dns_name;		GUID dest_dsa_guid;		drsuapi_DsReplicaUpdateRefsOptions options;	} drsuapi_DsReplicaUpdateRefsRequest1;	typedef [switch_type(int32)] union {		[case(1)] drsuapi_DsReplicaUpdateRefsRequest1 req1;	} drsuapi_DsReplicaUpdateRefsRequest;	WERROR drsuapi_DsReplicaUpdateRefs(		[in] policy_handle *bind_handle,		[in] int32 level,		[in,switch_is(level)] drsuapi_DsReplicaUpdateRefsRequest req		);	/*****************/        /* Function 0x05 */	typedef bitmap {		DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION	= 0x00000001,		DRSUAPI_DS_REPLICA_ADD_WRITEABLE		= 0x00000002		/* TODO ... */	} drsuapi_DsReplicaAddOptions;	[todo] WERROR DRSUAPI_REPLICA_ADD();	/*****************/        /* Function 0x06 */	typedef bitmap {		DRSUAPI_DS_REPLICA_DELETE_ASYNCHRONOUS_OPERATION	= 0x00000001,		DRSUAPI_DS_REPLICA_DELETE_WRITEABLE			= 0x00000002		/* TODO ... */	} drsuapi_DsReplicaDeleteOptions;	[todo] WERROR DRSUAPI_REPLICA_DEL();	/*****************/        /* Function 0x07 */	typedef bitmap {		DRSUAPI_DS_REPLICA_MODIFY_ASYNCHRONOUS_OPERATION	= 0x00000001,		DRSUAPI_DS_REPLICA_MODIFY_WRITEABLE			= 0x00000002	} drsuapi_DsReplicaModifyOptions;	[todo] WERROR DRSUAPI_REPLICA_MODIFY();	/*****************/        /* Function 0x08 */	[todo] WERROR DRSUAPI_VERIFY_NAMES();	/*****************/        /* Function 0x09 */	/* how are type 4 and 7 different from 2 and 3 ? */	typedef [v1_enum] enum {		DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS = 1,		DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS 	= 2,		DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS	= 3,		DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2	= 4,		DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS	= 5,		DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS		= 6,		DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2	= 7	} drsuapi_DsMembershipType;	typedef struct {		NTSTATUS status;		[range(0,10000)] uint32 num_memberships;		[range(0,10000)] uint32 num_sids;		[size_is(num_memberships)] drsuapi_DsReplicaObjectIdentifier **info_array;		[size_is(num_memberships)] samr_GroupAttrs *group_attrs;		[size_is(num_sids)] dom_sid28 **sids;	} drsuapi_DsGetMembershipsCtr1;	typedef [switch_type(int32)] union {		[case(1)] drsuapi_DsGetMembershipsCtr1 ctr1;	} drsuapi_DsGetMembershipsCtr;	const int DRSUAPI_DS_MEMBERSHIP_FLAG_GROUP_ATTR	= 0x1;	typedef struct {		[range(1,10000)] uint32 count;		[size_is(count)] drsuapi_DsReplicaObjectIdentifier **info_array;		uint32 flags;		drsuapi_DsMembershipType type;		drsuapi_DsReplicaObjectIdentifier *domain;	} drsuapi_DsGetMembershipsRequest1;	typedef [switch_type(int32)] union {		[case(1)] drsuapi_DsGetMembershipsRequest1 req1;	} drsuapi_DsGetMembershipsRequest;	[todo] WERROR drsuapi_DsGetMemberships(		[in] policy_handle *bind_handle,		[in,out] int32 level,		[in] [switch_is(level)] drsuapi_DsGetMembershipsRequest req,		[out] [switch_is(level)] drsuapi_DsGetMembershipsCtr ctr		);	/*****************/        /* Function 0x0a */	[todo] WERROR DRSUAPI_INTER_DOMAIN_MOVE();	/*****************/        /* Function 0x0b */	typedef struct {		uint32 unknown1;		uint32 unknown2;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -