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
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 | \
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 | \
77 #define POLICY_EXECUTE ( \
78 STANDARD_RIGHTS_EXECUTE | \
79 POLICY_VIEW_LOCAL_INFORMATION | \
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
;
117 #ifndef WINE_PNTSTATUS_DECLARED
118 #define WINE_PNTSTATUS_DECLARED
119 typedef NTSTATUS
*PNTSTATUS
;
122 typedef enum _SECURITY_LOGON_TYPE
129 } SECURITY_LOGON_TYPE
, *PSECURITY_LOGON_TYPE
;
131 typedef enum _POLICY_AUDIT_EVENT_TYPE
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
{
146 USHORT MaximumLength
;
151 #ifndef __UNICODE_STRING_DEFINED__
152 #define __UNICODE_STRING_DEFINED__
153 typedef struct _UNICODE_STRING
{
154 USHORT Length
; /* bytes */
155 USHORT MaximumLength
; /* bytes */
157 } UNICODE_STRING
, *PUNICODE_STRING
;
160 #ifndef __OBJECT_ATTRIBUTES_DEFINED__
161 #define __OBJECT_ATTRIBUTES_DEFINED__
162 typedef struct _OBJECT_ATTRIBUTES
{
164 HANDLE RootDirectory
;
165 PUNICODE_STRING ObjectName
;
167 PVOID SecurityDescriptor
; /* type SECURITY_DESCRIPTOR */
168 PVOID SecurityQualityOfService
; /* type SECURITY_QUALITY_OF_SERVICE */
169 } OBJECT_ATTRIBUTES
, *POBJECT_ATTRIBUTES
;
172 #ifndef __SECHANDLE_DEFINED__
173 #define __SECHANDLE_DEFINED__
174 typedef struct _SecHandle
178 } SecHandle
, *PSecHandle
;
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
;
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
;
218 } POLICY_PRIMARY_DOMAIN_INFO
, *PPOLICY_PRIMARY_DOMAIN_INFO
;
220 typedef struct _POLICY_ACCOUNT_DOMAIN_INFO
222 LSA_UNICODE_STRING DomainName
;
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
;
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
{
255 LSA_UNICODE_STRING UserName
;
256 LSA_UNICODE_STRING LogonDomain
;
257 LSA_UNICODE_STRING AuthenticationPackage
;
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
;
270 LSA_UNICODE_STRING Name
;
272 } LSA_TRANSLATED_NAME
, *PLSA_TRANSLATED_NAME
;
276 LSA_UNICODE_STRING Name
;
278 } LSA_TRUST_INFORMATION
, *PLSA_TRUST_INFORMATION
;
283 PLSA_TRUST_INFORMATION Domains
;
284 } LSA_REFERENCED_DOMAIN_LIST
, *PLSA_REFERENCED_DOMAIN_LIST
;
286 typedef struct _LSA_TRANSLATED_SID
291 } LSA_TRANSLATED_SID
, *PLSA_TRANSLATED_SID
;
293 typedef struct _TRUSTED_DOMAIN_INFORMATION_EX
295 LSA_UNICODE_STRING Name
;
296 LSA_UNICODE_STRING FlatName
;
298 ULONG TrustDirection
;
300 ULONG TrustAttributes
;
301 } TRUSTED_DOMAIN_INFORMATION_EX
, *PTRUSTED_DOMAIN_INFORMATION_EX
;
303 typedef struct _LSA_AUTH_INFORMATION
305 LARGE_INTEGER LastUpdateTime
;
307 ULONG AuthInfoLength
;
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
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 };
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
;
428 } KERB_TICKET_CACHE_INFO
, *PKERB_TICKET_CACHE_INFO
;
430 typedef struct _KERB_QUERY_TKT_CACHE_REQUEST
432 KERB_PROTOCOL_MESSAGE_TYPE MessageType
;
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
;
447 UNICODE_STRING TargetName
;
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
;
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
);
513 #endif /* defined(__cplusplus) */
515 #endif /* !defined(__WINE_NTSECAPI_H) */