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;
122 [size_is(count)] uint32 settings[*];
126 uint32 auditing_mode;
127 lsa_AuditSettings *settings;
128 } lsa_AuditEventsInfo;
146 } lsa_ReplicaSourceInfo;
150 uint32 non_paged_pool;
155 } lsa_DefaultQuotaInfo;
159 NTTIME db_create_time;
160 } lsa_ModificationInfo;
163 uint32 shutdown_on_full;
164 } lsa_AuditFullSetInfo;
167 uint32 shutdown_on_full;
169 } lsa_AuditFullQueryInfo;
180 case(1) lsa_AuditLogInfo audit_log;
181 case(2) lsa_AuditEventsInfo audit_events;
182 case(3) lsa_DomainInfo domain;
183 case(4) lsa_PDAccountInfo pd;
184 case(5) lsa_DomainInfo account_domain;
185 case(6) lsa_ServerRole role;
186 case(7) lsa_ReplicaSourceInfo replica;
187 case(8) lsa_DefaultQuotaInfo quota;
188 case(9) lsa_ModificationInfo db;
189 case(10) lsa_AuditFullSetInfo auditfullset;
190 case(11) lsa_AuditFullQueryInfo auditfullquery;
191 case(12) lsa_DnsDomainInfo dns;
192 } lsa_PolicyInformation;
194 NTSTATUS lsa_QueryInfoPolicy (
195 [in,ref] policy_handle *handle,
197 [out,switch_is(level)] lsa_PolicyInformation *info
202 NTSTATUS lsa_SetInfoPolicy ();
206 NTSTATUS lsa_ClearAuditLog ();
210 NTSTATUS lsa_CreateAccount ();
221 [size_is(num_sids)] lsa_SidPtr *sids;
224 NTSTATUS lsa_EnumAccounts (
225 [in,ref] policy_handle *handle,
226 [in,out,ref] uint32 *resume_handle,
227 [in] uint32 num_entries,
228 [out,ref] lsa_SidArray *sids
232 /*************************************************/
234 NTSTATUS lsa_CreateTrustDom ();
243 } lsa_DomainInformation;
247 [size_is(count)] lsa_DomainInformation *domains;
250 NTSTATUS lsa_EnumTrustDom (
251 [in,ref] policy_handle *handle,
252 [in,out,ref] uint32 *resume_handle,
253 [in] uint32 num_entries,
254 [out,ref] lsa_DomainList *domains
269 [size_is(count)] lsa_TranslatedSid *sids;
275 } lsa_TrustInformation;
279 [size_is(count)] lsa_TrustInformation *domains;
283 NTSTATUS lsa_LookupNames (
284 [in,ref] policy_handle *handle,
285 [in] uint32 num_names,
286 [in,ref,size_is(num_names)] lsa_Name *names,
287 [out] lsa_RefDomainList *domains,
288 [in,out,ref] lsa_TransSidArray *sids,
290 [in,out,ref] uint32 *count
301 } lsa_TranslatedName;
305 [size_is(count)] lsa_TranslatedName *names;
306 } lsa_TransNameArray;
308 NTSTATUS lsa_LookupSids (
309 [in,ref] policy_handle *handle,
310 [in,ref] lsa_SidArray *sids,
311 [out] lsa_RefDomainList *domains,
312 [in,out,ref] lsa_TransNameArray *names,
314 [in,out,ref] uint32 *count
319 NTSTATUS CREATESECRET ();
322 /*****************************************/
324 NTSTATUS lsa_OpenAccount (
325 [in,ref] policy_handle *handle,
326 [in,ref] dom_sid2 *sid,
327 [in] uint32 desired_access,
328 [out,ref] policy_handle *acct_handle
332 /****************************************/
348 [size_is(count)] lsa_LUIDAttribute set[*];
351 NTSTATUS lsa_EnumPrivsAccount (
352 [in,ref] policy_handle *handle,
353 [out] lsa_PrivilegeSet *privs
358 NTSTATUS ADDPRIVS ();
360 NTSTATUS REMOVEPRIVS ();
362 NTSTATUS GETQUOTAS ();
364 NTSTATUS SETQUOTAS ();
366 NTSTATUS GETSYSTEMACCOUNT ();
368 NTSTATUS SETSYSTEMACCOUNT ();
370 NTSTATUS OPENTRUSTDOM ();
372 NTSTATUS QUERYTRUSTDOM ();
374 NTSTATUS SETINFOTRUSTDOM ();
376 NTSTATUS OPENSECRET ();
378 NTSTATUS SETSECRET ();
380 NTSTATUS QUERYSECRET ();
383 NTSTATUS LOOKUPPRIVVALUE ();
387 NTSTATUS lsa_LookupPrivName (
388 [in,ref] policy_handle *handle,
389 [in,ref] lsa_LUID *luid,
395 NTSTATUS PRIV_GET_DISPNAME ();
397 NTSTATUS DELETEOBJECT ();
399 NTSTATUS ENUMACCTWITHRIGHT ();
404 } lsa_RightAttribute;
408 [size_is(count)] lsa_Name *names;
411 NTSTATUS lsa_EnumAccountRights (
412 [in,ref] policy_handle *handle,
413 [in,ref] dom_sid2 *sid,
414 [out,ref] lsa_RightSet *rights
419 NTSTATUS ADDACCTRIGHTS ();
421 NTSTATUS REMOVEACCTRIGHTS ();
423 NTSTATUS QUERYTRUSTDOMINFO ();
425 NTSTATUS SETTRUSTDOMINFO ();
427 NTSTATUS DELETETRUSTDOM ();
429 NTSTATUS STOREPRIVDATA ();
431 NTSTATUS RETRPRIVDATA ();
434 /**********************/
436 NTSTATUS lsa_OpenPolicy2 (
437 [in] unistr *system_name,
438 [in,ref] lsa_ObjectAttribute *attr,
439 [in] uint32 desired_access,
440 [out,ref] policy_handle *handle
445 NTSTATUS UNK_GET_CONNUSER ();
447 NTSTATUS QUERYINFO2 ();