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
57 typedef [public] struct {
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 LSA_POLICY_INFO_AUDIT_LOG=1,
180 LSA_POLICY_INFO_AUDIT_EVENTS=2,
181 LSA_POLICY_INFO_DOMAIN=3,
182 LSA_POLICY_INFO_PD=4,
183 LSA_POLICY_INFO_ACCOUNT_DOMAIN=5,
184 LSA_POLICY_INFO_ROLE=6,
185 LSA_POLICY_INFO_REPLICA=7,
186 LSA_POLICY_INFO_QUOTA=8,
187 LSA_POLICY_INFO_DB=9,
188 LSA_POLICY_INFO_AUDIT_FULL_SET=10,
189 LSA_POLICY_INFO_AUDIT_FULL_QUERY=11,
190 LSA_POLICY_INFO_DNS=12
194 [case(1)] lsa_AuditLogInfo audit_log;
195 [case(2)] lsa_AuditEventsInfo audit_events;
196 [case(3)] lsa_DomainInfo domain;
197 [case(4)] lsa_PDAccountInfo pd;
198 [case(5)] lsa_DomainInfo account_domain;
199 [case(6)] lsa_ServerRole role;
200 [case(7)] lsa_ReplicaSourceInfo replica;
201 [case(8)] lsa_DefaultQuotaInfo quota;
202 [case(9)] lsa_ModificationInfo db;
203 [case(10)] lsa_AuditFullSetInfo auditfullset;
204 [case(11)] lsa_AuditFullQueryInfo auditfullquery;
205 [case(12)] lsa_DnsDomainInfo dns;
206 } lsa_PolicyInformation;
208 NTSTATUS lsa_QueryInfoPolicy (
209 [in,ref] policy_handle *handle,
211 [out,switch_is(level)] lsa_PolicyInformation *info
216 NTSTATUS lsa_SetInfoPolicy ();
220 NTSTATUS lsa_ClearAuditLog ();
224 NTSTATUS lsa_CreateAccount (
225 [in,ref] policy_handle *handle,
226 [in,ref] dom_sid2 *sid,
227 [in] uint32 desired_access,
228 [out,ref] policy_handle *acct_handle
237 typedef [public] struct {
239 [size_is(num_sids)] lsa_SidPtr *sids;
242 NTSTATUS lsa_EnumAccounts (
243 [in,ref] policy_handle *handle,
244 [in,out,ref] uint32 *resume_handle,
245 [in] uint32 num_entries,
246 [out,ref] lsa_SidArray *sids
250 /*************************************************/
256 } lsa_TrustInformation;
258 NTSTATUS lsa_CreateTrustedDomain(
259 [in,ref] policy_handle *handle,
260 [in,ref] lsa_TrustInformation *info,
261 [in] uint32 desired_access,
262 [out,ref] policy_handle *dom_handle
272 } lsa_DomainInformation;
276 [size_is(count)] lsa_DomainInformation *domains;
279 NTSTATUS lsa_EnumTrustDom (
280 [in,ref] policy_handle *handle,
281 [in,out,ref] uint32 *resume_handle,
282 [in] uint32 num_entries,
283 [out,ref] lsa_DomainList *domains
298 [size_is(count)] lsa_TranslatedSid *sids;
303 [size_is(count)] lsa_TrustInformation *domains;
307 NTSTATUS lsa_LookupNames (
308 [in,ref] policy_handle *handle,
309 [in] uint32 num_names,
310 [in,ref,size_is(num_names)] lsa_Name *names,
311 [out] lsa_RefDomainList *domains,
312 [in,out,ref] lsa_TransSidArray *sids,
314 [in,out,ref] uint32 *count
325 } lsa_TranslatedName;
329 [size_is(count)] lsa_TranslatedName *names;
330 } lsa_TransNameArray;
332 NTSTATUS lsa_LookupSids (
333 [in,ref] policy_handle *handle,
334 [in,ref] lsa_SidArray *sids,
335 [out] lsa_RefDomainList *domains,
336 [in,out,ref] lsa_TransNameArray *names,
338 [in,out,ref] uint32 *count
343 NTSTATUS CREATESECRET ();
346 /*****************************************/
348 NTSTATUS lsa_OpenAccount (
349 [in,ref] policy_handle *handle,
350 [in,ref] dom_sid2 *sid,
351 [in] uint32 desired_access,
352 [out,ref] policy_handle *acct_handle
356 /****************************************/
372 [size_is(count)] lsa_LUIDAttribute set[*];
375 NTSTATUS lsa_EnumPrivsAccount (
376 [in,ref] policy_handle *handle,
377 [out] lsa_PrivilegeSet *privs
382 NTSTATUS ADDPRIVS ();
384 NTSTATUS REMOVEPRIVS ();
386 NTSTATUS GETQUOTAS ();
388 NTSTATUS SETQUOTAS ();
390 NTSTATUS GETSYSTEMACCOUNT ();
392 NTSTATUS SETSYSTEMACCOUNT ();
394 NTSTATUS OPENTRUSTDOM ();
396 NTSTATUS QUERYTRUSTDOM ();
398 NTSTATUS SETINFOTRUSTDOM ();
400 NTSTATUS OPENSECRET ();
402 NTSTATUS SETSECRET ();
404 NTSTATUS QUERYSECRET ();
407 NTSTATUS LOOKUPPRIVVALUE ();
411 NTSTATUS lsa_LookupPrivName (
412 [in,ref] policy_handle *handle,
413 [in,ref] lsa_LUID *luid,
419 NTSTATUS PRIV_GET_DISPNAME ();
421 NTSTATUS DELETEOBJECT ();
423 NTSTATUS ENUMACCTWITHRIGHT ();
428 } lsa_RightAttribute;
432 [size_is(count)] lsa_Name *names;
435 NTSTATUS lsa_EnumAccountRights (
436 [in,ref] policy_handle *handle,
437 [in,ref] dom_sid2 *sid,
438 [out,ref] lsa_RightSet *rights
443 NTSTATUS ADDACCTRIGHTS ();
445 NTSTATUS REMOVEACCTRIGHTS ();
447 NTSTATUS QUERYTRUSTDOMINFO ();
449 NTSTATUS SETTRUSTDOMINFO ();
451 NTSTATUS DELETETRUSTDOM ();
453 NTSTATUS STOREPRIVDATA ();
455 NTSTATUS RETRPRIVDATA ();
458 /**********************/
460 NTSTATUS lsa_OpenPolicy2 (
461 [in] unistr *system_name,
462 [in,ref] lsa_ObjectAttribute *attr,
463 [in] uint32 desired_access,
464 [out,ref] policy_handle *handle
469 NTSTATUS UNK_GET_CONNUSER ();
471 NTSTATUS QUERYINFO2 ();
476 uuid(3919286a-b10c-11d0-9ba8-00c04fd92ef5),
478 endpoints(lsarpc,lsass),
479 pointer_default(unique)
486 void lsads_Unknown0();