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
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
54 NTSTATUS lsa_QuerySecObj ();
59 NTSTATUS lsa_SetSecObj ();
64 NTSTATUS lsa_ChangePassword ();
70 [struct_len] uint32 _len;
71 uint16 impersonation_level;
77 [struct_len] uint32 _len;
81 security_descriptor *sec_desc;
83 } lsa_ObjectAttribute;
85 /* notice the screwup with the system_name - thats why MS created
87 NTSTATUS lsa_OpenPolicy (
88 [in] uint16 *system_name,
89 [in,ref] lsa_ObjectAttribute *attr,
90 [in] uint32 desired_access,
91 [out,ref] policy_handle *handle
98 NTSTATUS lsa_QueryInfoPolicy ();
102 NTSTATUS lsa_SetInfoPolicy ();
106 NTSTATUS lsa_ClearAuditLog ();
110 NTSTATUS lsa_CreateAccount ();
121 [size_is(num_sids)] lsa_SidPtr *sids;
124 NTSTATUS lsa_EnumAccounts (
125 [in,ref] policy_handle *handle,
126 [in,out,ref] uint32 *resume_handle,
127 [in] uint32 num_entries,
128 [out,ref] lsa_SidArray *sids
132 /*************************************************/
134 NTSTATUS lsa_CreateTrustDom ();
143 } lsa_DomainInformation;
147 [size_is(count)] lsa_DomainInformation *domains;
150 NTSTATUS lsa_EnumTrustDom (
151 [in,ref] policy_handle *handle,
152 [in,out,ref] uint32 *resume_handle,
153 [in] uint32 num_entries,
154 [out,ref] lsa_DomainList *domains
169 [size_is(count)] lsa_TranslatedSid *sids;
175 } lsa_TrustInformation;
179 [size_is(count)] lsa_TrustInformation *domains;
183 NTSTATUS lsa_LookupNames (
184 [in,ref] policy_handle *handle,
185 [in] uint32 num_names,
186 [in,ref,size_is(num_names)] lsa_Name *names,
187 [out] lsa_RefDomainList *domains,
188 [in,out,ref] lsa_TransSidArray *sids,
190 [in,out,ref] uint32 *count
201 } lsa_TranslatedName;
205 [size_is(count)] lsa_TranslatedName *names;
206 } lsa_TransNameArray;
208 NTSTATUS lsa_LookupSids (
209 [in,ref] policy_handle *handle,
210 [in,ref] lsa_SidArray *sids,
211 [out] lsa_RefDomainList *domains,
212 [in,out,ref] lsa_TransNameArray *names,
214 [in,out,ref] uint32 *count
219 NTSTATUS CREATESECRET ();
222 /*****************************************/
224 NTSTATUS lsa_OpenAccount (
225 [in,ref] policy_handle *handle,
226 [in,ref] dom_sid2 *sid,
227 [in] uint32 desired_access,
228 [out,ref] policy_handle *acct_handle
232 /****************************************/
247 [size_is(count)] lsa_LUIDAttribute set[*];
250 NTSTATUS lsa_EnumPrivsAccount (
251 [in,ref] policy_handle *handle,
252 [out] lsa_PrivilegeSet *privs,
258 NTSTATUS ADDPRIVS ();
260 NTSTATUS REMOVEPRIVS ();
262 NTSTATUS GETQUOTAS ();
264 NTSTATUS SETQUOTAS ();
266 NTSTATUS GETSYSTEMACCOUNT ();
268 NTSTATUS SETSYSTEMACCOUNT ();
270 NTSTATUS OPENTRUSTDOM ();
272 NTSTATUS QUERYTRUSTDOM ();
274 NTSTATUS SETINFOTRUSTDOM ();
276 NTSTATUS OPENSECRET ();
278 NTSTATUS SETSECRET ();
280 NTSTATUS QUERYSECRET ();
283 NTSTATUS LOOKUPPRIVVALUE ();
287 NTSTATUS lsa_LookupPrivName (
288 [in,ref] policy_handle *handle,
289 [in] uint32 luid_high,
290 [in] uint32 luid_low,
296 NTSTATUS PRIV_GET_DISPNAME ();
298 NTSTATUS DELETEOBJECT ();
300 NTSTATUS ENUMACCTWITHRIGHT ();
305 } lsa_RightAttribute;
309 [size_is(count)] lsa_Name *names;
312 NTSTATUS lsa_EnumAccountRights (
313 [in,ref] policy_handle *handle,
314 [in,ref] dom_sid2 *sid,
315 [out,ref] lsa_RightSet *rights
320 NTSTATUS ADDACCTRIGHTS ();
322 NTSTATUS REMOVEACCTRIGHTS ();
324 NTSTATUS QUERYTRUSTDOMINFO ();
326 NTSTATUS SETTRUSTDOMINFO ();
328 NTSTATUS DELETETRUSTDOM ();
330 NTSTATUS STOREPRIVDATA ();
332 NTSTATUS RETRPRIVDATA ();
335 /**********************/
337 NTSTATUS lsa_OpenPolicy2 (
338 [in] unistr *system_name,
339 [in,ref] lsa_ObjectAttribute *attr,
340 [in] uint32 desired_access,
341 [out,ref] policy_handle *handle
346 NTSTATUS UNK_GET_CONNUSER ();
348 NTSTATUS QUERYINFO2 ();