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 lsa_CreateSecret(
344 [in,ref] policy_handle *handle,
346 [in] uint32 desired_access,
347 [out,ref] policy_handle *sec_handle
351 /*****************************************/
353 NTSTATUS lsa_OpenAccount (
354 [in,ref] policy_handle *handle,
355 [in,ref] dom_sid2 *sid,
356 [in] uint32 desired_access,
357 [out,ref] policy_handle *acct_handle
361 /****************************************/
377 [size_is(count)] lsa_LUIDAttribute set[*];
380 NTSTATUS lsa_EnumPrivsAccount (
381 [in,ref] policy_handle *handle,
382 [out] lsa_PrivilegeSet *privs
387 NTSTATUS ADDPRIVS ();
389 NTSTATUS REMOVEPRIVS ();
391 NTSTATUS GETQUOTAS ();
393 NTSTATUS SETQUOTAS ();
395 NTSTATUS GETSYSTEMACCOUNT ();
397 NTSTATUS SETSYSTEMACCOUNT ();
399 NTSTATUS OPENTRUSTDOM ();
401 NTSTATUS QUERYTRUSTDOM ();
403 NTSTATUS SETINFOTRUSTDOM ();
406 NTSTATUS lsa_OpenSecret(
407 [in,ref] policy_handle *handle,
409 [in] uint32 desired_access,
410 [out,ref] policy_handle *sec_handle
414 NTSTATUS SETSECRET ();
416 NTSTATUS QUERYSECRET ();
419 NTSTATUS LOOKUPPRIVVALUE ();
423 NTSTATUS lsa_LookupPrivName (
424 [in,ref] policy_handle *handle,
425 [in,ref] lsa_LUID *luid,
431 NTSTATUS PRIV_GET_DISPNAME ();
433 NTSTATUS DELETEOBJECT ();
435 NTSTATUS ENUMACCTWITHRIGHT ();
440 } lsa_RightAttribute;
444 [size_is(count)] lsa_Name *names;
447 NTSTATUS lsa_EnumAccountRights (
448 [in,ref] policy_handle *handle,
449 [in,ref] dom_sid2 *sid,
450 [out,ref] lsa_RightSet *rights
455 NTSTATUS ADDACCTRIGHTS ();
457 NTSTATUS REMOVEACCTRIGHTS ();
459 NTSTATUS QUERYTRUSTDOMINFO ();
461 NTSTATUS SETTRUSTDOMINFO ();
463 NTSTATUS DELETETRUSTDOM ();
465 NTSTATUS STOREPRIVDATA ();
467 NTSTATUS RETRPRIVDATA ();
470 /**********************/
472 NTSTATUS lsa_OpenPolicy2 (
473 [in] unistr *system_name,
474 [in,ref] lsa_ObjectAttribute *attr,
475 [in] uint32 desired_access,
476 [out,ref] policy_handle *handle
481 NTSTATUS UNK_GET_CONNUSER ();
483 NTSTATUS QUERYINFO2 ();
488 uuid(3919286a-b10c-11d0-9ba8-00c04fd92ef5),
490 endpoints(lsarpc,lsass),
491 pointer_default(unique)
498 void lsads_Unknown0();