4 lsa interface definition
7 [ uuid(12345778-1234-abcd-ef00-0123456789ab),
9 pointer_default(unique)
15 [in,out,ref] policy_handle *handle
22 [in,ref] policy_handle *handle
30 [value(2*strlen_m(r->name))] uint16 name_len;
31 [value(r->name_len)] uint16 name_size;
43 [size_is(count)] lsa_PrivEntry *privs;
46 NTSTATUS lsa_EnumPrivs (
47 [in,ref] policy_handle *handle,
48 [in,out,ref] uint32 *resume_handle,
49 [in] uint32 max_count,
50 [out,ref] lsa_PrivArray *privs
59 [subcontext(4)] security_descriptor *sd;
62 NTSTATUS lsa_QuerySecObj (
63 [in,ref] policy_handle *handle,
65 [out] sec_desc_buf *sd
71 NTSTATUS lsa_SetSecObj ();
76 NTSTATUS lsa_ChangePassword ();
82 uint32 len; /* ignored */
83 uint16 impersonation_level;
89 uint32 len; /* ignored */
93 security_descriptor *sec_desc;
95 } lsa_ObjectAttribute;
97 /* notice the screwup with the system_name - thats why MS created
99 NTSTATUS lsa_OpenPolicy (
100 [in] uint16 *system_name,
101 [in,ref] lsa_ObjectAttribute *attr,
102 [in] uint32 desired_access,
103 [out,ref] policy_handle *handle
114 NTTIME retention_time;
115 uint8 shutdown_in_progress;
116 NTTIME time_to_shutdown;
117 uint32 next_audit_record;
122 uint32 auditing_mode;
123 [size_is(count)] uint32 *settings;
125 } lsa_AuditEventsInfo;
137 uint16 unknown; /* an midl padding bug? */
144 } lsa_ReplicaSourceInfo;
148 uint32 non_paged_pool;
153 } lsa_DefaultQuotaInfo;
157 NTTIME db_create_time;
158 } lsa_ModificationInfo;
161 uint8 shutdown_on_full;
162 } lsa_AuditFullSetInfo;
165 uint16 unknown; /* an midl padding bug? */
166 uint8 shutdown_on_full;
168 } lsa_AuditFullQueryInfo;
179 [case(1)] lsa_AuditLogInfo audit_log;
180 [case(2)] lsa_AuditEventsInfo audit_events;
181 [case(3)] lsa_DomainInfo domain;
182 [case(4)] lsa_PDAccountInfo pd;
183 [case(5)] lsa_DomainInfo account_domain;
184 [case(6)] lsa_ServerRole role;
185 [case(7)] lsa_ReplicaSourceInfo replica;
186 [case(8)] lsa_DefaultQuotaInfo quota;
187 [case(9)] lsa_ModificationInfo db;
188 [case(10)] lsa_AuditFullSetInfo auditfullset;
189 [case(11)] lsa_AuditFullQueryInfo auditfullquery;
190 [case(12)] lsa_DnsDomainInfo dns;
191 } lsa_PolicyInformation;
193 NTSTATUS lsa_QueryInfoPolicy (
194 [in,ref] policy_handle *handle,
196 [out,switch_is(level)] lsa_PolicyInformation *info
201 NTSTATUS lsa_SetInfoPolicy ();
205 NTSTATUS lsa_ClearAuditLog ();
209 NTSTATUS lsa_CreateAccount ();
220 [size_is(num_sids)] lsa_SidPtr *sids;
223 NTSTATUS lsa_EnumAccounts (
224 [in,ref] policy_handle *handle,
225 [in,out,ref] uint32 *resume_handle,
226 [in] uint32 num_entries,
227 [out,ref] lsa_SidArray *sids
231 /*************************************************/
233 NTSTATUS lsa_CreateTrustDom ();
242 } lsa_DomainInformation;
246 [size_is(count)] lsa_DomainInformation *domains;
249 NTSTATUS lsa_EnumTrustDom (
250 [in,ref] policy_handle *handle,
251 [in,out,ref] uint32 *resume_handle,
252 [in] uint32 num_entries,
253 [out,ref] lsa_DomainList *domains
268 [size_is(count)] lsa_TranslatedSid *sids;
274 } lsa_TrustInformation;
278 [size_is(count)] lsa_TrustInformation *domains;
282 NTSTATUS lsa_LookupNames (
283 [in,ref] policy_handle *handle,
284 [in] uint32 num_names,
285 [in,ref,size_is(num_names)] lsa_Name *names,
286 [out] lsa_RefDomainList *domains,
287 [in,out,ref] lsa_TransSidArray *sids,
289 [in,out,ref] uint32 *count
300 } lsa_TranslatedName;
304 [size_is(count)] lsa_TranslatedName *names;
305 } lsa_TransNameArray;
307 NTSTATUS lsa_LookupSids (
308 [in,ref] policy_handle *handle,
309 [in,ref] lsa_SidArray *sids,
310 [out] lsa_RefDomainList *domains,
311 [in,out,ref] lsa_TransNameArray *names,
313 [in,out,ref] uint32 *count
318 NTSTATUS CREATESECRET ();
321 /*****************************************/
323 NTSTATUS lsa_OpenAccount (
324 [in,ref] policy_handle *handle,
325 [in,ref] dom_sid2 *sid,
326 [in] uint32 desired_access,
327 [out,ref] policy_handle *acct_handle
331 /****************************************/
347 [size_is(count)] lsa_LUIDAttribute set[*];
350 NTSTATUS lsa_EnumPrivsAccount (
351 [in,ref] policy_handle *handle,
352 [out] lsa_PrivilegeSet *privs
357 NTSTATUS ADDPRIVS ();
359 NTSTATUS REMOVEPRIVS ();
361 NTSTATUS GETQUOTAS ();
363 NTSTATUS SETQUOTAS ();
365 NTSTATUS GETSYSTEMACCOUNT ();
367 NTSTATUS SETSYSTEMACCOUNT ();
369 NTSTATUS OPENTRUSTDOM ();
371 NTSTATUS QUERYTRUSTDOM ();
373 NTSTATUS SETINFOTRUSTDOM ();
375 NTSTATUS OPENSECRET ();
377 NTSTATUS SETSECRET ();
379 NTSTATUS QUERYSECRET ();
382 NTSTATUS LOOKUPPRIVVALUE ();
386 NTSTATUS lsa_LookupPrivName (
387 [in,ref] policy_handle *handle,
388 [in,ref] lsa_LUID *luid,
394 NTSTATUS PRIV_GET_DISPNAME ();
396 NTSTATUS DELETEOBJECT ();
398 NTSTATUS ENUMACCTWITHRIGHT ();
403 } lsa_RightAttribute;
407 [size_is(count)] lsa_Name *names;
410 NTSTATUS lsa_EnumAccountRights (
411 [in,ref] policy_handle *handle,
412 [in,ref] dom_sid2 *sid,
413 [out,ref] lsa_RightSet *rights
418 NTSTATUS ADDACCTRIGHTS ();
420 NTSTATUS REMOVEACCTRIGHTS ();
422 NTSTATUS QUERYTRUSTDOMINFO ();
424 NTSTATUS SETTRUSTDOMINFO ();
426 NTSTATUS DELETETRUSTDOM ();
428 NTSTATUS STOREPRIVDATA ();
430 NTSTATUS RETRPRIVDATA ();
433 /**********************/
435 NTSTATUS lsa_OpenPolicy2 (
436 [in] unistr *system_name,
437 [in,ref] lsa_ObjectAttribute *attr,
438 [in] uint32 desired_access,
439 [out,ref] policy_handle *handle
444 NTSTATUS UNK_GET_CONNUSER ();
446 NTSTATUS QUERYINFO2 ();