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
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 ();
59 NTSTATUS lsa_SetSecObj ();
64 NTSTATUS lsa_ChangePassword ();
70 uint32 len; /* ignored */
71 uint16 impersonation_level;
77 uint32 len; /* ignored */
81 security_descriptor *sec_desc;
83 } lsa_ObjectAttribute;
85 /* notice the screwup with the system_name - thats why MS created
87 NTSTATUS lsa_OpenPolicy (
88 [in] uint16 *system_name,
89 [in,ref] lsa_ObjectAttribute *attr,
90 [in] uint32 desired_access,
91 [out,ref] policy_handle *handle
102 NTTIME retention_time;
103 uint8 shutdown_in_progress;
104 NTTIME time_to_shutdown;
105 uint32 next_audit_record;
112 [size_is(count)] uint32 settings[*];
116 uint32 auditing_mode;
117 lsa_AuditSettings *settings;
118 } lsa_AuditEventsInfo;
136 } lsa_ReplicaSourceInfo;
140 uint32 non_paged_pool;
145 } lsa_DefaultQuotaInfo;
149 NTTIME db_create_time;
150 } lsa_ModificationInfo;
153 uint32 shutdown_on_full;
154 } lsa_AuditFullSetInfo;
157 uint32 shutdown_on_full;
159 } lsa_AuditFullQueryInfo;
170 case(1) lsa_AuditLogInfo audit_log;
171 case(2) lsa_AuditEventsInfo audit_events;
172 case(3) lsa_DomainInfo domain;
173 case(4) lsa_PDAccountInfo pd;
174 case(5) lsa_DomainInfo account_domain;
175 case(6) lsa_ServerRole role;
176 case(7) lsa_ReplicaSourceInfo replica;
177 case(8) lsa_DefaultQuotaInfo quota;
178 case(9) lsa_ModificationInfo db;
179 case(10) lsa_AuditFullSetInfo auditfullset;
180 case(11) lsa_AuditFullQueryInfo auditfullquery;
181 case(12) lsa_DnsDomainInfo dns;
182 } lsa_PolicyInformation;
184 NTSTATUS lsa_QueryInfoPolicy (
185 [in,ref] policy_handle *handle,
187 [out,switch_is(level)] lsa_PolicyInformation *info
192 NTSTATUS lsa_SetInfoPolicy ();
196 NTSTATUS lsa_ClearAuditLog ();
200 NTSTATUS lsa_CreateAccount ();
211 [size_is(num_sids)] lsa_SidPtr *sids;
214 NTSTATUS lsa_EnumAccounts (
215 [in,ref] policy_handle *handle,
216 [in,out,ref] uint32 *resume_handle,
217 [in] uint32 num_entries,
218 [out,ref] lsa_SidArray *sids
222 /*************************************************/
224 NTSTATUS lsa_CreateTrustDom ();
233 } lsa_DomainInformation;
237 [size_is(count)] lsa_DomainInformation *domains;
240 NTSTATUS lsa_EnumTrustDom (
241 [in,ref] policy_handle *handle,
242 [in,out,ref] uint32 *resume_handle,
243 [in] uint32 num_entries,
244 [out,ref] lsa_DomainList *domains
259 [size_is(count)] lsa_TranslatedSid *sids;
265 } lsa_TrustInformation;
269 [size_is(count)] lsa_TrustInformation *domains;
273 NTSTATUS lsa_LookupNames (
274 [in,ref] policy_handle *handle,
275 [in] uint32 num_names,
276 [in,ref,size_is(num_names)] lsa_Name *names,
277 [out] lsa_RefDomainList *domains,
278 [in,out,ref] lsa_TransSidArray *sids,
280 [in,out,ref] uint32 *count
291 } lsa_TranslatedName;
295 [size_is(count)] lsa_TranslatedName *names;
296 } lsa_TransNameArray;
298 NTSTATUS lsa_LookupSids (
299 [in,ref] policy_handle *handle,
300 [in,ref] lsa_SidArray *sids,
301 [out] lsa_RefDomainList *domains,
302 [in,out,ref] lsa_TransNameArray *names,
304 [in,out,ref] uint32 *count
309 NTSTATUS CREATESECRET ();
312 /*****************************************/
314 NTSTATUS lsa_OpenAccount (
315 [in,ref] policy_handle *handle,
316 [in,ref] dom_sid2 *sid,
317 [in] uint32 desired_access,
318 [out,ref] policy_handle *acct_handle
322 /****************************************/
338 [size_is(count)] lsa_LUIDAttribute set[*];
341 NTSTATUS lsa_EnumPrivsAccount (
342 [in,ref] policy_handle *handle,
343 [out] lsa_PrivilegeSet *privs
348 NTSTATUS ADDPRIVS ();
350 NTSTATUS REMOVEPRIVS ();
352 NTSTATUS GETQUOTAS ();
354 NTSTATUS SETQUOTAS ();
356 NTSTATUS GETSYSTEMACCOUNT ();
358 NTSTATUS SETSYSTEMACCOUNT ();
360 NTSTATUS OPENTRUSTDOM ();
362 NTSTATUS QUERYTRUSTDOM ();
364 NTSTATUS SETINFOTRUSTDOM ();
366 NTSTATUS OPENSECRET ();
368 NTSTATUS SETSECRET ();
370 NTSTATUS QUERYSECRET ();
373 NTSTATUS LOOKUPPRIVVALUE ();
377 NTSTATUS lsa_LookupPrivName (
378 [in,ref] policy_handle *handle,
379 [in,ref] lsa_LUID *luid,
385 NTSTATUS PRIV_GET_DISPNAME ();
387 NTSTATUS DELETEOBJECT ();
389 NTSTATUS ENUMACCTWITHRIGHT ();
394 } lsa_RightAttribute;
398 [size_is(count)] lsa_Name *names;
401 NTSTATUS lsa_EnumAccountRights (
402 [in,ref] policy_handle *handle,
403 [in,ref] dom_sid2 *sid,
404 [out,ref] lsa_RightSet *rights
409 NTSTATUS ADDACCTRIGHTS ();
411 NTSTATUS REMOVEACCTRIGHTS ();
413 NTSTATUS QUERYTRUSTDOMINFO ();
415 NTSTATUS SETTRUSTDOMINFO ();
417 NTSTATUS DELETETRUSTDOM ();
419 NTSTATUS STOREPRIVDATA ();
421 NTSTATUS RETRPRIVDATA ();
424 /**********************/
426 NTSTATUS lsa_OpenPolicy2 (
427 [in] unistr *system_name,
428 [in,ref] lsa_ObjectAttribute *attr,
429 [in] uint32 desired_access,
430 [out,ref] policy_handle *handle
435 NTSTATUS UNK_GET_CONNUSER ();
437 NTSTATUS QUERYINFO2 ();