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
57 [subcontext] security_descriptor *sd;
60 NTSTATUS lsa_QuerySecObj (
61 [in,ref] policy_handle *handle,
63 [out] sec_desc_buf *sd
69 NTSTATUS lsa_SetSecObj ();
74 NTSTATUS lsa_ChangePassword ();
80 uint32 len; /* ignored */
81 uint16 impersonation_level;
87 uint32 len; /* ignored */
91 security_descriptor *sec_desc;
93 } lsa_ObjectAttribute;
95 /* notice the screwup with the system_name - thats why MS created
97 NTSTATUS lsa_OpenPolicy (
98 [in] uint16 *system_name,
99 [in,ref] lsa_ObjectAttribute *attr,
100 [in] uint32 desired_access,
101 [out,ref] policy_handle *handle
112 NTTIME retention_time;
113 uint8 shutdown_in_progress;
114 NTTIME time_to_shutdown;
115 uint32 next_audit_record;
120 uint32 auditing_mode;
121 [size_is(count)] uint32 *settings;
123 } lsa_AuditEventsInfo;
135 uint16 unknown; /* an midl padding bug? */
142 } lsa_ReplicaSourceInfo;
146 uint32 non_paged_pool;
151 } lsa_DefaultQuotaInfo;
155 NTTIME db_create_time;
156 } lsa_ModificationInfo;
159 uint8 shutdown_on_full;
160 } lsa_AuditFullSetInfo;
163 uint16 unknown; /* an midl padding bug? */
164 uint8 shutdown_on_full;
166 } lsa_AuditFullQueryInfo;
177 case(1) lsa_AuditLogInfo audit_log;
178 case(2) lsa_AuditEventsInfo audit_events;
179 case(3) lsa_DomainInfo domain;
180 case(4) lsa_PDAccountInfo pd;
181 case(5) lsa_DomainInfo account_domain;
182 case(6) lsa_ServerRole role;
183 case(7) lsa_ReplicaSourceInfo replica;
184 case(8) lsa_DefaultQuotaInfo quota;
185 case(9) lsa_ModificationInfo db;
186 case(10) lsa_AuditFullSetInfo auditfullset;
187 case(11) lsa_AuditFullQueryInfo auditfullquery;
188 case(12) lsa_DnsDomainInfo dns;
189 } lsa_PolicyInformation;
191 NTSTATUS lsa_QueryInfoPolicy (
192 [in,ref] policy_handle *handle,
194 [out,switch_is(level)] lsa_PolicyInformation *info
199 NTSTATUS lsa_SetInfoPolicy ();
203 NTSTATUS lsa_ClearAuditLog ();
207 NTSTATUS lsa_CreateAccount ();
218 [size_is(num_sids)] lsa_SidPtr *sids;
221 NTSTATUS lsa_EnumAccounts (
222 [in,ref] policy_handle *handle,
223 [in,out,ref] uint32 *resume_handle,
224 [in] uint32 num_entries,
225 [out,ref] lsa_SidArray *sids
229 /*************************************************/
231 NTSTATUS lsa_CreateTrustDom ();
240 } lsa_DomainInformation;
244 [size_is(count)] lsa_DomainInformation *domains;
247 NTSTATUS lsa_EnumTrustDom (
248 [in,ref] policy_handle *handle,
249 [in,out,ref] uint32 *resume_handle,
250 [in] uint32 num_entries,
251 [out,ref] lsa_DomainList *domains
266 [size_is(count)] lsa_TranslatedSid *sids;
272 } lsa_TrustInformation;
276 [size_is(count)] lsa_TrustInformation *domains;
280 NTSTATUS lsa_LookupNames (
281 [in,ref] policy_handle *handle,
282 [in] uint32 num_names,
283 [in,ref,size_is(num_names)] lsa_Name *names,
284 [out] lsa_RefDomainList *domains,
285 [in,out,ref] lsa_TransSidArray *sids,
287 [in,out,ref] uint32 *count
298 } lsa_TranslatedName;
302 [size_is(count)] lsa_TranslatedName *names;
303 } lsa_TransNameArray;
305 NTSTATUS lsa_LookupSids (
306 [in,ref] policy_handle *handle,
307 [in,ref] lsa_SidArray *sids,
308 [out] lsa_RefDomainList *domains,
309 [in,out,ref] lsa_TransNameArray *names,
311 [in,out,ref] uint32 *count
316 NTSTATUS CREATESECRET ();
319 /*****************************************/
321 NTSTATUS lsa_OpenAccount (
322 [in,ref] policy_handle *handle,
323 [in,ref] dom_sid2 *sid,
324 [in] uint32 desired_access,
325 [out,ref] policy_handle *acct_handle
329 /****************************************/
345 [size_is(count)] lsa_LUIDAttribute set[*];
348 NTSTATUS lsa_EnumPrivsAccount (
349 [in,ref] policy_handle *handle,
350 [out] lsa_PrivilegeSet *privs
355 NTSTATUS ADDPRIVS ();
357 NTSTATUS REMOVEPRIVS ();
359 NTSTATUS GETQUOTAS ();
361 NTSTATUS SETQUOTAS ();
363 NTSTATUS GETSYSTEMACCOUNT ();
365 NTSTATUS SETSYSTEMACCOUNT ();
367 NTSTATUS OPENTRUSTDOM ();
369 NTSTATUS QUERYTRUSTDOM ();
371 NTSTATUS SETINFOTRUSTDOM ();
373 NTSTATUS OPENSECRET ();
375 NTSTATUS SETSECRET ();
377 NTSTATUS QUERYSECRET ();
380 NTSTATUS LOOKUPPRIVVALUE ();
384 NTSTATUS lsa_LookupPrivName (
385 [in,ref] policy_handle *handle,
386 [in,ref] lsa_LUID *luid,
392 NTSTATUS PRIV_GET_DISPNAME ();
394 NTSTATUS DELETEOBJECT ();
396 NTSTATUS ENUMACCTWITHRIGHT ();
401 } lsa_RightAttribute;
405 [size_is(count)] lsa_Name *names;
408 NTSTATUS lsa_EnumAccountRights (
409 [in,ref] policy_handle *handle,
410 [in,ref] dom_sid2 *sid,
411 [out,ref] lsa_RightSet *rights
416 NTSTATUS ADDACCTRIGHTS ();
418 NTSTATUS REMOVEACCTRIGHTS ();
420 NTSTATUS QUERYTRUSTDOMINFO ();
422 NTSTATUS SETTRUSTDOMINFO ();
424 NTSTATUS DELETETRUSTDOM ();
426 NTSTATUS STOREPRIVDATA ();
428 NTSTATUS RETRPRIVDATA ();
431 /**********************/
433 NTSTATUS lsa_OpenPolicy2 (
434 [in] unistr *system_name,
435 [in,ref] lsa_ObjectAttribute *attr,
436 [in] uint32 desired_access,
437 [out,ref] policy_handle *handle
442 NTSTATUS UNK_GET_CONNUSER ();
444 NTSTATUS QUERYINFO2 ();