2 lsa interface definition
5 [ uuid(12345778-1234-abcd-ef00-0123456789ab),
7 pointer_default(unique)
13 [in,out,ref] policy_handle *handle
20 [in,ref] policy_handle *handle
28 [value(2*strlen_m(r->name))] uint16 name_len;
29 [value(r->name_len)] uint16 name_size;
41 [size_is(count)] lsa_PrivEntry *privs;
44 NTSTATUS lsa_EnumPrivs (
45 [in,ref] policy_handle *handle,
46 [in,out,ref] uint32 *resume_handle,
47 [in] uint32 max_count,
48 [out,ref] lsa_PrivArray *privs
54 NTSTATUS lsa_QuerySecObj (
55 [in,ref] policy_handle *handle,
57 [out] sec_desc_buf *sd
63 NTSTATUS lsa_SetSecObj ();
68 NTSTATUS lsa_ChangePassword ();
74 uint32 len; /* ignored */
75 uint16 impersonation_level;
81 uint32 len; /* ignored */
85 security_descriptor *sec_desc;
87 } lsa_ObjectAttribute;
89 /* notice the screwup with the system_name - thats why MS created
91 NTSTATUS lsa_OpenPolicy (
92 [in] uint16 *system_name,
93 [in,ref] lsa_ObjectAttribute *attr,
94 [in] uint32 desired_access,
95 [out,ref] policy_handle *handle
106 NTTIME retention_time;
107 uint8 shutdown_in_progress;
108 NTTIME time_to_shutdown;
109 uint32 next_audit_record;
116 [size_is(count)] uint32 settings[*];
120 uint32 auditing_mode;
121 lsa_AuditSettings *settings;
122 } lsa_AuditEventsInfo;
140 } lsa_ReplicaSourceInfo;
144 uint32 non_paged_pool;
149 } lsa_DefaultQuotaInfo;
153 NTTIME db_create_time;
154 } lsa_ModificationInfo;
157 uint32 shutdown_on_full;
158 } lsa_AuditFullSetInfo;
161 uint32 shutdown_on_full;
163 } lsa_AuditFullQueryInfo;
174 case(1) lsa_AuditLogInfo audit_log;
175 case(2) lsa_AuditEventsInfo audit_events;
176 case(3) lsa_DomainInfo domain;
177 case(4) lsa_PDAccountInfo pd;
178 case(5) lsa_DomainInfo account_domain;
179 case(6) lsa_ServerRole role;
180 case(7) lsa_ReplicaSourceInfo replica;
181 case(8) lsa_DefaultQuotaInfo quota;
182 case(9) lsa_ModificationInfo db;
183 case(10) lsa_AuditFullSetInfo auditfullset;
184 case(11) lsa_AuditFullQueryInfo auditfullquery;
185 case(12) lsa_DnsDomainInfo dns;
186 } lsa_PolicyInformation;
188 NTSTATUS lsa_QueryInfoPolicy (
189 [in,ref] policy_handle *handle,
191 [out,switch_is(level)] lsa_PolicyInformation *info
196 NTSTATUS lsa_SetInfoPolicy ();
200 NTSTATUS lsa_ClearAuditLog ();
204 NTSTATUS lsa_CreateAccount ();
215 [size_is(num_sids)] lsa_SidPtr *sids;
218 NTSTATUS lsa_EnumAccounts (
219 [in,ref] policy_handle *handle,
220 [in,out,ref] uint32 *resume_handle,
221 [in] uint32 num_entries,
222 [out,ref] lsa_SidArray *sids
226 /*************************************************/
228 NTSTATUS lsa_CreateTrustDom ();
237 } lsa_DomainInformation;
241 [size_is(count)] lsa_DomainInformation *domains;
244 NTSTATUS lsa_EnumTrustDom (
245 [in,ref] policy_handle *handle,
246 [in,out,ref] uint32 *resume_handle,
247 [in] uint32 num_entries,
248 [out,ref] lsa_DomainList *domains
263 [size_is(count)] lsa_TranslatedSid *sids;
269 } lsa_TrustInformation;
273 [size_is(count)] lsa_TrustInformation *domains;
277 NTSTATUS lsa_LookupNames (
278 [in,ref] policy_handle *handle,
279 [in] uint32 num_names,
280 [in,ref,size_is(num_names)] lsa_Name *names,
281 [out] lsa_RefDomainList *domains,
282 [in,out,ref] lsa_TransSidArray *sids,
284 [in,out,ref] uint32 *count
295 } lsa_TranslatedName;
299 [size_is(count)] lsa_TranslatedName *names;
300 } lsa_TransNameArray;
302 NTSTATUS lsa_LookupSids (
303 [in,ref] policy_handle *handle,
304 [in,ref] lsa_SidArray *sids,
305 [out] lsa_RefDomainList *domains,
306 [in,out,ref] lsa_TransNameArray *names,
308 [in,out,ref] uint32 *count
313 NTSTATUS CREATESECRET ();
316 /*****************************************/
318 NTSTATUS lsa_OpenAccount (
319 [in,ref] policy_handle *handle,
320 [in,ref] dom_sid2 *sid,
321 [in] uint32 desired_access,
322 [out,ref] policy_handle *acct_handle
326 /****************************************/
342 [size_is(count)] lsa_LUIDAttribute set[*];
345 NTSTATUS lsa_EnumPrivsAccount (
346 [in,ref] policy_handle *handle,
347 [out] lsa_PrivilegeSet *privs
352 NTSTATUS ADDPRIVS ();
354 NTSTATUS REMOVEPRIVS ();
356 NTSTATUS GETQUOTAS ();
358 NTSTATUS SETQUOTAS ();
360 NTSTATUS GETSYSTEMACCOUNT ();
362 NTSTATUS SETSYSTEMACCOUNT ();
364 NTSTATUS OPENTRUSTDOM ();
366 NTSTATUS QUERYTRUSTDOM ();
368 NTSTATUS SETINFOTRUSTDOM ();
370 NTSTATUS OPENSECRET ();
372 NTSTATUS SETSECRET ();
374 NTSTATUS QUERYSECRET ();
377 NTSTATUS LOOKUPPRIVVALUE ();
381 NTSTATUS lsa_LookupPrivName (
382 [in,ref] policy_handle *handle,
383 [in,ref] lsa_LUID *luid,
389 NTSTATUS PRIV_GET_DISPNAME ();
391 NTSTATUS DELETEOBJECT ();
393 NTSTATUS ENUMACCTWITHRIGHT ();
398 } lsa_RightAttribute;
402 [size_is(count)] lsa_Name *names;
405 NTSTATUS lsa_EnumAccountRights (
406 [in,ref] policy_handle *handle,
407 [in,ref] dom_sid2 *sid,
408 [out,ref] lsa_RightSet *rights
413 NTSTATUS ADDACCTRIGHTS ();
415 NTSTATUS REMOVEACCTRIGHTS ();
417 NTSTATUS QUERYTRUSTDOMINFO ();
419 NTSTATUS SETTRUSTDOMINFO ();
421 NTSTATUS DELETETRUSTDOM ();
423 NTSTATUS STOREPRIVDATA ();
425 NTSTATUS RETRPRIVDATA ();
428 /**********************/
430 NTSTATUS lsa_OpenPolicy2 (
431 [in] unistr *system_name,
432 [in,ref] lsa_ObjectAttribute *attr,
433 [in] uint32 desired_access,
434 [out,ref] policy_handle *handle
439 NTSTATUS UNK_GET_CONNUSER ();
441 NTSTATUS QUERYINFO2 ();