4 uuid(e3514235-4b06-11d1-ab04-00c04fc2dcd2),
6 endpoints(lsass,protected_storage,TCP-0),
7 helpstring("Active Directory Replication"),
8 pointer_default(unique)
15 typedef [flag(NDR_PAHEX)] struct {
16 [range(1,10000)] uint32 length;
17 [size_is(length)] uint8 data[];
20 WERROR drsuapi_DsBind(
21 [in] GUID *server_guid,
22 [in,out] drsuapi_DsBindInfo *bind_info,
23 [out,ref] policy_handle *bind_handle
28 WERROR drsuapi_DsUnbind(
29 [in,out,ref] policy_handle *bind_handle
34 WERROR DRSUAPI_REPLICA_SYNC();
38 WERROR DRSUAPI_GET_NC_CHANGES();
42 WERROR DRSUAPI_UPDATE_REFS();
46 WERROR DRSUAPI_REPLICA_ADD();
50 WERROR DRSUAPI_REPLICA_DEL();
54 WERROR DRSUAPI_REPLICA_MODIFY();
58 WERROR DRSUAPI_VERIFY_NAMES();
62 WERROR DRSUAPI_GET_MEMBERSHIPS();
66 WERROR DRSUAPI_INTER_DOMAIN_MOVE();
70 WERROR DRSUAPI_GET_NT4_CHANGELOG();
75 DRSUAPI_DS_NAME_STATUS_OK = 0,
76 DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR = 1,
77 DRSUAPI_DS_NAME_STATUS_NOT_FOUND = 2,
78 DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE = 3,
79 DRSUAPI_DS_NAME_STATUS_NO_MAPPING = 4,
80 DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY = 5,
81 DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING = 6,
82 DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL = 7
83 } drsuapi_DsNameStatus;
86 DRSUAPI_DS_NAME_FLAG_NO_FLAGS = 0x0,
87 DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY = 0x1,
88 DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC = 0x2,
89 DRSUAPI_DS_NAME_FLAG_GCVERIFY = 0x4,
90 DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL = 0x8
91 } drsuapi_DsNameFlags;
94 DRSUAPI_DS_NAME_FORMAT_UKNOWN = 0,
95 DRSUAPI_DS_NAME_FORMAT_FQDN_1779 = 1,
96 DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT = 2,
97 DRSUAPI_DS_NAME_FORMAT_DISPLAY = 3,
98 DRSUAPI_DS_NAME_FORMAT_GUID = 6,
99 DRSUAPI_DS_NAME_FORMAT_CANONICAL = 7,
100 DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL = 8,
101 DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX = 9,
102 DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL = 10,
103 DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY = 11,
104 DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN = 12
105 } drsuapi_DsNameFormat;
109 } drsuapi_DsNameString;
112 uint32 unknown1; /* 0x000004e4 */
113 uint32 unknown2; /* 0x00000407 */
115 uint32 format_offered;
116 uint32 format_desired;
117 [range(1,10000)] uint32 count;
118 [size_is(count)] drsuapi_DsNameString *names;
119 } drsuapi_DsNameRequest1;
122 [case(1)] drsuapi_DsNameRequest1 req1;
123 } drsuapi_DsNameRequest;
127 unistr *dns_domain_name;
129 } drsuapi_DsNameInfo1;
133 [size_is(count)] drsuapi_DsNameInfo1 *array;
134 } drsuapi_DsNameCtr1;
137 [case(1)] drsuapi_DsNameCtr1 *ctr1;
140 WERROR drsuapi_DsCrackNames(
141 [in,ref] policy_handle *bind_handle,
142 [in, out] uint32 level,
143 [in,switch_is(level)] drsuapi_DsNameRequest req,
144 [out,switch_is(level)] drsuapi_DsNameCtr ctr
149 WERROR DRSUAPI_WRITE_SPN();
153 WERROR DRSUAPI_REMOVE_DS_SERVER();
157 WERROR DRSUAPI_REMOVE_DS_DOMAIN();
162 unistr *domain_name; /* netbios or dns */
163 int32 level; /* specifies the switch level for the request */
164 } drsuapi_DsGetDCInfoRequest1;
167 [case(1)] drsuapi_DsGetDCInfoRequest1 req1;
168 } drsuapi_DsGetDCInfoRequest;
171 unistr *netbios_name;
178 } drsuapi_DsGetDCInfo1;
181 [range(0,10000)] uint32 count;
182 [size_is(count)] drsuapi_DsGetDCInfo1 *array;
183 } drsuapi_DsGetDCInfoCtr1;
186 unistr *netbios_name;
200 } drsuapi_DsGetDCInfo2;
203 [range(0,10000)] uint32 count;
204 [size_is(count)] drsuapi_DsGetDCInfo2 *array;
205 } drsuapi_DsGetDCInfoCtr2;
214 unistr *server_nt4_account;
215 } drsuapi_DsGetDCInfo01;
218 [range(0,10000)] uint32 count;
219 [size_is(count)] drsuapi_DsGetDCInfo01 *array;
220 } drsuapi_DsGetDCInfoCtr01;
223 [case(1)] drsuapi_DsGetDCInfoCtr1 ctr1;
224 [case(2)] drsuapi_DsGetDCInfoCtr2 ctr2;
225 [case(-1)] drsuapi_DsGetDCInfoCtr01 ctr01;
226 } drsuapi_DsGetDCInfoCtr;
228 /* maybe WERROR function */
229 WERROR drsuapi_DsGetDomainControllerInfo(
230 [in,ref] policy_handle *bind_handle,
231 [in, out] int32 level,
232 [in,switch_is(level)] drsuapi_DsGetDCInfoRequest req,
233 [out,switch_is(level)] drsuapi_DsGetDCInfoCtr ctr
238 WERROR DRSUAPI_ADD_ENTRY();
242 WERROR DRSUAPI_EXECUTE_KCC();
246 WERROR DRSUAPI_GET_REPL_INFO();
250 WERROR DRSUAPI_ADD_SID_HISTORY();
254 WERROR DRSUAPI_GET_MEMBERSHIPS2();
258 WERROR DRSUAPI_REPLICA_VERIFY_OBJECTS();
262 WERROR DRSUAPI_GET_OBJECT_EXISTENCE();
266 WERROR DRSUAPI_QUERY_SITES_BY_COST();