advapi32/tests: Add some tests for token elevation.
[wine.git] / include / ntsecapi.h
blobc59f1c9ea175505e7441c841f7fe2bd286881284
1 /*
2 * Copyright (C) 1999 Juergen Schmied
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __WINE_NTSECAPI_H
20 #define __WINE_NTSECAPI_H
22 #ifndef GUID_DEFINED
23 # include <guiddef.h>
24 #endif
26 #ifdef __cplusplus
27 extern "C" {
28 #endif /* defined(__cplusplus) */
30 /* Policy access rights */
31 #define POLICY_VIEW_LOCAL_INFORMATION __MSABI_LONG(0x00000001)
32 #define POLICY_VIEW_AUDIT_INFORMATION __MSABI_LONG(0x00000002)
33 #define POLICY_GET_PRIVATE_INFORMATION __MSABI_LONG(0x00000004)
34 #define POLICY_TRUST_ADMIN __MSABI_LONG(0x00000008)
35 #define POLICY_CREATE_ACCOUNT __MSABI_LONG(0x00000010)
36 #define POLICY_CREATE_SECRET __MSABI_LONG(0x00000020)
37 #define POLICY_CREATE_PRIVILEGE __MSABI_LONG(0x00000040)
38 #define POLICY_SET_DEFAULT_QUOTA_LIMITS __MSABI_LONG(0x00000080)
39 #define POLICY_SET_AUDIT_REQUIREMENTS __MSABI_LONG(0x00000100)
40 #define POLICY_AUDIT_LOG_ADMIN __MSABI_LONG(0x00000200)
41 #define POLICY_SERVER_ADMIN __MSABI_LONG(0x00000400)
42 #define POLICY_LOOKUP_NAMES __MSABI_LONG(0x00000800)
43 #define POLICY_NOTIFICATION __MSABI_LONG(0x00001000)
45 #define POLICY_ALL_ACCESS ( \
46 STANDARD_RIGHTS_REQUIRED | \
47 POLICY_VIEW_LOCAL_INFORMATION | \
48 POLICY_VIEW_AUDIT_INFORMATION | \
49 POLICY_GET_PRIVATE_INFORMATION | \
50 POLICY_TRUST_ADMIN | \
51 POLICY_CREATE_ACCOUNT | \
52 POLICY_CREATE_SECRET | \
53 POLICY_CREATE_PRIVILEGE | \
54 POLICY_SET_DEFAULT_QUOTA_LIMITS | \
55 POLICY_SET_AUDIT_REQUIREMENTS | \
56 POLICY_AUDIT_LOG_ADMIN | \
57 POLICY_SERVER_ADMIN | \
58 POLICY_LOOKUP_NAMES)
61 #define POLICY_READ ( \
62 STANDARD_RIGHTS_READ | \
63 POLICY_VIEW_AUDIT_INFORMATION | \
64 POLICY_GET_PRIVATE_INFORMATION)
66 #define POLICY_WRITE ( \
67 STANDARD_RIGHTS_WRITE | \
68 POLICY_TRUST_ADMIN | \
69 POLICY_CREATE_ACCOUNT | \
70 POLICY_CREATE_SECRET | \
71 POLICY_CREATE_PRIVILEGE | \
72 POLICY_SET_DEFAULT_QUOTA_LIMITS | \
73 POLICY_SET_AUDIT_REQUIREMENTS | \
74 POLICY_AUDIT_LOG_ADMIN | \
75 POLICY_SERVER_ADMIN)
77 #define POLICY_EXECUTE ( \
78 STANDARD_RIGHTS_EXECUTE | \
79 POLICY_VIEW_LOCAL_INFORMATION | \
80 POLICY_LOOKUP_NAMES)
82 #define POLICY_AUDIT_EVENT_UNCHANGED __MSABI_LONG(0x00000000)
83 #define POLICY_AUDIT_EVENT_SUCCESS __MSABI_LONG(0x00000001)
84 #define POLICY_AUDIT_EVENT_FAILURE __MSABI_LONG(0x00000002)
85 #define POLICY_AUDIT_EVENT_NONE __MSABI_LONG(0x00000004)
87 #define POLICY_AUDIT_EVENT_MASK (POLICY_AUDIT_EVENT_SUCCESS | \
88 POLICY_AUDIT_EVENT_FAILURE | \
89 POLICY_AUDIT_EVENT_NONE)
91 /* logon rights names */
92 #define SE_BATCH_LOGON_NAME \
93 TEXT("SeBatchLogonRight")
94 #define SE_INTERACTIVE_LOGON_NAME \
95 TEXT("SeInteractiveLogonRight")
96 #define SE_NETWORK_LOGON_NAME \
97 TEXT("SeNetworkLogonRight")
98 #define SE_REMOTE_INTERACTIVE_LOGON_NAME \
99 TEXT("SeRemoteInteractiveLogonRight")
100 #define SE_SERVICE_LOGON_NAME \
101 TEXT("SeServiceLogonRight")
102 #define SE_DENY_BATCH_LOGON_NAME \
103 TEXT("SeDenyBatchLogonRight")
104 #define SE_DENY_INTERACTIVE_LOGON_NAME \
105 TEXT("SeDenyInteractiveLogonRight")
106 #define SE_DENY_NETWORK_LOGON_NAME \
107 TEXT("SeDenyNetworkLogonRight")
108 #define SE_DENY_REMOTE_INTERACTIVE_LOGON_NAME \
109 TEXT("SeDenyRemoteInteractiveLogonRight")
110 #define SE_DENY_SERVICE_LOGON_NAME \
111 TEXT("SeDenyServiceLogonRight")
113 #ifndef WINE_NTSTATUS_DECLARED
114 #define WINE_NTSTATUS_DECLARED
115 typedef LONG NTSTATUS;
116 #endif
117 #ifndef WINE_PNTSTATUS_DECLARED
118 #define WINE_PNTSTATUS_DECLARED
119 typedef NTSTATUS *PNTSTATUS;
120 #endif
122 typedef enum _SECURITY_LOGON_TYPE
124 Interactive = 2,
125 Network,
126 Batch,
127 Service,
128 Proxy
129 } SECURITY_LOGON_TYPE, *PSECURITY_LOGON_TYPE;
131 typedef enum _POLICY_AUDIT_EVENT_TYPE
133 AuditCategorySystem,
134 AuditCategoryLogon,
135 AuditCategoryObjectAccess,
136 AuditCategoryPrivilegeUse,
137 AuditCategoryDetailedTracking,
138 AuditCategoryPolicyChange,
139 AuditCategoryAccountManagement
140 } POLICY_AUDIT_EVENT_TYPE, *PPOLICY_AUDIT_EVENT_TYPE;
142 #ifndef __STRING_DEFINED__
143 #define __STRING_DEFINED__
144 typedef struct _STRING {
145 USHORT Length;
146 USHORT MaximumLength;
147 PCHAR Buffer;
148 } STRING, *PSTRING;
149 #endif
151 #ifndef __UNICODE_STRING_DEFINED__
152 #define __UNICODE_STRING_DEFINED__
153 typedef struct _UNICODE_STRING {
154 USHORT Length; /* bytes */
155 USHORT MaximumLength; /* bytes */
156 PWSTR Buffer;
157 } UNICODE_STRING, *PUNICODE_STRING;
158 #endif
160 #ifndef __OBJECT_ATTRIBUTES_DEFINED__
161 #define __OBJECT_ATTRIBUTES_DEFINED__
162 typedef struct _OBJECT_ATTRIBUTES {
163 ULONG Length;
164 HANDLE RootDirectory;
165 PUNICODE_STRING ObjectName;
166 ULONG Attributes;
167 PVOID SecurityDescriptor; /* type SECURITY_DESCRIPTOR */
168 PVOID SecurityQualityOfService; /* type SECURITY_QUALITY_OF_SERVICE */
169 } OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
170 #endif
172 #ifndef __SECHANDLE_DEFINED__
173 #define __SECHANDLE_DEFINED__
174 typedef struct _SecHandle
176 ULONG_PTR dwLower;
177 ULONG_PTR dwUpper;
178 } SecHandle, *PSecHandle;
179 #endif
181 typedef UNICODE_STRING LSA_UNICODE_STRING, *PLSA_UNICODE_STRING;
182 typedef STRING LSA_STRING, *PLSA_STRING;
183 typedef OBJECT_ATTRIBUTES LSA_OBJECT_ATTRIBUTES, *PLSA_OBJECT_ATTRIBUTES;
185 typedef PVOID LSA_HANDLE, *PLSA_HANDLE;
186 typedef ULONG LSA_ENUMERATION_HANDLE, *PLSA_ENUMERATION_HANDLE;
187 typedef ULONG LSA_OPERATIONAL_MODE, *PLSA_OPERATIONAL_MODE;
189 typedef enum
191 PolicyAuditLogInformation = 1,
192 PolicyAuditEventsInformation,
193 PolicyPrimaryDomainInformation,
194 PolicyPdAccountInformation,
195 PolicyAccountDomainInformation,
196 PolicyLsaServerRoleInformation,
197 PolicyReplicaSourceInformation,
198 PolicyDefaultQuotaInformation,
199 PolicyModificationInformation,
200 PolicyAuditFullSetInformation,
201 PolicyAuditFullQueryInformation,
202 PolicyDnsDomainInformation
203 } POLICY_INFORMATION_CLASS, *PPOLICY_INFORMATION_CLASS;
205 typedef ULONG POLICY_AUDIT_EVENT_OPTIONS, *PPOLICY_AUDIT_EVENT_OPTIONS;
207 typedef struct _POLICY_AUDIT_EVENTS_INFO
209 BOOLEAN AuditingMode;
210 PPOLICY_AUDIT_EVENT_OPTIONS EventAuditingOptions;
211 ULONG MaximumAuditEventCount;
212 } POLICY_AUDIT_EVENTS_INFO, *PPOLICY_AUDIT_EVENTS_INFO;
214 typedef struct _POLICY_PRIMARY_DOMAIN_INFO
216 LSA_UNICODE_STRING Name;
217 PSID Sid;
218 } POLICY_PRIMARY_DOMAIN_INFO, *PPOLICY_PRIMARY_DOMAIN_INFO;
220 typedef struct _POLICY_ACCOUNT_DOMAIN_INFO
222 LSA_UNICODE_STRING DomainName;
223 PSID DomainSid;
224 } POLICY_ACCOUNT_DOMAIN_INFO, *PPOLICY_ACCOUNT_DOMAIN_INFO;
226 typedef struct _POLICY_DNS_DOMAIN_INFO
228 LSA_UNICODE_STRING Name;
229 LSA_UNICODE_STRING DnsDomainName;
230 LSA_UNICODE_STRING DnsForestName;
231 GUID DomainGuid;
232 PSID Sid;
233 } POLICY_DNS_DOMAIN_INFO, *PPOLICY_DNS_DOMAIN_INFO;
235 typedef enum _POLICY_LSA_SERVER_ROLE
237 PolicyServerRoleBackup = 2,
238 PolicyServerRolePrimary
239 } POLICY_LSA_SERVER_ROLE, *PPOLICY_LSA_SERVER_ROLE;
241 typedef struct _POLICY_LSA_SERVER_ROLE_INFO
243 POLICY_LSA_SERVER_ROLE LsaServerRole;
244 } POLICY_LSA_SERVER_ROLE_INFO, *PPOLICY_LSA_SERVER_ROLE_INFO;
246 typedef struct _POLICY_MODIFICATION_INFO
248 LARGE_INTEGER ModifiedId;
249 LARGE_INTEGER DatabaseCreationTime;
250 } POLICY_MODIFICATION_INFO, *PPOLICY_MODIFICATION_INFO;
252 typedef struct _SECURITY_LOGON_SESSION_DATA {
253 ULONG Size;
254 LUID LogonId;
255 LSA_UNICODE_STRING UserName;
256 LSA_UNICODE_STRING LogonDomain;
257 LSA_UNICODE_STRING AuthenticationPackage;
258 ULONG LogonType;
259 ULONG Session;
260 PSID Sid;
261 LARGE_INTEGER LogonTime;
262 LSA_UNICODE_STRING LogonServer;
263 LSA_UNICODE_STRING DnsDomainName;
264 LSA_UNICODE_STRING Upn;
265 } SECURITY_LOGON_SESSION_DATA, *PSECURITY_LOGON_SESSION_DATA;
267 typedef struct
269 SID_NAME_USE Use;
270 LSA_UNICODE_STRING Name;
271 LONG DomainIndex;
272 } LSA_TRANSLATED_NAME, *PLSA_TRANSLATED_NAME;
274 typedef struct
276 LSA_UNICODE_STRING Name;
277 PSID Sid;
278 } LSA_TRUST_INFORMATION, *PLSA_TRUST_INFORMATION;
280 typedef struct
282 ULONG Entries;
283 PLSA_TRUST_INFORMATION Domains;
284 } LSA_REFERENCED_DOMAIN_LIST, *PLSA_REFERENCED_DOMAIN_LIST;
286 typedef struct _LSA_TRANSLATED_SID
288 SID_NAME_USE Use;
289 ULONG RelativeId;
290 LONG DomainIndex;
291 } LSA_TRANSLATED_SID, *PLSA_TRANSLATED_SID;
293 typedef struct _TRUSTED_DOMAIN_INFORMATION_EX
295 LSA_UNICODE_STRING Name;
296 LSA_UNICODE_STRING FlatName;
297 PSID Sid;
298 ULONG TrustDirection;
299 ULONG TrustType;
300 ULONG TrustAttributes;
301 } TRUSTED_DOMAIN_INFORMATION_EX, *PTRUSTED_DOMAIN_INFORMATION_EX;
303 typedef struct _LSA_AUTH_INFORMATION
305 LARGE_INTEGER LastUpdateTime;
306 ULONG AuthType;
307 ULONG AuthInfoLength;
308 PUCHAR AuthInfo;
309 } LSA_AUTH_INFORMATION, *PLSA_AUTH_INFORMATION;
311 typedef struct _TRUSTED_DOMAIN_AUTH_INFORMATION
313 ULONG IncomingAuthInfos;
314 PLSA_AUTH_INFORMATION IncomingAuthenticationInformation;
315 PLSA_AUTH_INFORMATION IncomingPreviousAuthenticationInformation;
316 ULONG OutgoingAuthInfos;
317 PLSA_AUTH_INFORMATION OutgoingAuthenticationInformation;
318 PLSA_AUTH_INFORMATION OutgoingPreviousAuthenticationInformation;
319 } TRUSTED_DOMAIN_AUTH_INFORMATION, *PTRUSTED_DOMAIN_AUTH_INFORMATION;
321 typedef struct _LSA_TRANSLATED_SID2
323 SID_NAME_USE Use;
324 PSID Sid;
325 LONG DomainIndex;
326 ULONG Flags;
327 } LSA_TRANSLATED_SID2, *PLSA_TRANSLATED_SID2;
329 typedef enum _TRUSTED_INFORMATION_CLASS
331 TrustedDomainNameInformation = 1,
332 TrustedControllersInformation,
333 TrustedPosixOffsetInformation,
334 TrustedPasswordInformation,
335 TrustedDomainInformationBasic,
336 TrustedDomainInformationEx,
337 TrustedDomainAuthInformation,
338 TrustedDomainFullInformation
339 } TRUSTED_INFORMATION_CLASS, *PTRUSTED_INFORMATION_CLASS;
341 typedef enum _POLICY_NOTIFICATION_INFORMATION_CLASS
343 PolicyNotifyAuditEventsInformation = 1,
344 PolicyNotifyAccountDomainInformation,
345 PolicyNotifyServerRoleInformation,
346 PolicyNotifyDnsDomainInformation,
347 PolicyNotifyDomainEfsInformation,
348 PolicyNotifyDomainKerberosTicketInformation,
349 PolicyNotifyMachineAccountPasswordInformation
350 } POLICY_NOTIFICATION_INFORMATION_CLASS, *PPOLICY_NOTIFICATION_INFORMATION_CLASS;
352 typedef struct _AUDIT_POLICY_INFORMATION
354 GUID AuditSubCategoryGuid;
355 ULONG AuditingInformation;
356 GUID AuditCategoryGuid;
357 } AUDIT_POLICY_INFORMATION, *PAUDIT_POLICY_INFORMATION;
359 #define MICROSOFT_KERBEROS_NAME_A "Kerberos"
360 #if defined(_MSC_VER) || defined(__MINGW32__)
361 #define MICROSOFT_KERBEROS_NAME_W L"Kerberos"
362 #else /* _MSC_VER/__MINGW32__ */
363 static const WCHAR MICROSOFT_KERBEROS_NAME_W[] = { 'K','e','r','b','e','r','o','s',0 };
364 #endif
366 #define KERB_TICKET_FLAGS_reserved 0x80000000
367 #define KERB_TICKET_FLAGS_forwardable 0x40000000
368 #define KERB_TICKET_FLAGS_forwarded 0x20000000
369 #define KERB_TICKET_FLAGS_proxiable 0x10000000
370 #define KERB_TICKET_FLAGS_proxy 0x08000000
371 #define KERB_TICKET_FLAGS_may_postdate 0x04000000
372 #define KERB_TICKET_FLAGS_postdated 0x02000000
373 #define KERB_TICKET_FLAGS_invalid 0x01000000
374 #define KERB_TICKET_FLAGS_renewable 0x00800000
375 #define KERB_TICKET_FLAGS_initial 0x00400000
376 #define KERB_TICKET_FLAGS_pre_authent 0x00200000
377 #define KERB_TICKET_FLAGS_hw_authent 0x00100000
378 #define KERB_TICKET_FLAGS_ok_as_delegate 0x00040000
379 #define KERB_TICKET_FLAGS_name_canonicalize 0x00010000
380 #define KERB_TICKET_FLAGS_cname_in_pa_data 0x00040000
381 #define KERB_TICKET_FLAGS_reserved1 0x00000001
383 typedef enum _KERB_PROTOCOL_MESSAGE_TYPE
385 KerbDebugRequestMessage = 0,
386 KerbQueryTicketCacheMessage,
387 KerbChangeMachinePasswordMessage,
388 KerbVerifyPacMessage,
389 KerbRetrieveTicketMessage,
390 KerbUpdateAddressesMessage,
391 KerbPurgeTicketCacheMessage,
392 KerbChangePasswordMessage,
393 KerbRetrieveEncodedTicketMessage,
394 KerbDecryptDataMessage,
395 KerbAddBindingCacheEntryMessage,
396 KerbSetPasswordMessage,
397 KerbSetPasswordExMessage,
398 KerbVerifyCredentialsMessage,
399 KerbQueryTicketCacheExMessage,
400 KerbPurgeTicketCacheExMessage,
401 KerbRefreshSmartcardCredentialsMessage,
402 KerbAddExtraCredentialsMessage,
403 KerbQuerySupplementalCredentialsMessage,
404 KerbTransferCredentialsMessage,
405 KerbQueryTicketCacheEx2Message,
406 KerbSubmitTicketMessage,
407 KerbAddExtraCredentialsExMessage,
408 KerbQueryKdcProxyCacheMessage,
409 KerbPurgeKdcProxyCacheMessage,
410 KerbQueryTicketCacheEx3Message,
411 KerbCleanupMachinePkinitCredsMessage,
412 KerbAddBindingCacheEntryExMessage,
413 KerbQueryBindingCacheMessage,
414 KerbPurgeBindingCacheMessage,
415 KerbQueryDomainExtendedPoliciesMessage,
416 KerbQueryS4U2ProxyCacheMessage
417 } KERB_PROTOCOL_MESSAGE_TYPE, *PKERB_PROTOCOL_MESSAGE_TYPE;
419 typedef struct _KERB_TICKET_CACHE_INFO
421 UNICODE_STRING ServerName;
422 UNICODE_STRING RealmName;
423 LARGE_INTEGER StartTime;
424 LARGE_INTEGER EndTime;
425 LARGE_INTEGER RenewTime;
426 LONG EncryptionType;
427 ULONG TicketFlags;
428 } KERB_TICKET_CACHE_INFO, *PKERB_TICKET_CACHE_INFO;
430 typedef struct _KERB_QUERY_TKT_CACHE_REQUEST
432 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
433 LUID LogonId;
434 } KERB_QUERY_TKT_CACHE_REQUEST, *PKERB_QUERY_TKT_CACHE_REQUEST;
436 typedef struct _KERB_QUERY_TKT_CACHE_RESPONSE
438 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
439 ULONG CountOfTickets;
440 KERB_TICKET_CACHE_INFO Tickets[ANYSIZE_ARRAY];
441 } KERB_QUERY_TKT_CACHE_RESPONSE, *PKERB_QUERY_TKT_CACHE_RESPONSE;
443 typedef struct _KERB_RETRIEVE_TKT_REQUEST
445 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
446 LUID LogonId;
447 UNICODE_STRING TargetName;
448 ULONG TicketFlags;
449 ULONG CacheOptions;
450 LONG EncryptionType;
451 SecHandle CredentialsHandle;
452 } KERB_RETRIEVE_TKT_REQUEST, *PKERB_RETRIEVE_TKT_REQUEST;
454 typedef struct _KERB_PURGE_TKT_CACHE_REQUEST
456 KERB_PROTOCOL_MESSAGE_TYPE MessageType;
457 LUID LogonId;
458 UNICODE_STRING ServerName;
459 UNICODE_STRING RealmName;
460 } KERB_PURGE_TKT_CACHE_REQUEST, *PKERB_PURGE_TKT_CACHE_REQUEST;
462 #define RtlGenRandom SystemFunction036
463 #define RtlEncryptMemory SystemFunction040
464 #define RtlDecryptMemory SystemFunction041
466 BOOLEAN WINAPI AuditQuerySystemPolicy(const GUID*,ULONG,AUDIT_POLICY_INFORMATION**);
468 BOOLEAN WINAPI RtlGenRandom(PVOID,ULONG);
469 NTSTATUS WINAPI RtlEncryptMemory(PVOID,ULONG,ULONG);
470 NTSTATUS WINAPI RtlDecryptMemory(PVOID,ULONG,ULONG);
472 NTSTATUS WINAPI LsaAddAccountRights(LSA_HANDLE,PSID,PLSA_UNICODE_STRING,ULONG);
473 NTSTATUS WINAPI LsaCallAuthenticationPackage(HANDLE,ULONG,PVOID,ULONG,PVOID*,PULONG,PNTSTATUS);
474 NTSTATUS WINAPI LsaClose(LSA_HANDLE);
475 NTSTATUS WINAPI LsaConnectUntrusted(PHANDLE);
476 NTSTATUS WINAPI LsaCreateTrustedDomainEx(LSA_HANDLE,PTRUSTED_DOMAIN_INFORMATION_EX,
477 PTRUSTED_DOMAIN_AUTH_INFORMATION,ACCESS_MASK,PLSA_HANDLE);
478 NTSTATUS WINAPI LsaDeleteTrustedDomain(LSA_HANDLE,PSID);
479 NTSTATUS WINAPI LsaDeregisterLogonProcess(HANDLE);
480 NTSTATUS WINAPI LsaEnumerateAccountRights(LSA_HANDLE,PSID,PLSA_UNICODE_STRING*,PULONG);
481 NTSTATUS WINAPI LsaEnumerateAccountsWithUserRight(LSA_HANDLE,PLSA_UNICODE_STRING,PVOID*,PULONG);
482 NTSTATUS WINAPI LsaEnumerateLogonSessions(PULONG,PLUID*);
483 NTSTATUS WINAPI LsaEnumerateTrustedDomains(LSA_HANDLE,PLSA_ENUMERATION_HANDLE,PVOID*,ULONG,PULONG);
484 NTSTATUS WINAPI LsaEnumerateTrustedDomainsEx(LSA_HANDLE,PLSA_ENUMERATION_HANDLE,PVOID*,ULONG,PULONG);
485 NTSTATUS WINAPI LsaFreeMemory(PVOID);
486 NTSTATUS WINAPI LsaFreeReturnBuffer(PVOID);
487 NTSTATUS WINAPI LsaGetLogonSessionData(PLUID,PSECURITY_LOGON_SESSION_DATA*);
488 NTSTATUS WINAPI LsaLogonUser(HANDLE,PLSA_STRING,SECURITY_LOGON_TYPE,ULONG,PVOID,ULONG,PTOKEN_GROUPS,PTOKEN_SOURCE,PVOID*,PULONG,PLUID,PHANDLE,PQUOTA_LIMITS,PNTSTATUS);
489 NTSTATUS WINAPI LsaLookupAuthenticationPackage(HANDLE,PLSA_STRING,PULONG);
490 NTSTATUS WINAPI LsaLookupNames(LSA_HANDLE,ULONG,PLSA_UNICODE_STRING,PLSA_REFERENCED_DOMAIN_LIST*,
491 PLSA_TRANSLATED_SID*);
492 NTSTATUS WINAPI LsaLookupNames2(LSA_HANDLE,ULONG,ULONG,PLSA_UNICODE_STRING,PLSA_REFERENCED_DOMAIN_LIST*,
493 PLSA_TRANSLATED_SID2*);
494 NTSTATUS WINAPI LsaLookupSids(LSA_HANDLE,ULONG,PSID *,PLSA_REFERENCED_DOMAIN_LIST *,PLSA_TRANSLATED_NAME *);
495 ULONG WINAPI LsaNtStatusToWinError(NTSTATUS);
496 NTSTATUS WINAPI LsaOpenPolicy(PLSA_UNICODE_STRING,PLSA_OBJECT_ATTRIBUTES,ACCESS_MASK,PLSA_HANDLE);
497 NTSTATUS WINAPI LsaOpenTrustedDomainByName(LSA_HANDLE,PLSA_UNICODE_STRING,ACCESS_MASK,PLSA_HANDLE);
498 NTSTATUS WINAPI LsaQueryInformationPolicy(LSA_HANDLE,POLICY_INFORMATION_CLASS,PVOID*);
499 NTSTATUS WINAPI LsaQueryTrustedDomainInfo(LSA_HANDLE,PSID,TRUSTED_INFORMATION_CLASS,PVOID*);
500 NTSTATUS WINAPI LsaQueryTrustedDomainInfoByName(LSA_HANDLE,PLSA_UNICODE_STRING,TRUSTED_INFORMATION_CLASS,PVOID*);
501 NTSTATUS WINAPI LsaRegisterLogonProcess(PLSA_STRING,PHANDLE,PLSA_OPERATIONAL_MODE);
502 NTSTATUS WINAPI LsaRegisterPolicyChangeNotification(POLICY_NOTIFICATION_INFORMATION_CLASS,HANDLE);
503 NTSTATUS WINAPI LsaRemoveAccountRights(LSA_HANDLE,PSID,BOOLEAN,PLSA_UNICODE_STRING,ULONG);
504 NTSTATUS WINAPI LsaRetrievePrivateData(LSA_HANDLE,PLSA_UNICODE_STRING,PLSA_UNICODE_STRING*);
505 NTSTATUS WINAPI LsaSetInformationPolicy(LSA_HANDLE,POLICY_INFORMATION_CLASS,PVOID);
506 NTSTATUS WINAPI LsaSetTrustedDomainInfoByName(LSA_HANDLE,PLSA_UNICODE_STRING,TRUSTED_INFORMATION_CLASS,PVOID);
507 NTSTATUS WINAPI LsaSetTrustedDomainInformation(LSA_HANDLE,PSID,TRUSTED_INFORMATION_CLASS,PVOID);
508 NTSTATUS WINAPI LsaStorePrivateData(LSA_HANDLE,PLSA_UNICODE_STRING,PLSA_UNICODE_STRING);
509 NTSTATUS WINAPI LsaUnregisterPolicyChangeNotification(POLICY_NOTIFICATION_INFORMATION_CLASS,HANDLE);
511 #ifdef __cplusplus
512 } /* extern "C" */
513 #endif /* defined(__cplusplus) */
515 #endif /* !defined(__WINE_NTSECAPI_H) */