4 lsa interface definition
7 [ uuid(12345778-1234-abcd-ef00-0123456789ab),
9 endpoints(lsarpc lsass),
10 pointer_default(unique)
16 [in,out,ref] policy_handle *handle
23 [in,ref] policy_handle *handle
31 [value(2*strlen_m(r->name))] uint16 name_len;
32 [value(r->name_len)] uint16 name_size;
44 [size_is(count)] lsa_PrivEntry *privs;
47 NTSTATUS lsa_EnumPrivs (
48 [in,ref] policy_handle *handle,
49 [in,out,ref] uint32 *resume_handle,
50 [in] uint32 max_count,
51 [out,ref] lsa_PrivArray *privs
60 [subcontext(4)] security_descriptor *sd;
63 NTSTATUS lsa_QuerySecObj (
64 [in,ref] policy_handle *handle,
66 [out] sec_desc_buf *sd
72 NTSTATUS lsa_SetSecObj ();
77 NTSTATUS lsa_ChangePassword ();
83 uint32 len; /* ignored */
84 uint16 impersonation_level;
90 uint32 len; /* ignored */
94 security_descriptor *sec_desc;
96 } lsa_ObjectAttribute;
98 /* notice the screwup with the system_name - thats why MS created
100 NTSTATUS lsa_OpenPolicy (
101 [in] uint16 *system_name,
102 [in,ref] lsa_ObjectAttribute *attr,
103 [in] uint32 desired_access,
104 [out,ref] policy_handle *handle
115 NTTIME retention_time;
116 uint8 shutdown_in_progress;
117 NTTIME time_to_shutdown;
118 uint32 next_audit_record;
123 uint32 auditing_mode;
124 [size_is(count)] uint32 *settings;
126 } lsa_AuditEventsInfo;
138 uint16 unknown; /* an midl padding bug? */
145 } lsa_ReplicaSourceInfo;
149 uint32 non_paged_pool;
154 } lsa_DefaultQuotaInfo;
158 NTTIME db_create_time;
159 } lsa_ModificationInfo;
162 uint8 shutdown_on_full;
163 } lsa_AuditFullSetInfo;
166 uint16 unknown; /* an midl padding bug? */
167 uint8 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 ();
452 uuid(3919286a-b10c-11d0-9ba8-00c04fd92ef5)
454 endpoints(lsarpc,lsass),
455 pointer_default(unique)