1 | #ifndef _NTSECAPI_H
|
---|
2 | #define _NTSECAPI_H
|
---|
3 | #if __GNUC__ >=3
|
---|
4 | #pragma GCC system_header
|
---|
5 | #endif
|
---|
6 |
|
---|
7 | #ifdef __cplusplus
|
---|
8 | extern "C" {
|
---|
9 | #endif
|
---|
10 | #define KERB_WRAP_NO_ENCRYPT 0x80000001
|
---|
11 | #define LOGON_GUEST 1
|
---|
12 | #define LOGON_NOENCRYPTION 2
|
---|
13 | #define LOGON_CACHED_ACCOUNT 4
|
---|
14 | #define LOGON_USED_LM_PASSWORD 8
|
---|
15 | #define LOGON_EXTRA_SIDS 32
|
---|
16 | #define LOGON_SUBAUTH_SESSION_KEY 64
|
---|
17 | #define LOGON_SERVER_TRUST_ACCOUNT 128
|
---|
18 | #define LOGON_NTLMV2_ENABLED 256
|
---|
19 | #define LOGON_RESOURCE_GROUPS 512
|
---|
20 | #define LOGON_PROFILE_PATH_RETURNED 1024
|
---|
21 | #define LOGON_GRACE_LOGON 16777216
|
---|
22 | #define LSA_MODE_PASSWORD_PROTECTED 1
|
---|
23 | #define LSA_MODE_INDIVIDUAL_ACCOUNTS 2
|
---|
24 | #define LSA_MODE_MANDATORY_ACCESS 3
|
---|
25 | #define LSA_MODE_LOG_FULL 4
|
---|
26 | #define LSA_SUCCESS(x) ((LONG)(x)>=0)
|
---|
27 | #define MICROSOFT_KERBEROS_NAME_A "Kerberos"
|
---|
28 | #define MICROSOFT_KERBEROS_NAME_W L"Kerberos"
|
---|
29 | #define MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT 32
|
---|
30 | #define MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT 2048
|
---|
31 | #define MSV1_0_CHALLENGE_LENGTH 8
|
---|
32 | #define MSV1_0_CLEARTEXT_PASSWORD_ALLOWED 2
|
---|
33 | #define MSV1_0_CRED_LM_PRESENT 1
|
---|
34 | #define MSV1_0_CRED_NT_PRESENT 2
|
---|
35 | #define MSV1_0_CRED_VERSION 0
|
---|
36 | #define MSV1_0_DONT_TRY_GUEST_ACCOUNT 16
|
---|
37 | #define MSV1_0_LANMAN_SESSION_KEY_LENGTH 8
|
---|
38 | #define MSV1_0_MAX_NTLM3_LIFE 1800
|
---|
39 | #define MSV1_0_MAX_AVL_SIZE 64000
|
---|
40 | #define MSV1_0_MNS_LOGON 16777216
|
---|
41 | #define MSV1_0_NTLM3_RESPONSE_LENGTH 16
|
---|
42 | #define MSV1_0_NTLM3_OWF_LENGTH 16
|
---|
43 | #define MSV1_0_NTLM3_INPUT_LENGTH (sizeof(MSV1_0_NTLM3_RESPONSE)-MSV1_0_NTLM3_RESPONSE_LENGTH)
|
---|
44 | #define MSV1_0_OWF_PASSWORD_LENGTH 16
|
---|
45 | #define MSV1_0_PACKAGE_NAME "MICROSOFT_AUTHENTICATION_PACKAGE_V1_0"
|
---|
46 | #define MSV1_0_PACKAGE_NAMEW L"MICROSOFT_AUTHENTICATION_PACKAGE_V1_0"
|
---|
47 | #define MSV1_0_PACKAGE_NAMEW_LENGTH sizeof(MSV1_0_PACKAGE_NAMEW)-sizeof(WCHAR)
|
---|
48 | #define MSV1_0_RETURN_USER_PARAMETERS 8
|
---|
49 | #define MSV1_0_RETURN_PASSWORD_EXPIRY 64
|
---|
50 | #define MSV1_0_RETURN_PROFILE_PATH 512
|
---|
51 | #define MSV1_0_SUBAUTHENTICATION_DLL_EX 1048576
|
---|
52 | #define MSV1_0_SUBAUTHENTICATION_DLL 0xff000000
|
---|
53 | #define MSV1_0_SUBAUTHENTICATION_DLL_SHIFT 24
|
---|
54 | #define MSV1_0_SUBAUTHENTICATION_DLL_RAS 2
|
---|
55 | #define MSV1_0_SUBAUTHENTICATION_DLL_IIS 132
|
---|
56 | #define MSV1_0_SUBAUTHENTICATION_FLAGS 0xff000000
|
---|
57 | #define MSV1_0_SUBAUTHENTICATION_KEY "System\\CurrentControlSet\\Control\\Lsa\\MSV1_0"
|
---|
58 | #define MSV1_0_SUBAUTHENTICATION_VALUE "Auth"
|
---|
59 | #define MSV1_0_TRY_GUEST_ACCOUNT_ONLY 256
|
---|
60 | #define MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY 1024
|
---|
61 | #define MSV1_0_UPDATE_LOGON_STATISTICS 4
|
---|
62 | #define MSV1_0_USE_CLIENT_CHALLENGE 128
|
---|
63 | #define MSV1_0_USER_SESSION_KEY_LENGTH 16
|
---|
64 | #define POLICY_VIEW_LOCAL_INFORMATION 1
|
---|
65 | #define POLICY_VIEW_AUDIT_INFORMATION 2
|
---|
66 | #define POLICY_GET_PRIVATE_INFORMATION 4
|
---|
67 | #define POLICY_TRUST_ADMIN 8
|
---|
68 | #define POLICY_CREATE_ACCOUNT 16
|
---|
69 | #define POLICY_CREATE_SECRET 32
|
---|
70 | #define POLICY_CREATE_PRIVILEGE 64
|
---|
71 | #define POLICY_SET_DEFAULT_QUOTA_LIMITS 128
|
---|
72 | #define POLICY_SET_AUDIT_REQUIREMENTS 256
|
---|
73 | #define POLICY_AUDIT_LOG_ADMIN 512
|
---|
74 | #define POLICY_SERVER_ADMIN 1024
|
---|
75 | #define POLICY_LOOKUP_NAMES 2048
|
---|
76 | #define POLICY_READ (STANDARD_RIGHTS_READ|6)
|
---|
77 | #define POLICY_WRITE (STANDARD_RIGHTS_WRITE|2040)
|
---|
78 | #define POLICY_EXECUTE (STANDARD_RIGHTS_EXECUTE|2049)
|
---|
79 | #define POLICY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|4095)
|
---|
80 | #define POLICY_AUDIT_EVENT_UNCHANGED 0
|
---|
81 | #define POLICY_AUDIT_EVENT_SUCCESS 1
|
---|
82 | #define POLICY_AUDIT_EVENT_FAILURE 2
|
---|
83 | #define POLICY_AUDIT_EVENT_NONE 4
|
---|
84 | #define POLICY_AUDIT_EVENT_MASK 7
|
---|
85 | #define POLICY_LOCATION_LOCAL 1
|
---|
86 | #define POLICY_LOCATION_DS 2
|
---|
87 | #define POLICY_MACHINE_POLICY_LOCAL 0
|
---|
88 | #define POLICY_MACHINE_POLICY_DEFAULTED 1
|
---|
89 | #define POLICY_MACHINE_POLICY_EXPLICIT 2
|
---|
90 | #define POLICY_MACHINE_POLICY_UNKNOWN 0xFFFFFFFF
|
---|
91 | #define POLICY_QOS_SCHANEL_REQUIRED 1
|
---|
92 | #define POLICY_QOS_OUTBOUND_INTEGRITY 2
|
---|
93 | #define POLICY_QOS_OUTBOUND_CONFIDENTIALITY 4
|
---|
94 | #define POLICY_QOS_INBOUND_INTEGREITY 8
|
---|
95 | #define POLICY_QOS_INBOUND_CONFIDENTIALITY 16
|
---|
96 | #define POLICY_QOS_ALLOW_LOCAL_ROOT_CERT_STORE 32
|
---|
97 | #define POLICY_QOS_RAS_SERVER_ALLOWED 64
|
---|
98 | #define POLICY_QOS_DHCP_SERVER_ALLOWD 128
|
---|
99 | #define POLICY_KERBEROS_FORWARDABLE 1
|
---|
100 | #define POLICY_KERBEROS_PROXYABLE 2
|
---|
101 | #define POLICY_KERBEROS_RENEWABLE 4
|
---|
102 | #define POLICY_KERBEROS_POSTDATEABLE 8
|
---|
103 | #define SAM_PASSWORD_CHANGE_NOTIFY_ROUTINE "PasswordChangeNotify"
|
---|
104 | #define SAM_INIT_NOTIFICATION_ROUTINE "InitializeChangeNotify"
|
---|
105 | #define SAM_PASSWORD_FILTER_ROUTINE "PasswordFilter"
|
---|
106 | #define SE_INTERACTIVE_LOGON_NAME TEXT("SeInteractiveLogonRight")
|
---|
107 | #define SE_NETWORK_LOGON_NAME TEXT("SeNetworkLogonRight")
|
---|
108 | #define SE_BATCH_LOGON_NAME TEXT("SeBatchLogonRight")
|
---|
109 | #define SE_SERVICE_LOGON_NAME TEXT("SeServiceLogonRight")
|
---|
110 | #define TRUST_ATTRIBUTE_NON_TRANSITIVE 1
|
---|
111 | #define TRUST_ATTRIBUTE_UPLEVEL_ONLY 2
|
---|
112 | #define TRUST_ATTRIBUTE_TREE_PARENT 4194304
|
---|
113 | #define TRUST_ATTRIBUTES_VALID -16580609
|
---|
114 | #define TRUST_AUTH_TYPE_NONE 0
|
---|
115 | #define TRUST_AUTH_TYPE_NT4OWF 1
|
---|
116 | #define TRUST_AUTH_TYPE_CLEAR 2
|
---|
117 | #define TRUST_DIRECTION_DISABLED 0
|
---|
118 | #define TRUST_DIRECTION_INBOUND 1
|
---|
119 | #define TRUST_DIRECTION_OUTBOUND 2
|
---|
120 | #define TRUST_DIRECTION_BIDIRECTIONAL 3
|
---|
121 | #define TRUST_TYPE_DOWNLEVEL 1
|
---|
122 | #define TRUST_TYPE_UPLEVEL 2
|
---|
123 | #define TRUST_TYPE_MIT 3
|
---|
124 | #define TRUST_TYPE_DCE 4
|
---|
125 | #if !defined(_NTDEF_H) && !defined(_SUBAUTH_H)
|
---|
126 | typedef LONG NTSTATUS, *PNTSTATUS;
|
---|
127 | typedef struct _UNICODE_STRING {
|
---|
128 | USHORT Length;
|
---|
129 | USHORT MaximumLength;
|
---|
130 | PWSTR Buffer;
|
---|
131 | } UNICODE_STRING, *PUNICODE_STRING;
|
---|
132 | typedef const UNICODE_STRING* PCUNICODE_STRING;
|
---|
133 | typedef struct _STRING {
|
---|
134 | USHORT Length;
|
---|
135 | USHORT MaximumLength;
|
---|
136 | PCHAR Buffer;
|
---|
137 | } STRING, *PSTRING;
|
---|
138 | #endif
|
---|
139 | typedef UNICODE_STRING LSA_UNICODE_STRING, *PLSA_UNICODE_STRING;
|
---|
140 | typedef STRING LSA_STRING, *PLSA_STRING;
|
---|
141 | typedef enum _MSV1_0_LOGON_SUBMIT_TYPE {
|
---|
142 | MsV1_0InteractiveLogon = 2,
|
---|
143 | MsV1_0Lm20Logon,
|
---|
144 | MsV1_0NetworkLogon,
|
---|
145 | MsV1_0SubAuthLogon,
|
---|
146 | MsV1_0WorkstationUnlockLogon = 7
|
---|
147 | } MSV1_0_LOGON_SUBMIT_TYPE, *PMSV1_0_LOGON_SUBMIT_TYPE;
|
---|
148 | typedef enum _MSV1_0_PROFILE_BUFFER_TYPE {
|
---|
149 | MsV1_0InteractiveProfile = 2,
|
---|
150 | MsV1_0Lm20LogonProfile,
|
---|
151 | MsV1_0SmartCardProfile
|
---|
152 | } MSV1_0_PROFILE_BUFFER_TYPE, *PMSV1_0_PROFILE_BUFFER_TYPE;
|
---|
153 | typedef enum {
|
---|
154 | MsvAvEOL,
|
---|
155 | MsvAvNbComputerName,
|
---|
156 | MsvAvNbDomainName,
|
---|
157 | MsvAvDnsComputerName,
|
---|
158 | MsvAvDnsDomainName
|
---|
159 | } MSV1_0_AVID;
|
---|
160 | typedef enum _MSV1_0_PROTOCOL_MESSAGE_TYPE {
|
---|
161 | MsV1_0Lm20ChallengeRequest = 0,
|
---|
162 | MsV1_0Lm20GetChallengeResponse,
|
---|
163 | MsV1_0EnumerateUsers,
|
---|
164 | MsV1_0GetUserInfo,
|
---|
165 | MsV1_0ReLogonUsers,
|
---|
166 | MsV1_0ChangePassword,
|
---|
167 | MsV1_0ChangeCachedPassword,
|
---|
168 | MsV1_0GenericPassthrough,
|
---|
169 | MsV1_0CacheLogon,
|
---|
170 | MsV1_0SubAuth,
|
---|
171 | MsV1_0DeriveCredential,
|
---|
172 | MsV1_0CacheLookup
|
---|
173 | } MSV1_0_PROTOCOL_MESSAGE_TYPE, *PMSV1_0_PROTOCOL_MESSAGE_TYPE;
|
---|
174 | typedef enum _POLICY_LSA_SERVER_ROLE {
|
---|
175 | PolicyServerRoleBackup = 2,
|
---|
176 | PolicyServerRolePrimary
|
---|
177 | } POLICY_LSA_SERVER_ROLE, *PPOLICY_LSA_SERVER_ROLE;
|
---|
178 | typedef enum _POLICY_SERVER_ENABLE_STATE {
|
---|
179 | PolicyServerEnabled = 2,
|
---|
180 | PolicyServerDisabled
|
---|
181 | } POLICY_SERVER_ENABLE_STATE, *PPOLICY_SERVER_ENABLE_STATE;
|
---|
182 | typedef enum _POLICY_INFORMATION_CLASS {
|
---|
183 | PolicyAuditLogInformation = 1,
|
---|
184 | PolicyAuditEventsInformation,
|
---|
185 | PolicyPrimaryDomainInformation,
|
---|
186 | PolicyPdAccountInformation,
|
---|
187 | PolicyAccountDomainInformation,
|
---|
188 | PolicyLsaServerRoleInformation,
|
---|
189 | PolicyReplicaSourceInformation,
|
---|
190 | PolicyDefaultQuotaInformation,
|
---|
191 | PolicyModificationInformation,
|
---|
192 | PolicyAuditFullSetInformation,
|
---|
193 | PolicyAuditFullQueryInformation,
|
---|
194 | PolicyDnsDomainInformation,
|
---|
195 | PolicyEfsInformation
|
---|
196 | } POLICY_INFORMATION_CLASS, *PPOLICY_INFORMATION_CLASS;
|
---|
197 | typedef enum _POLICY_AUDIT_EVENT_TYPE {
|
---|
198 | AuditCategorySystem,
|
---|
199 | AuditCategoryLogon,
|
---|
200 | AuditCategoryObjectAccess,
|
---|
201 | AuditCategoryPrivilegeUse,
|
---|
202 | AuditCategoryDetailedTracking,
|
---|
203 | AuditCategoryPolicyChange,
|
---|
204 | AuditCategoryAccountManagement,
|
---|
205 | AuditCategoryDirectoryServiceAccess,
|
---|
206 | AuditCategoryAccountLogon
|
---|
207 | } POLICY_AUDIT_EVENT_TYPE, *PPOLICY_AUDIT_EVENT_TYPE;
|
---|
208 | typedef enum _POLICY_LOCAL_INFORMATION_CLASS {
|
---|
209 | PolicyLocalAuditEventsInformation = 1,
|
---|
210 | PolicyLocalPdAccountInformation,
|
---|
211 | PolicyLocalAccountDomainInformation,
|
---|
212 | PolicyLocalLsaServerRoleInformation,
|
---|
213 | PolicyLocalReplicaSourceInformation,
|
---|
214 | PolicyLocalModificationInformation,
|
---|
215 | PolicyLocalAuditFullSetInformation,
|
---|
216 | PolicyLocalAuditFullQueryInformation,
|
---|
217 | PolicyLocalDnsDomainInformation,
|
---|
218 | PolicyLocalIPSecReferenceInformation,
|
---|
219 | PolicyLocalMachinePasswordInformation,
|
---|
220 | PolicyLocalQualityOfServiceInformation,
|
---|
221 | PolicyLocalPolicyLocationInformation
|
---|
222 | } POLICY_LOCAL_INFORMATION_CLASS, *PPOLICY_LOCAL_INFORMATION_CLASS;
|
---|
223 | typedef enum _POLICY_DOMAIN_INFORMATION_CLASS {
|
---|
224 | PolicyDomainIPSecReferenceInformation = 1,
|
---|
225 | PolicyDomainQualityOfServiceInformation,
|
---|
226 | PolicyDomainEfsInformation,
|
---|
227 | PolicyDomainPublicKeyInformation,
|
---|
228 | PolicyDomainPasswordPolicyInformation,
|
---|
229 | PolicyDomainLockoutInformation,
|
---|
230 | PolicyDomainKerberosTicketInformation
|
---|
231 | } POLICY_DOMAIN_INFORMATION_CLASS, *PPOLICY_DOMAIN_INFORMATION_CLASS;
|
---|
232 | typedef enum _SECURITY_LOGON_TYPE {
|
---|
233 | Interactive = 2,
|
---|
234 | Network,
|
---|
235 | Batch,
|
---|
236 | Service,
|
---|
237 | Proxy,
|
---|
238 | Unlock
|
---|
239 | } SECURITY_LOGON_TYPE, *PSECURITY_LOGON_TYPE;
|
---|
240 | typedef enum _TRUSTED_INFORMATION_CLASS {
|
---|
241 | TrustedDomainNameInformation = 1,
|
---|
242 | TrustedControllersInformation,
|
---|
243 | TrustedPosixOffsetInformation,
|
---|
244 | TrustedPasswordInformation,
|
---|
245 | TrustedDomainInformationBasic,
|
---|
246 | TrustedDomainInformationEx,
|
---|
247 | TrustedDomainAuthInformation,
|
---|
248 | TrustedDomainFullInformation
|
---|
249 | } TRUSTED_INFORMATION_CLASS, *PTRUSTED_INFORMATION_CLASS;
|
---|
250 | typedef struct _DOMAIN_PASSWORD_INFORMATION {
|
---|
251 | USHORT MinPasswordLength;
|
---|
252 | USHORT PasswordHistoryLength;
|
---|
253 | ULONG PasswordProperties;
|
---|
254 | LARGE_INTEGER MaxPasswordAge;
|
---|
255 | LARGE_INTEGER MinPasswordAge;
|
---|
256 | } DOMAIN_PASSWORD_INFORMATION, *PDOMAIN_PASSWORD_INFORMATION;
|
---|
257 | typedef ULONG LSA_ENUMERATION_HANDLE, *PLSA_ENUMERATION_HANDLE;
|
---|
258 | typedef struct _LSA_ENUMERATION_INFORMATION {
|
---|
259 | PSID Sid;
|
---|
260 | } LSA_ENUMERATION_INFORMATION, *PLSA_ENUMERATION_INFORMATION;
|
---|
261 | typedef ULONG LSA_OPERATIONAL_MODE, *PLSA_OPERATIONAL_MODE;
|
---|
262 | #if !defined(_NTDEF_H)
|
---|
263 | typedef struct _LSA_OBJECT_ATTRIBUTES {
|
---|
264 | ULONG Length;
|
---|
265 | HANDLE RootDirectory;
|
---|
266 | PLSA_UNICODE_STRING ObjectName;
|
---|
267 | ULONG Attributes;
|
---|
268 | PVOID SecurityDescriptor;
|
---|
269 | PVOID SecurityQualityOfService;
|
---|
270 | } OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
|
---|
271 | #endif
|
---|
272 | typedef OBJECT_ATTRIBUTES LSA_OBJECT_ATTRIBUTES, *PLSA_OBJECT_ATTRIBUTES;
|
---|
273 | typedef struct _LSA_TRUST_INFORMATION {
|
---|
274 | LSA_UNICODE_STRING Name;
|
---|
275 | PSID Sid;
|
---|
276 | } LSA_TRUST_INFORMATION, *PLSA_TRUST_INFORMATION;
|
---|
277 | typedef struct _LSA_REFERENCED_DOMAIN_LIST {
|
---|
278 | ULONG Entries;
|
---|
279 | PLSA_TRUST_INFORMATION Domains;
|
---|
280 | } LSA_REFERENCED_DOMAIN_LIST, *PLSA_REFERENCED_DOMAIN_LIST;
|
---|
281 | typedef struct _LSA_TRANSLATED_SID {
|
---|
282 | SID_NAME_USE Use;
|
---|
283 | ULONG RelativeId;
|
---|
284 | LONG DomainIndex;
|
---|
285 | } LSA_TRANSLATED_SID, *PLSA_TRANSLATED_SID;
|
---|
286 | typedef struct _LSA_TRANSLATED_NAME {
|
---|
287 | SID_NAME_USE Use;
|
---|
288 | LSA_UNICODE_STRING Name;
|
---|
289 | LONG DomainIndex;
|
---|
290 | } LSA_TRANSLATED_NAME, *PLSA_TRANSLATED_NAME;
|
---|
291 | typedef struct _MSV1_0_INTERACTIVE_LOGON {
|
---|
292 | MSV1_0_LOGON_SUBMIT_TYPE MessageType;
|
---|
293 | UNICODE_STRING LogonDomainName;
|
---|
294 | UNICODE_STRING UserName;
|
---|
295 | UNICODE_STRING Password;
|
---|
296 | } MSV1_0_INTERACTIVE_LOGON, *PMSV1_0_INTERACTIVE_LOGON;
|
---|
297 | typedef struct _MSV1_0_INTERACTIVE_PROFILE {
|
---|
298 | MSV1_0_PROFILE_BUFFER_TYPE MessageType;
|
---|
299 | USHORT LogonCount;
|
---|
300 | USHORT BadPasswordCount;
|
---|
301 | LARGE_INTEGER LogonTime;
|
---|
302 | LARGE_INTEGER LogoffTime;
|
---|
303 | LARGE_INTEGER KickOffTime;
|
---|
304 | LARGE_INTEGER PasswordLastSet;
|
---|
305 | LARGE_INTEGER PasswordCanChange;
|
---|
306 | LARGE_INTEGER PasswordMustChange;
|
---|
307 | UNICODE_STRING LogonScript;
|
---|
308 | UNICODE_STRING HomeDirectory;
|
---|
309 | UNICODE_STRING FullName;
|
---|
310 | UNICODE_STRING ProfilePath;
|
---|
311 | UNICODE_STRING HomeDirectoryDrive;
|
---|
312 | UNICODE_STRING LogonServer;
|
---|
313 | ULONG UserFlags;
|
---|
314 | } MSV1_0_INTERACTIVE_PROFILE, *PMSV1_0_INTERACTIVE_PROFILE;
|
---|
315 | typedef struct _MSV1_0_LM20_LOGON {
|
---|
316 | MSV1_0_LOGON_SUBMIT_TYPE MessageType;
|
---|
317 | UNICODE_STRING LogonDomainName;
|
---|
318 | UNICODE_STRING UserName;
|
---|
319 | UNICODE_STRING Workstation;
|
---|
320 | UCHAR ChallengeToClient[MSV1_0_CHALLENGE_LENGTH];
|
---|
321 | STRING CaseSensitiveChallengeResponse;
|
---|
322 | STRING CaseInsensitiveChallengeResponse;
|
---|
323 | ULONG ParameterControl;
|
---|
324 | } MSV1_0_LM20_LOGON, * PMSV1_0_LM20_LOGON;
|
---|
325 | typedef struct _MSV1_0_SUBAUTH_LOGON{ /* W2K only */
|
---|
326 | MSV1_0_LOGON_SUBMIT_TYPE MessageType;
|
---|
327 | UNICODE_STRING LogonDomainName;
|
---|
328 | UNICODE_STRING UserName;
|
---|
329 | UNICODE_STRING Workstation;
|
---|
330 | UCHAR ChallengeToClient[MSV1_0_CHALLENGE_LENGTH];
|
---|
331 | STRING AuthenticationInfo1;
|
---|
332 | STRING AuthenticationInfo2;
|
---|
333 | ULONG ParameterControl;
|
---|
334 | ULONG SubAuthPackageId;
|
---|
335 | } MSV1_0_SUBAUTH_LOGON, * PMSV1_0_SUBAUTH_LOGON;
|
---|
336 | typedef struct _MSV1_0_LM20_LOGON_PROFILE {
|
---|
337 | MSV1_0_PROFILE_BUFFER_TYPE MessageType;
|
---|
338 | LARGE_INTEGER KickOffTime;
|
---|
339 | LARGE_INTEGER LogoffTime;
|
---|
340 | ULONG UserFlags;
|
---|
341 | UCHAR UserSessionKey[MSV1_0_USER_SESSION_KEY_LENGTH];
|
---|
342 | UNICODE_STRING LogonDomainName;
|
---|
343 | UCHAR LanmanSessionKey[MSV1_0_LANMAN_SESSION_KEY_LENGTH];
|
---|
344 | UNICODE_STRING LogonServer;
|
---|
345 | UNICODE_STRING UserParameters;
|
---|
346 | } MSV1_0_LM20_LOGON_PROFILE, * PMSV1_0_LM20_LOGON_PROFILE;
|
---|
347 | typedef struct _MSV1_0_SUPPLEMENTAL_CREDENTIAL {
|
---|
348 | ULONG Version;
|
---|
349 | ULONG Flags;
|
---|
350 | UCHAR LmPassword[MSV1_0_OWF_PASSWORD_LENGTH];
|
---|
351 | UCHAR NtPassword[MSV1_0_OWF_PASSWORD_LENGTH];
|
---|
352 | } MSV1_0_SUPPLEMENTAL_CREDENTIAL, *PMSV1_0_SUPPLEMENTAL_CREDENTIAL;
|
---|
353 | typedef struct _MSV1_0_NTLM3_RESPONSE {
|
---|
354 | UCHAR Response[MSV1_0_NTLM3_RESPONSE_LENGTH];
|
---|
355 | UCHAR RespType;
|
---|
356 | UCHAR HiRespType;
|
---|
357 | USHORT Flags;
|
---|
358 | ULONG MsgWord;
|
---|
359 | ULONGLONG TimeStamp;
|
---|
360 | UCHAR ChallengeFromClient[MSV1_0_CHALLENGE_LENGTH];
|
---|
361 | ULONG AvPairsOff;
|
---|
362 | UCHAR Buffer[1];
|
---|
363 | } MSV1_0_NTLM3_RESPONSE, *PMSV1_0_NTLM3_RESPONSE;
|
---|
364 | typedef struct _MSV1_0_AV_PAIR {
|
---|
365 | USHORT AvId;
|
---|
366 | USHORT AvLen;
|
---|
367 | } MSV1_0_AV_PAIR, *PMSV1_0_AV_PAIR;
|
---|
368 | typedef struct _MSV1_0_CHANGEPASSWORD_REQUEST {
|
---|
369 | MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
|
---|
370 | UNICODE_STRING DomainName;
|
---|
371 | UNICODE_STRING AccountName;
|
---|
372 | UNICODE_STRING OldPassword;
|
---|
373 | UNICODE_STRING NewPassword;
|
---|
374 | BOOLEAN Impersonating;
|
---|
375 | } MSV1_0_CHANGEPASSWORD_REQUEST, *PMSV1_0_CHANGEPASSWORD_REQUEST;
|
---|
376 | typedef struct _MSV1_0_CHANGEPASSWORD_RESPONSE {
|
---|
377 | MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
|
---|
378 | BOOLEAN PasswordInfoValid;
|
---|
379 | DOMAIN_PASSWORD_INFORMATION DomainPasswordInfo;
|
---|
380 | } MSV1_0_CHANGEPASSWORD_RESPONSE, *PMSV1_0_CHANGEPASSWORD_RESPONSE;
|
---|
381 | typedef struct _MSV1_0_SUBAUTH_REQUEST{
|
---|
382 | MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
|
---|
383 | ULONG SubAuthPackageId;
|
---|
384 | ULONG SubAuthInfoLength;
|
---|
385 | PUCHAR SubAuthSubmitBuffer;
|
---|
386 | } MSV1_0_SUBAUTH_REQUEST, *PMSV1_0_SUBAUTH_REQUEST;
|
---|
387 | typedef struct _MSV1_0_SUBAUTH_RESPONSE{
|
---|
388 | MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
|
---|
389 | ULONG SubAuthInfoLength;
|
---|
390 | PUCHAR SubAuthReturnBuffer;
|
---|
391 | } MSV1_0_SUBAUTH_RESPONSE, *PMSV1_0_SUBAUTH_RESPONSE;
|
---|
392 | #define MSV1_0_DERIVECRED_TYPE_SHA1 0
|
---|
393 | typedef struct _MSV1_0_DERIVECRED_REQUEST {
|
---|
394 | MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
|
---|
395 | LUID LogonId;
|
---|
396 | ULONG DeriveCredType;
|
---|
397 | ULONG DeriveCredInfoLength;
|
---|
398 | UCHAR DeriveCredSubmitBuffer[1];
|
---|
399 | } MSV1_0_DERIVECRED_REQUEST, *PMSV1_0_DERIVECRED_REQUEST;
|
---|
400 | typedef struct _MSV1_0_DERIVECRED_RESPONSE {
|
---|
401 | MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
|
---|
402 | ULONG DeriveCredInfoLength;
|
---|
403 | UCHAR DeriveCredReturnBuffer[1];
|
---|
404 | } MSV1_0_DERIVECRED_RESPONSE, *PMSV1_0_DERIVECRED_RESPONSE;
|
---|
405 | typedef ULONG POLICY_AUDIT_EVENT_OPTIONS, *PPOLICY_AUDIT_EVENT_OPTIONS;
|
---|
406 | typedef struct _POLICY_PRIVILEGE_DEFINITION {
|
---|
407 | LSA_UNICODE_STRING Name;
|
---|
408 | LUID LocalValue;
|
---|
409 | } POLICY_PRIVILEGE_DEFINITION, *PPOLICY_PRIVILEGE_DEFINITION;
|
---|
410 | typedef struct _POLICY_AUDIT_LOG_INFO {
|
---|
411 | ULONG AuditLogPercentFull;
|
---|
412 | ULONG MaximumLogSize;
|
---|
413 | LARGE_INTEGER AuditRetentionPeriod;
|
---|
414 | BOOLEAN AuditLogFullShutdownInProgress;
|
---|
415 | LARGE_INTEGER TimeToShutdown;
|
---|
416 | ULONG NextAuditRecordId;
|
---|
417 | } POLICY_AUDIT_LOG_INFO, *PPOLICY_AUDIT_LOG_INFO;
|
---|
418 | typedef struct _POLICY_AUDIT_EVENTS_INFO {
|
---|
419 | BOOLEAN AuditingMode;
|
---|
420 | PPOLICY_AUDIT_EVENT_OPTIONS EventAuditingOptions;
|
---|
421 | ULONG MaximumAuditEventCount;
|
---|
422 | } POLICY_AUDIT_EVENTS_INFO, *PPOLICY_AUDIT_EVENTS_INFO;
|
---|
423 | typedef struct _POLICY_ACCOUNT_DOMAIN_INFO {
|
---|
424 | LSA_UNICODE_STRING DomainName;
|
---|
425 | PSID DomainSid;
|
---|
426 | } POLICY_ACCOUNT_DOMAIN_INFO, *PPOLICY_ACCOUNT_DOMAIN_INFO;
|
---|
427 | typedef struct _POLICY_PRIMARY_DOMAIN_INFO {
|
---|
428 | LSA_UNICODE_STRING Name;
|
---|
429 | PSID Sid;
|
---|
430 | } POLICY_PRIMARY_DOMAIN_INFO, *PPOLICY_PRIMARY_DOMAIN_INFO;
|
---|
431 | typedef struct _POLICY_DNS_DOMAIN_INFO {
|
---|
432 | LSA_UNICODE_STRING Name;
|
---|
433 | LSA_UNICODE_STRING DnsDomainName;
|
---|
434 | LSA_UNICODE_STRING DnsForestName;
|
---|
435 | GUID DomainGuid;
|
---|
436 | PSID Sid;
|
---|
437 | } POLICY_DNS_DOMAIN_INFO, *PPOLICY_DNS_DOMAIN_INFO;
|
---|
438 | typedef struct _POLICY_PD_ACCOUNT_INFO {
|
---|
439 | LSA_UNICODE_STRING Name;
|
---|
440 | } POLICY_PD_ACCOUNT_INFO, *PPOLICY_PD_ACCOUNT_INFO;
|
---|
441 | typedef struct _POLICY_LSA_SERVER_ROLE_INFO {
|
---|
442 | POLICY_LSA_SERVER_ROLE LsaServerRole;
|
---|
443 | } POLICY_LSA_SERVER_ROLE_INFO, *PPOLICY_LSA_SERVER_ROLE_INFO;
|
---|
444 | typedef struct _POLICY_REPLICA_SOURCE_INFO {
|
---|
445 | LSA_UNICODE_STRING ReplicaSource;
|
---|
446 | LSA_UNICODE_STRING ReplicaAccountName;
|
---|
447 | } POLICY_REPLICA_SOURCE_INFO, *PPOLICY_REPLICA_SOURCE_INFO;
|
---|
448 | typedef struct _POLICY_DEFAULT_QUOTA_INFO {
|
---|
449 | QUOTA_LIMITS QuotaLimits;
|
---|
450 | } POLICY_DEFAULT_QUOTA_INFO, *PPOLICY_DEFAULT_QUOTA_INFO;
|
---|
451 | typedef struct _POLICY_MODIFICATION_INFO {
|
---|
452 | LARGE_INTEGER ModifiedId;
|
---|
453 | LARGE_INTEGER DatabaseCreationTime;
|
---|
454 | } POLICY_MODIFICATION_INFO, *PPOLICY_MODIFICATION_INFO;
|
---|
455 | typedef struct _POLICY_AUDIT_FULL_SET_INFO {
|
---|
456 | BOOLEAN ShutDownOnFull;
|
---|
457 | } POLICY_AUDIT_FULL_SET_INFO, *PPOLICY_AUDIT_FULL_SET_INFO;
|
---|
458 | typedef struct _POLICY_AUDIT_FULL_QUERY_INFO {
|
---|
459 | BOOLEAN ShutDownOnFull;
|
---|
460 | BOOLEAN LogIsFull;
|
---|
461 | } POLICY_AUDIT_FULL_QUERY_INFO, *PPOLICY_AUDIT_FULL_QUERY_INFO;
|
---|
462 | typedef struct _POLICY_EFS_INFO {
|
---|
463 | ULONG InfoLength;
|
---|
464 | PUCHAR EfsBlob;
|
---|
465 | } POLICY_EFS_INFO, *PPOLICY_EFS_INFO;
|
---|
466 | typedef struct _POLICY_LOCAL_IPSEC_REFERENCE_INFO {
|
---|
467 | LSA_UNICODE_STRING ObjectPath;
|
---|
468 | } POLICY_LOCAL_IPSEC_REFERENCE_INFO, *PPOLICY_LOCAL_IPSEC_REFERENCE_INFO;
|
---|
469 | typedef struct _POLICY_LOCAL_MACHINE_PASSWORD_INFO {
|
---|
470 | LARGE_INTEGER PasswordChangeInterval;
|
---|
471 | } POLICY_LOCAL_MACHINE_PASSWORD_INFO, *PPOLICY_LOCAL_MACHINE_PASSWORD_INFO;
|
---|
472 | typedef struct _POLICY_LOCAL_POLICY_LOCATION_INFO {
|
---|
473 | ULONG PolicyLocation;
|
---|
474 | } POLICY_LOCAL_POLICY_LOCATION_INFO, *PPOLICY_LOCAL_POLICY_LOCATION_INFO;
|
---|
475 | typedef struct _POLICY_LOCAL_QUALITY_OF_SERVICE_INFO {
|
---|
476 | ULONG QualityOfService;
|
---|
477 | } POLICY_LOCAL_QUALITY_OF_SERVICE_INFO, *PPOLICY_LOCAL_QUALITY_OF_SERVICE_INFO;
|
---|
478 | typedef struct _POLICY_LOCAL_QUALITY_OF_SERVICE_INFO POLICY_DOMAIN_QUALITY_OF_SERVICE_INFO;
|
---|
479 | typedef struct _POLICY_LOCAL_QUALITY_OF_SERVICE_INFO *PPOLICY_DOMAIN_QUALITY_OF_SERVICE_INFO;
|
---|
480 | typedef struct _POLICY_DOMAIN_PUBLIC_KEY_INFO {
|
---|
481 | ULONG InfoLength;
|
---|
482 | PUCHAR PublicKeyInfo;
|
---|
483 | } POLICY_DOMAIN_PUBLIC_KEY_INFO, *PPOLICY_DOMAIN_PUBLIC_KEY_INFO;
|
---|
484 | typedef struct _POLICY_DOMAIN_LOCKOUT_INFO {
|
---|
485 | LARGE_INTEGER LockoutDuration;
|
---|
486 | LARGE_INTEGER LockoutObservationWindow;
|
---|
487 | USHORT LockoutThreshold;
|
---|
488 | } POLICY_DOMAIN_LOCKOUT_INFO, *PPOLICY_DOMAIN_LOCKOUT_INFO;
|
---|
489 | typedef struct _POLICY_DOMAIN_PASSWORD_INFO {
|
---|
490 | USHORT MinPasswordLength;
|
---|
491 | USHORT PasswordHistoryLength;
|
---|
492 | ULONG PasswordProperties;
|
---|
493 | LARGE_INTEGER MaxPasswordAge;
|
---|
494 | LARGE_INTEGER MinPasswordAge;
|
---|
495 | } POLICY_DOMAIN_PASSWORD_INFO, *PPOLICY_DOMAIN_PASSWORD_INFO;
|
---|
496 | typedef struct _POLICY_DOMAIN_KERBEROS_TICKET_INFO {
|
---|
497 | ULONG AuthenticationOptions;
|
---|
498 | LARGE_INTEGER MinTicketAge;
|
---|
499 | LARGE_INTEGER MaxTicketAge;
|
---|
500 | LARGE_INTEGER MaxRenewAge;
|
---|
501 | LARGE_INTEGER ProxyLifetime;
|
---|
502 | LARGE_INTEGER ForceLogoff;
|
---|
503 | } POLICY_DOMAIN_KERBEROS_TICKET_INFO, *PPOLICY_DOMAIN_KERBEROS_TICKET_INFO;
|
---|
504 | typedef PVOID LSA_HANDLE, *PLSA_HANDLE;
|
---|
505 | typedef struct _TRUSTED_DOMAIN_NAME_INFO {
|
---|
506 | LSA_UNICODE_STRING Name;
|
---|
507 | } TRUSTED_DOMAIN_NAME_INFO, *PTRUSTED_DOMAIN_NAME_INFO;
|
---|
508 | typedef struct _TRUSTED_CONTROLLERS_INFO {
|
---|
509 | ULONG Entries;
|
---|
510 | PLSA_UNICODE_STRING Names;
|
---|
511 | } TRUSTED_CONTROLLERS_INFO, *PTRUSTED_CONTROLLERS_INFO;
|
---|
512 | typedef struct _TRUSTED_POSIX_OFFSET_INFO {
|
---|
513 | ULONG Offset;
|
---|
514 | } TRUSTED_POSIX_OFFSET_INFO, *PTRUSTED_POSIX_OFFSET_INFO;
|
---|
515 | typedef struct _TRUSTED_PASSWORD_INFO {
|
---|
516 | LSA_UNICODE_STRING Password;
|
---|
517 | LSA_UNICODE_STRING OldPassword;
|
---|
518 | } TRUSTED_PASSWORD_INFO, *PTRUSTED_PASSWORD_INFO;
|
---|
519 | typedef LSA_TRUST_INFORMATION TRUSTED_DOMAIN_INFORMATION_BASIC;
|
---|
520 | typedef PLSA_TRUST_INFORMATION *PTRUSTED_DOMAIN_INFORMATION_BASIC;
|
---|
521 | typedef struct _TRUSTED_DOMAIN_INFORMATION_EX {
|
---|
522 | LSA_UNICODE_STRING Name;
|
---|
523 | LSA_UNICODE_STRING FlatName;
|
---|
524 | PSID Sid;
|
---|
525 | ULONG TrustDirection;
|
---|
526 | ULONG TrustType;
|
---|
527 | ULONG TrustAttributes;
|
---|
528 | } TRUSTED_DOMAIN_INFORMATION_EX, *PTRUSTED_DOMAIN_INFORMATION_EX;
|
---|
529 | typedef struct _LSA_AUTH_INFORMATION {
|
---|
530 | LARGE_INTEGER LastUpdateTime;
|
---|
531 | ULONG AuthType;
|
---|
532 | ULONG AuthInfoLength;
|
---|
533 | PUCHAR AuthInfo;
|
---|
534 | } LSA_AUTH_INFORMATION, *PLSA_AUTH_INFORMATION;
|
---|
535 | typedef struct _TRUSTED_DOMAIN_AUTH_INFORMATION {
|
---|
536 | ULONG IncomingAuthInfos;
|
---|
537 | PLSA_AUTH_INFORMATION IncomingAuthenticationInformation;
|
---|
538 | PLSA_AUTH_INFORMATION IncomingPreviousAuthenticationInformation;
|
---|
539 | ULONG OutgoingAuthInfos;
|
---|
540 | PLSA_AUTH_INFORMATION OutgoingAuthenticationInformation;
|
---|
541 | PLSA_AUTH_INFORMATION OutgoingPreviousAuthenticationInformation;
|
---|
542 | } TRUSTED_DOMAIN_AUTH_INFORMATION, *PTRUSTED_DOMAIN_AUTH_INFORMATION;
|
---|
543 | typedef struct _TRUSTED_DOMAIN_FULL_INFORMATION {
|
---|
544 | TRUSTED_DOMAIN_INFORMATION_EX Information;
|
---|
545 | TRUSTED_POSIX_OFFSET_INFO PosixOffset;
|
---|
546 | TRUSTED_DOMAIN_AUTH_INFORMATION AuthInformation;
|
---|
547 | } TRUSTED_DOMAIN_FULL_INFORMATION, *PTRUSTED_DOMAIN_FULL_INFORMATION;
|
---|
548 | NTSTATUS NTAPI LsaAddAccountRights(LSA_HANDLE,PSID,PLSA_UNICODE_STRING,ULONG);
|
---|
549 | NTSTATUS NTAPI LsaCallAuthenticationPackage(HANDLE,ULONG,PVOID,ULONG,PVOID*,
|
---|
550 | PULONG,PNTSTATUS);
|
---|
551 | NTSTATUS NTAPI LsaClose(LSA_HANDLE);
|
---|
552 | NTSTATUS NTAPI LsaConnectUntrusted(PHANDLE);
|
---|
553 | NTSTATUS NTAPI LsaCreateTrustedDomainEx(LSA_HANDLE,
|
---|
554 | PTRUSTED_DOMAIN_INFORMATION_EX,
|
---|
555 | PTRUSTED_DOMAIN_AUTH_INFORMATION,ACCESS_MASK,
|
---|
556 | PLSA_HANDLE);
|
---|
557 | NTSTATUS NTAPI LsaDeleteTrustedDomain(LSA_HANDLE,PSID);
|
---|
558 | NTSTATUS NTAPI LsaDeregisterLogonProcess(HANDLE);
|
---|
559 | NTSTATUS NTAPI LsaEnumerateAccountRights(LSA_HANDLE,PSID,PLSA_UNICODE_STRING*,PULONG);
|
---|
560 | NTSTATUS NTAPI LsaEnumerateAccountsWithUserRight(LSA_HANDLE,PLSA_UNICODE_STRING,
|
---|
561 | PVOID*,PULONG);
|
---|
562 | NTSTATUS NTAPI LsaEnumerateTrustedDomains(LSA_HANDLE,PLSA_ENUMERATION_HANDLE,
|
---|
563 | PVOID*,ULONG,PULONG);
|
---|
564 | NTSTATUS NTAPI LsaEnumerateTrustedDomainsEx(LSA_HANDLE,PLSA_ENUMERATION_HANDLE,
|
---|
565 | TRUSTED_INFORMATION_CLASS,PVOID*,ULONG,PULONG);
|
---|
566 | NTSTATUS NTAPI LsaFreeMemory(PVOID);
|
---|
567 | NTSTATUS NTAPI LsaFreeReturnBuffer(PVOID);
|
---|
568 | NTSTATUS NTAPI LsaLogonUser(HANDLE,PLSA_STRING,SECURITY_LOGON_TYPE,ULONG,PVOID,
|
---|
569 | ULONG,PTOKEN_GROUPS,PTOKEN_SOURCE,PVOID*,PULONG,
|
---|
570 | PLUID,PHANDLE,PQUOTA_LIMITS,PNTSTATUS);
|
---|
571 | NTSTATUS NTAPI LsaLookupAuthenticationPackage(HANDLE,PLSA_STRING,PULONG);
|
---|
572 | NTSTATUS NTAPI LsaLookupNames(LSA_HANDLE,ULONG,PLSA_UNICODE_STRING,
|
---|
573 | PLSA_REFERENCED_DOMAIN_LIST*,PLSA_TRANSLATED_SID*);
|
---|
574 | NTSTATUS NTAPI LsaLookupSids(LSA_HANDLE,ULONG,PSID*,
|
---|
575 | PLSA_REFERENCED_DOMAIN_LIST*,PLSA_TRANSLATED_NAME*);
|
---|
576 | ULONG NTAPI LsaNtStatusToWinError(NTSTATUS);
|
---|
577 | NTSTATUS NTAPI LsaOpenPolicy(PLSA_UNICODE_STRING,PLSA_OBJECT_ATTRIBUTES,
|
---|
578 | ACCESS_MASK,PLSA_HANDLE);
|
---|
579 | NTSTATUS NTAPI LsaQueryDomainInformationPolicy(LSA_HANDLE,
|
---|
580 | POLICY_DOMAIN_INFORMATION_CLASS,PVOID*);
|
---|
581 | NTSTATUS NTAPI LsaQueryInformationPolicy(LSA_HANDLE,POLICY_INFORMATION_CLASS,PVOID*);
|
---|
582 | NTSTATUS NTAPI LsaQueryLocalInformationPolicy(LSA_HANDLE,
|
---|
583 | POLICY_LOCAL_INFORMATION_CLASS,PVOID*);
|
---|
584 | NTSTATUS NTAPI LsaQueryTrustedDomainInfo(LSA_HANDLE,PSID,
|
---|
585 | TRUSTED_INFORMATION_CLASS,PVOID*);
|
---|
586 | NTSTATUS NTAPI LsaQueryTrustedDomainInfoByName(LSA_HANDLE,PLSA_UNICODE_STRING,
|
---|
587 | TRUSTED_INFORMATION_CLASS,PVOID*);
|
---|
588 | NTSTATUS NTAPI LsaRegisterLogonProcess(PLSA_STRING,PHANDLE,PLSA_OPERATIONAL_MODE);
|
---|
589 | NTSTATUS NTAPI LsaRemoveAccountRights(LSA_HANDLE,PSID,BOOLEAN,
|
---|
590 | PLSA_UNICODE_STRING,ULONG);
|
---|
591 | NTSTATUS NTAPI LsaRetrievePrivateData(LSA_HANDLE,PLSA_UNICODE_STRING,
|
---|
592 | PLSA_UNICODE_STRING*);
|
---|
593 | NTSTATUS NTAPI LsaSetDomainInformationPolicy(LSA_HANDLE,
|
---|
594 | POLICY_DOMAIN_INFORMATION_CLASS,PVOID);
|
---|
595 | NTSTATUS NTAPI LsaSetInformationPolicy(LSA_HANDLE,POLICY_INFORMATION_CLASS, PVOID);
|
---|
596 | NTSTATUS NTAPI LsaSetLocalInformationPolicy(LSA_HANDLE,
|
---|
597 | POLICY_LOCAL_INFORMATION_CLASS,PVOID);
|
---|
598 | NTSTATUS NTAPI LsaSetTrustedDomainInformation(LSA_HANDLE,PSID,
|
---|
599 | TRUSTED_INFORMATION_CLASS,PVOID);
|
---|
600 | NTSTATUS NTAPI LsaSetTrustedDomainInfoByName(LSA_HANDLE,PLSA_UNICODE_STRING,
|
---|
601 | TRUSTED_INFORMATION_CLASS,PVOID);
|
---|
602 | NTSTATUS NTAPI LsaStorePrivateData(LSA_HANDLE,PLSA_UNICODE_STRING,
|
---|
603 | PLSA_UNICODE_STRING);
|
---|
604 | typedef NTSTATUS (*PSAM_PASSWORD_NOTIFICATION_ROUTINE)(PUNICODE_STRING,
|
---|
605 | ULONG,PUNICODE_STRING);
|
---|
606 | typedef BOOLEAN (*PSAM_INIT_NOTIFICATION_ROUTINE)(void);
|
---|
607 | typedef BOOLEAN (*PSAM_PASSWORD_FILTER_ROUTINE)(PUNICODE_STRING,PUNICODE_STRING,
|
---|
608 | PUNICODE_STRING,BOOLEAN);
|
---|
609 | #ifdef __cplusplus
|
---|
610 | }
|
---|
611 | #endif
|
---|
612 | #endif /* _NTSECAPI_H */
|
---|