]> git.proxmox.com Git - rustc.git/blame - vendor/windows-sys-0.28.0/src/Windows/Win32/Security/Authentication/Identity/mod.rs
New upstream version 1.66.0+dfsg1
[rustc.git] / vendor / windows-sys-0.28.0 / src / Windows / Win32 / Security / Authentication / Identity / mod.rs
CommitLineData
064997fb
FG
1#![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
2#[cfg(feature = "Win32_Security_Authentication_Identity_Provider")]
3pub mod Provider;
4#[link(name = "windows")]
5extern "system" {
6 #[cfg(feature = "Win32_Security_Credentials")]
7 pub fn AcceptSecurityContext(phcredential: *const super::super::Credentials::SecHandle, phcontext: *const super::super::Credentials::SecHandle, pinput: *const SecBufferDesc, fcontextreq: ACCEPT_SECURITY_CONTEXT_CONTEXT_REQ, targetdatarep: u32, phnewcontext: *mut super::super::Credentials::SecHandle, poutput: *mut SecBufferDesc, pfcontextattr: *mut u32, ptsexpiry: *mut i64) -> i32;
8 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
9 pub fn AcquireCredentialsHandleA(pszprincipal: super::super::super::Foundation::PSTR, pszpackage: super::super::super::Foundation::PSTR, fcredentialuse: SECPKG_CRED, pvlogonid: *const ::core::ffi::c_void, pauthdata: *const ::core::ffi::c_void, pgetkeyfn: ::core::option::Option<SEC_GET_KEY_FN>, pvgetkeyargument: *const ::core::ffi::c_void, phcredential: *mut super::super::Credentials::SecHandle, ptsexpiry: *mut i64) -> i32;
10 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
11 pub fn AcquireCredentialsHandleW(pszprincipal: super::super::super::Foundation::PWSTR, pszpackage: super::super::super::Foundation::PWSTR, fcredentialuse: SECPKG_CRED, pvlogonid: *const ::core::ffi::c_void, pauthdata: *const ::core::ffi::c_void, pgetkeyfn: ::core::option::Option<SEC_GET_KEY_FN>, pvgetkeyargument: *const ::core::ffi::c_void, phcredential: *mut super::super::Credentials::SecHandle, ptsexpiry: *mut i64) -> i32;
12 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
13 pub fn AddCredentialsA(hcredentials: *const super::super::Credentials::SecHandle, pszprincipal: super::super::super::Foundation::PSTR, pszpackage: super::super::super::Foundation::PSTR, fcredentialuse: u32, pauthdata: *const ::core::ffi::c_void, pgetkeyfn: ::core::option::Option<SEC_GET_KEY_FN>, pvgetkeyargument: *const ::core::ffi::c_void, ptsexpiry: *mut i64) -> i32;
14 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
15 pub fn AddCredentialsW(hcredentials: *const super::super::Credentials::SecHandle, pszprincipal: super::super::super::Foundation::PWSTR, pszpackage: super::super::super::Foundation::PWSTR, fcredentialuse: u32, pauthdata: *const ::core::ffi::c_void, pgetkeyfn: ::core::option::Option<SEC_GET_KEY_FN>, pvgetkeyargument: *const ::core::ffi::c_void, ptsexpiry: *mut i64) -> i32;
16 #[cfg(feature = "Win32_Foundation")]
17 pub fn AddSecurityPackageA(pszpackagename: super::super::super::Foundation::PSTR, poptions: *const SECURITY_PACKAGE_OPTIONS) -> i32;
18 #[cfg(feature = "Win32_Foundation")]
19 pub fn AddSecurityPackageW(pszpackagename: super::super::super::Foundation::PWSTR, poptions: *const SECURITY_PACKAGE_OPTIONS) -> i32;
20 #[cfg(feature = "Win32_Security_Credentials")]
21 pub fn ApplyControlToken(phcontext: *const super::super::Credentials::SecHandle, pinput: *const SecBufferDesc) -> i32;
22 #[cfg(feature = "Win32_Foundation")]
23 pub fn AuditComputeEffectivePolicyBySid(psid: super::super::super::Foundation::PSID, psubcategoryguids: *const ::windows_sys::core::GUID, dwpolicycount: u32, ppauditpolicy: *mut *mut AUDIT_POLICY_INFORMATION) -> super::super::super::Foundation::BOOLEAN;
24 #[cfg(feature = "Win32_Foundation")]
25 pub fn AuditComputeEffectivePolicyByToken(htokenhandle: super::super::super::Foundation::HANDLE, psubcategoryguids: *const ::windows_sys::core::GUID, dwpolicycount: u32, ppauditpolicy: *mut *mut AUDIT_POLICY_INFORMATION) -> super::super::super::Foundation::BOOLEAN;
26 #[cfg(feature = "Win32_Foundation")]
27 pub fn AuditEnumerateCategories(ppauditcategoriesarray: *mut *mut ::windows_sys::core::GUID, pdwcountreturned: *mut u32) -> super::super::super::Foundation::BOOLEAN;
28 #[cfg(feature = "Win32_Foundation")]
29 pub fn AuditEnumeratePerUserPolicy(ppauditsidarray: *mut *mut POLICY_AUDIT_SID_ARRAY) -> super::super::super::Foundation::BOOLEAN;
30 #[cfg(feature = "Win32_Foundation")]
31 pub fn AuditEnumerateSubCategories(pauditcategoryguid: *const ::windows_sys::core::GUID, bretrieveallsubcategories: super::super::super::Foundation::BOOLEAN, ppauditsubcategoriesarray: *mut *mut ::windows_sys::core::GUID, pdwcountreturned: *mut u32) -> super::super::super::Foundation::BOOLEAN;
32 pub fn AuditFree(buffer: *const ::core::ffi::c_void);
33 #[cfg(feature = "Win32_Foundation")]
34 pub fn AuditLookupCategoryGuidFromCategoryId(auditcategoryid: POLICY_AUDIT_EVENT_TYPE, pauditcategoryguid: *mut ::windows_sys::core::GUID) -> super::super::super::Foundation::BOOLEAN;
35 #[cfg(feature = "Win32_Foundation")]
36 pub fn AuditLookupCategoryIdFromCategoryGuid(pauditcategoryguid: *const ::windows_sys::core::GUID, pauditcategoryid: *mut POLICY_AUDIT_EVENT_TYPE) -> super::super::super::Foundation::BOOLEAN;
37 #[cfg(feature = "Win32_Foundation")]
38 pub fn AuditLookupCategoryNameA(pauditcategoryguid: *const ::windows_sys::core::GUID, ppszcategoryname: *mut super::super::super::Foundation::PSTR) -> super::super::super::Foundation::BOOLEAN;
39 #[cfg(feature = "Win32_Foundation")]
40 pub fn AuditLookupCategoryNameW(pauditcategoryguid: *const ::windows_sys::core::GUID, ppszcategoryname: *mut super::super::super::Foundation::PWSTR) -> super::super::super::Foundation::BOOLEAN;
41 #[cfg(feature = "Win32_Foundation")]
42 pub fn AuditLookupSubCategoryNameA(pauditsubcategoryguid: *const ::windows_sys::core::GUID, ppszsubcategoryname: *mut super::super::super::Foundation::PSTR) -> super::super::super::Foundation::BOOLEAN;
43 #[cfg(feature = "Win32_Foundation")]
44 pub fn AuditLookupSubCategoryNameW(pauditsubcategoryguid: *const ::windows_sys::core::GUID, ppszsubcategoryname: *mut super::super::super::Foundation::PWSTR) -> super::super::super::Foundation::BOOLEAN;
45 #[cfg(feature = "Win32_Foundation")]
46 pub fn AuditQueryGlobalSaclA(objecttypename: super::super::super::Foundation::PSTR, acl: *mut *mut super::super::ACL) -> super::super::super::Foundation::BOOLEAN;
47 #[cfg(feature = "Win32_Foundation")]
48 pub fn AuditQueryGlobalSaclW(objecttypename: super::super::super::Foundation::PWSTR, acl: *mut *mut super::super::ACL) -> super::super::super::Foundation::BOOLEAN;
49 #[cfg(feature = "Win32_Foundation")]
50 pub fn AuditQueryPerUserPolicy(psid: super::super::super::Foundation::PSID, psubcategoryguids: *const ::windows_sys::core::GUID, dwpolicycount: u32, ppauditpolicy: *mut *mut AUDIT_POLICY_INFORMATION) -> super::super::super::Foundation::BOOLEAN;
51 #[cfg(feature = "Win32_Foundation")]
52 pub fn AuditQuerySecurity(securityinformation: u32, ppsecuritydescriptor: *mut *mut super::super::SECURITY_DESCRIPTOR) -> super::super::super::Foundation::BOOLEAN;
53 #[cfg(feature = "Win32_Foundation")]
54 pub fn AuditQuerySystemPolicy(psubcategoryguids: *const ::windows_sys::core::GUID, dwpolicycount: u32, ppauditpolicy: *mut *mut AUDIT_POLICY_INFORMATION) -> super::super::super::Foundation::BOOLEAN;
55 #[cfg(feature = "Win32_Foundation")]
56 pub fn AuditSetGlobalSaclA(objecttypename: super::super::super::Foundation::PSTR, acl: *const super::super::ACL) -> super::super::super::Foundation::BOOLEAN;
57 #[cfg(feature = "Win32_Foundation")]
58 pub fn AuditSetGlobalSaclW(objecttypename: super::super::super::Foundation::PWSTR, acl: *const super::super::ACL) -> super::super::super::Foundation::BOOLEAN;
59 #[cfg(feature = "Win32_Foundation")]
60 pub fn AuditSetPerUserPolicy(psid: super::super::super::Foundation::PSID, pauditpolicy: *const AUDIT_POLICY_INFORMATION, dwpolicycount: u32) -> super::super::super::Foundation::BOOLEAN;
61 #[cfg(feature = "Win32_Foundation")]
62 pub fn AuditSetSecurity(securityinformation: u32, psecuritydescriptor: *const super::super::SECURITY_DESCRIPTOR) -> super::super::super::Foundation::BOOLEAN;
63 #[cfg(feature = "Win32_Foundation")]
64 pub fn AuditSetSystemPolicy(pauditpolicy: *const AUDIT_POLICY_INFORMATION, dwpolicycount: u32) -> super::super::super::Foundation::BOOLEAN;
65 #[cfg(feature = "Win32_Foundation")]
66 pub fn ChangeAccountPasswordA(pszpackagename: *const i8, pszdomainname: *const i8, pszaccountname: *const i8, pszoldpassword: *const i8, psznewpassword: *const i8, bimpersonating: super::super::super::Foundation::BOOLEAN, dwreserved: u32, poutput: *mut SecBufferDesc) -> i32;
67 #[cfg(feature = "Win32_Foundation")]
68 pub fn ChangeAccountPasswordW(pszpackagename: *const u16, pszdomainname: *const u16, pszaccountname: *const u16, pszoldpassword: *const u16, psznewpassword: *const u16, bimpersonating: super::super::super::Foundation::BOOLEAN, dwreserved: u32, poutput: *mut SecBufferDesc) -> i32;
69 #[cfg(feature = "Win32_Security_Credentials")]
70 pub fn CompleteAuthToken(phcontext: *const super::super::Credentials::SecHandle, ptoken: *const SecBufferDesc) -> i32;
71 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
72 pub fn CredMarshalTargetInfo(intargetinfo: *const super::super::Credentials::CREDENTIAL_TARGET_INFORMATIONW, buffer: *mut *mut u16, buffersize: *mut u32) -> super::super::super::Foundation::NTSTATUS;
73 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
74 pub fn CredUnmarshalTargetInfo(buffer: *const u16, buffersize: u32, rettargetinfo: *mut *mut super::super::Credentials::CREDENTIAL_TARGET_INFORMATIONW, retactualsize: *mut u32) -> super::super::super::Foundation::NTSTATUS;
75 #[cfg(feature = "Win32_Security_Credentials")]
76 pub fn DecryptMessage(phcontext: *const super::super::Credentials::SecHandle, pmessage: *const SecBufferDesc, messageseqno: u32, pfqop: *mut u32) -> i32;
77 #[cfg(feature = "Win32_Security_Credentials")]
78 pub fn DeleteSecurityContext(phcontext: *const super::super::Credentials::SecHandle) -> i32;
79 #[cfg(feature = "Win32_Foundation")]
80 pub fn DeleteSecurityPackageA(pszpackagename: super::super::super::Foundation::PSTR) -> i32;
81 #[cfg(feature = "Win32_Foundation")]
82 pub fn DeleteSecurityPackageW(pszpackagename: super::super::super::Foundation::PWSTR) -> i32;
83 #[cfg(feature = "Win32_Security_Credentials")]
84 pub fn EncryptMessage(phcontext: *const super::super::Credentials::SecHandle, fqop: u32, pmessage: *const SecBufferDesc, messageseqno: u32) -> i32;
85 pub fn EnumerateSecurityPackagesA(pcpackages: *mut u32, pppackageinfo: *mut *mut SecPkgInfoA) -> i32;
86 pub fn EnumerateSecurityPackagesW(pcpackages: *mut u32, pppackageinfo: *mut *mut SecPkgInfoW) -> i32;
87 #[cfg(feature = "Win32_Security_Credentials")]
88 pub fn ExportSecurityContext(phcontext: *const super::super::Credentials::SecHandle, fflags: EXPORT_SECURITY_CONTEXT_FLAGS, ppackedcontext: *mut SecBuffer, ptoken: *mut *mut ::core::ffi::c_void) -> i32;
89 pub fn FreeContextBuffer(pvcontextbuffer: *mut ::core::ffi::c_void) -> i32;
90 #[cfg(feature = "Win32_Security_Credentials")]
91 pub fn FreeCredentialsHandle(phcredential: *const super::super::Credentials::SecHandle) -> i32;
92 #[cfg(feature = "Win32_Foundation")]
93 pub fn GetComputerObjectNameA(nameformat: EXTENDED_NAME_FORMAT, lpnamebuffer: super::super::super::Foundation::PSTR, nsize: *mut u32) -> super::super::super::Foundation::BOOLEAN;
94 #[cfg(feature = "Win32_Foundation")]
95 pub fn GetComputerObjectNameW(nameformat: EXTENDED_NAME_FORMAT, lpnamebuffer: super::super::super::Foundation::PWSTR, nsize: *mut u32) -> super::super::super::Foundation::BOOLEAN;
96 #[cfg(feature = "Win32_Foundation")]
97 pub fn GetUserNameExA(nameformat: EXTENDED_NAME_FORMAT, lpnamebuffer: super::super::super::Foundation::PSTR, nsize: *mut u32) -> super::super::super::Foundation::BOOLEAN;
98 #[cfg(feature = "Win32_Foundation")]
99 pub fn GetUserNameExW(nameformat: EXTENDED_NAME_FORMAT, lpnamebuffer: super::super::super::Foundation::PWSTR, nsize: *mut u32) -> super::super::super::Foundation::BOOLEAN;
100 #[cfg(feature = "Win32_Security_Credentials")]
101 pub fn ImpersonateSecurityContext(phcontext: *const super::super::Credentials::SecHandle) -> i32;
102 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
103 pub fn ImportSecurityContextA(pszpackage: super::super::super::Foundation::PSTR, ppackedcontext: *const SecBuffer, token: *const ::core::ffi::c_void, phcontext: *mut super::super::Credentials::SecHandle) -> i32;
104 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
105 pub fn ImportSecurityContextW(pszpackage: super::super::super::Foundation::PWSTR, ppackedcontext: *const SecBuffer, token: *const ::core::ffi::c_void, phcontext: *mut super::super::Credentials::SecHandle) -> i32;
106 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
107 pub fn InitSecurityInterfaceA() -> *mut SecurityFunctionTableA;
108 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
109 pub fn InitSecurityInterfaceW() -> *mut SecurityFunctionTableW;
110 #[cfg(feature = "Win32_Security_Credentials")]
111 pub fn InitializeSecurityContextA(phcredential: *const super::super::Credentials::SecHandle, phcontext: *const super::super::Credentials::SecHandle, psztargetname: *const i8, fcontextreq: u32, reserved1: u32, targetdatarep: u32, pinput: *const SecBufferDesc, reserved2: u32, phnewcontext: *mut super::super::Credentials::SecHandle, poutput: *mut SecBufferDesc, pfcontextattr: *mut u32, ptsexpiry: *mut i64) -> i32;
112 #[cfg(feature = "Win32_Security_Credentials")]
113 pub fn InitializeSecurityContextW(phcredential: *const super::super::Credentials::SecHandle, phcontext: *const super::super::Credentials::SecHandle, psztargetname: *const u16, fcontextreq: u32, reserved1: u32, targetdatarep: u32, pinput: *const SecBufferDesc, reserved2: u32, phnewcontext: *mut super::super::Credentials::SecHandle, poutput: *mut SecBufferDesc, pfcontextattr: *mut u32, ptsexpiry: *mut i64) -> i32;
114 #[cfg(feature = "Win32_Foundation")]
115 pub fn LsaAddAccountRights(policyhandle: *const ::core::ffi::c_void, accountsid: super::super::super::Foundation::PSID, userrights: *const super::super::super::Foundation::UNICODE_STRING, countofrights: u32) -> super::super::super::Foundation::NTSTATUS;
116 #[cfg(feature = "Win32_Foundation")]
117 pub fn LsaCallAuthenticationPackage(lsahandle: super::super::super::Foundation::HANDLE, authenticationpackage: u32, protocolsubmitbuffer: *const ::core::ffi::c_void, submitbufferlength: u32, protocolreturnbuffer: *mut *mut ::core::ffi::c_void, returnbufferlength: *mut u32, protocolstatus: *mut i32) -> super::super::super::Foundation::NTSTATUS;
118 #[cfg(feature = "Win32_Foundation")]
119 pub fn LsaClose(objecthandle: *const ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
120 #[cfg(feature = "Win32_Foundation")]
121 pub fn LsaConnectUntrusted(lsahandle: *mut super::super::super::Foundation::HANDLE) -> super::super::super::Foundation::NTSTATUS;
122 #[cfg(feature = "Win32_Foundation")]
123 pub fn LsaCreateTrustedDomainEx(policyhandle: *const ::core::ffi::c_void, trusteddomaininformation: *const TRUSTED_DOMAIN_INFORMATION_EX, authenticationinformation: *const TRUSTED_DOMAIN_AUTH_INFORMATION, desiredaccess: u32, trusteddomainhandle: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
124 #[cfg(feature = "Win32_Foundation")]
125 pub fn LsaDeleteTrustedDomain(policyhandle: *const ::core::ffi::c_void, trusteddomainsid: super::super::super::Foundation::PSID) -> super::super::super::Foundation::NTSTATUS;
126 #[cfg(feature = "Win32_Foundation")]
127 pub fn LsaDeregisterLogonProcess(lsahandle: LsaHandle) -> super::super::super::Foundation::NTSTATUS;
128 #[cfg(feature = "Win32_Foundation")]
129 pub fn LsaEnumerateAccountRights(policyhandle: *const ::core::ffi::c_void, accountsid: super::super::super::Foundation::PSID, userrights: *mut *mut super::super::super::Foundation::UNICODE_STRING, countofrights: *mut u32) -> super::super::super::Foundation::NTSTATUS;
130 #[cfg(feature = "Win32_Foundation")]
131 pub fn LsaEnumerateAccountsWithUserRight(policyhandle: *const ::core::ffi::c_void, userright: *const super::super::super::Foundation::UNICODE_STRING, buffer: *mut *mut ::core::ffi::c_void, countreturned: *mut u32) -> super::super::super::Foundation::NTSTATUS;
132 #[cfg(feature = "Win32_Foundation")]
133 pub fn LsaEnumerateLogonSessions(logonsessioncount: *mut u32, logonsessionlist: *mut *mut super::super::super::Foundation::LUID) -> super::super::super::Foundation::NTSTATUS;
134 #[cfg(feature = "Win32_Foundation")]
135 pub fn LsaEnumerateTrustedDomains(policyhandle: *const ::core::ffi::c_void, enumerationcontext: *mut u32, buffer: *mut *mut ::core::ffi::c_void, preferedmaximumlength: u32, countreturned: *mut u32) -> super::super::super::Foundation::NTSTATUS;
136 #[cfg(feature = "Win32_Foundation")]
137 pub fn LsaEnumerateTrustedDomainsEx(policyhandle: *const ::core::ffi::c_void, enumerationcontext: *mut u32, buffer: *mut *mut ::core::ffi::c_void, preferedmaximumlength: u32, countreturned: *mut u32) -> super::super::super::Foundation::NTSTATUS;
138 #[cfg(feature = "Win32_Foundation")]
139 pub fn LsaFreeMemory(buffer: *const ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
140 #[cfg(feature = "Win32_Foundation")]
141 pub fn LsaFreeReturnBuffer(buffer: *const ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
142 #[cfg(feature = "Win32_Foundation")]
143 pub fn LsaGetAppliedCAPIDs(systemname: *const super::super::super::Foundation::UNICODE_STRING, capids: *mut *mut super::super::super::Foundation::PSID, capidcount: *mut u32) -> super::super::super::Foundation::NTSTATUS;
144 #[cfg(feature = "Win32_Foundation")]
145 pub fn LsaGetLogonSessionData(logonid: *const super::super::super::Foundation::LUID, pplogonsessiondata: *mut *mut SECURITY_LOGON_SESSION_DATA) -> super::super::super::Foundation::NTSTATUS;
146 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
147 pub fn LsaLogonUser(
148 lsahandle: super::super::super::Foundation::HANDLE,
149 originname: *const super::super::super::System::Kernel::STRING,
150 logontype: SECURITY_LOGON_TYPE,
151 authenticationpackage: u32,
152 authenticationinformation: *const ::core::ffi::c_void,
153 authenticationinformationlength: u32,
154 localgroups: *const super::super::TOKEN_GROUPS,
155 sourcecontext: *const super::super::TOKEN_SOURCE,
156 profilebuffer: *mut *mut ::core::ffi::c_void,
157 profilebufferlength: *mut u32,
158 logonid: *mut super::super::super::Foundation::LUID,
159 token: *mut super::super::super::Foundation::HANDLE,
160 quotas: *mut super::super::QUOTA_LIMITS,
161 substatus: *mut i32,
162 ) -> super::super::super::Foundation::NTSTATUS;
163 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
164 pub fn LsaLookupAuthenticationPackage(lsahandle: super::super::super::Foundation::HANDLE, packagename: *const super::super::super::System::Kernel::STRING, authenticationpackage: *mut u32) -> super::super::super::Foundation::NTSTATUS;
165 #[cfg(feature = "Win32_Foundation")]
166 pub fn LsaLookupNames(policyhandle: *const ::core::ffi::c_void, count: u32, names: *const super::super::super::Foundation::UNICODE_STRING, referenceddomains: *mut *mut LSA_REFERENCED_DOMAIN_LIST, sids: *mut *mut LSA_TRANSLATED_SID) -> super::super::super::Foundation::NTSTATUS;
167 #[cfg(feature = "Win32_Foundation")]
168 pub fn LsaLookupNames2(policyhandle: *const ::core::ffi::c_void, flags: u32, count: u32, names: *const super::super::super::Foundation::UNICODE_STRING, referenceddomains: *mut *mut LSA_REFERENCED_DOMAIN_LIST, sids: *mut *mut LSA_TRANSLATED_SID2) -> super::super::super::Foundation::NTSTATUS;
169 #[cfg(feature = "Win32_Foundation")]
170 pub fn LsaLookupSids(policyhandle: *const ::core::ffi::c_void, count: u32, sids: *const super::super::super::Foundation::PSID, referenceddomains: *mut *mut LSA_REFERENCED_DOMAIN_LIST, names: *mut *mut LSA_TRANSLATED_NAME) -> super::super::super::Foundation::NTSTATUS;
171 #[cfg(feature = "Win32_Foundation")]
172 pub fn LsaLookupSids2(policyhandle: *const ::core::ffi::c_void, lookupoptions: u32, count: u32, sids: *const super::super::super::Foundation::PSID, referenceddomains: *mut *mut LSA_REFERENCED_DOMAIN_LIST, names: *mut *mut LSA_TRANSLATED_NAME) -> super::super::super::Foundation::NTSTATUS;
173 #[cfg(feature = "Win32_Foundation")]
174 pub fn LsaNtStatusToWinError(status: super::super::super::Foundation::NTSTATUS) -> u32;
175 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_WindowsProgramming"))]
176 pub fn LsaOpenPolicy(systemname: *const super::super::super::Foundation::UNICODE_STRING, objectattributes: *const super::super::super::System::WindowsProgramming::OBJECT_ATTRIBUTES, desiredaccess: u32, policyhandle: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
177 #[cfg(feature = "Win32_Foundation")]
178 pub fn LsaOpenTrustedDomainByName(policyhandle: *const ::core::ffi::c_void, trusteddomainname: *const super::super::super::Foundation::UNICODE_STRING, desiredaccess: u32, trusteddomainhandle: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
179 #[cfg(feature = "Win32_Foundation")]
180 pub fn LsaQueryCAPs(capids: *const super::super::super::Foundation::PSID, capidcount: u32, caps: *mut *mut CENTRAL_ACCESS_POLICY, capcount: *mut u32) -> super::super::super::Foundation::NTSTATUS;
181 #[cfg(feature = "Win32_Foundation")]
182 pub fn LsaQueryDomainInformationPolicy(policyhandle: *const ::core::ffi::c_void, informationclass: POLICY_DOMAIN_INFORMATION_CLASS, buffer: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
183 #[cfg(feature = "Win32_Foundation")]
184 pub fn LsaQueryForestTrustInformation(policyhandle: *const ::core::ffi::c_void, trusteddomainname: *const super::super::super::Foundation::UNICODE_STRING, foresttrustinfo: *mut *mut LSA_FOREST_TRUST_INFORMATION) -> super::super::super::Foundation::NTSTATUS;
185 #[cfg(feature = "Win32_Foundation")]
186 pub fn LsaQueryInformationPolicy(policyhandle: *const ::core::ffi::c_void, informationclass: POLICY_INFORMATION_CLASS, buffer: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
187 #[cfg(feature = "Win32_Foundation")]
188 pub fn LsaQueryTrustedDomainInfo(policyhandle: *const ::core::ffi::c_void, trusteddomainsid: super::super::super::Foundation::PSID, informationclass: TRUSTED_INFORMATION_CLASS, buffer: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
189 #[cfg(feature = "Win32_Foundation")]
190 pub fn LsaQueryTrustedDomainInfoByName(policyhandle: *const ::core::ffi::c_void, trusteddomainname: *const super::super::super::Foundation::UNICODE_STRING, informationclass: TRUSTED_INFORMATION_CLASS, buffer: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
191 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
192 pub fn LsaRegisterLogonProcess(logonprocessname: *const super::super::super::System::Kernel::STRING, lsahandle: *mut LsaHandle, securitymode: *mut u32) -> super::super::super::Foundation::NTSTATUS;
193 #[cfg(feature = "Win32_Foundation")]
194 pub fn LsaRegisterPolicyChangeNotification(informationclass: POLICY_NOTIFICATION_INFORMATION_CLASS, notificationeventhandle: super::super::super::Foundation::HANDLE) -> super::super::super::Foundation::NTSTATUS;
195 #[cfg(feature = "Win32_Foundation")]
196 pub fn LsaRemoveAccountRights(policyhandle: *const ::core::ffi::c_void, accountsid: super::super::super::Foundation::PSID, allrights: super::super::super::Foundation::BOOLEAN, userrights: *const super::super::super::Foundation::UNICODE_STRING, countofrights: u32) -> super::super::super::Foundation::NTSTATUS;
197 #[cfg(feature = "Win32_Foundation")]
198 pub fn LsaRetrievePrivateData(policyhandle: *const ::core::ffi::c_void, keyname: *const super::super::super::Foundation::UNICODE_STRING, privatedata: *mut *mut super::super::super::Foundation::UNICODE_STRING) -> super::super::super::Foundation::NTSTATUS;
199 #[cfg(feature = "Win32_Foundation")]
200 pub fn LsaSetCAPs(capdns: *const super::super::super::Foundation::UNICODE_STRING, capdncount: u32, flags: u32) -> super::super::super::Foundation::NTSTATUS;
201 #[cfg(feature = "Win32_Foundation")]
202 pub fn LsaSetDomainInformationPolicy(policyhandle: *const ::core::ffi::c_void, informationclass: POLICY_DOMAIN_INFORMATION_CLASS, buffer: *const ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
203 #[cfg(feature = "Win32_Foundation")]
204 pub fn LsaSetForestTrustInformation(policyhandle: *const ::core::ffi::c_void, trusteddomainname: *const super::super::super::Foundation::UNICODE_STRING, foresttrustinfo: *const LSA_FOREST_TRUST_INFORMATION, checkonly: super::super::super::Foundation::BOOLEAN, collisioninfo: *mut *mut LSA_FOREST_TRUST_COLLISION_INFORMATION) -> super::super::super::Foundation::NTSTATUS;
205 #[cfg(feature = "Win32_Foundation")]
206 pub fn LsaSetInformationPolicy(policyhandle: *const ::core::ffi::c_void, informationclass: POLICY_INFORMATION_CLASS, buffer: *const ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
207 #[cfg(feature = "Win32_Foundation")]
208 pub fn LsaSetTrustedDomainInfoByName(policyhandle: *const ::core::ffi::c_void, trusteddomainname: *const super::super::super::Foundation::UNICODE_STRING, informationclass: TRUSTED_INFORMATION_CLASS, buffer: *const ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
209 #[cfg(feature = "Win32_Foundation")]
210 pub fn LsaSetTrustedDomainInformation(policyhandle: *const ::core::ffi::c_void, trusteddomainsid: super::super::super::Foundation::PSID, informationclass: TRUSTED_INFORMATION_CLASS, buffer: *const ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
211 #[cfg(feature = "Win32_Foundation")]
212 pub fn LsaStorePrivateData(policyhandle: *const ::core::ffi::c_void, keyname: *const super::super::super::Foundation::UNICODE_STRING, privatedata: *const super::super::super::Foundation::UNICODE_STRING) -> super::super::super::Foundation::NTSTATUS;
213 #[cfg(feature = "Win32_Foundation")]
214 pub fn LsaUnregisterPolicyChangeNotification(informationclass: POLICY_NOTIFICATION_INFORMATION_CLASS, notificationeventhandle: super::super::super::Foundation::HANDLE) -> super::super::super::Foundation::NTSTATUS;
215 #[cfg(feature = "Win32_Security_Credentials")]
216 pub fn MakeSignature(phcontext: *const super::super::Credentials::SecHandle, fqop: u32, pmessage: *const SecBufferDesc, messageseqno: u32) -> i32;
217 #[cfg(feature = "Win32_Security_Credentials")]
218 pub fn QueryContextAttributesA(phcontext: *const super::super::Credentials::SecHandle, ulattribute: SECPKG_ATTR, pbuffer: *mut ::core::ffi::c_void) -> i32;
219 #[cfg(feature = "Win32_Security_Credentials")]
220 pub fn QueryContextAttributesExA(phcontext: *const super::super::Credentials::SecHandle, ulattribute: SECPKG_ATTR, pbuffer: *mut ::core::ffi::c_void, cbbuffer: u32) -> i32;
221 #[cfg(feature = "Win32_Security_Credentials")]
222 pub fn QueryContextAttributesExW(phcontext: *const super::super::Credentials::SecHandle, ulattribute: SECPKG_ATTR, pbuffer: *mut ::core::ffi::c_void, cbbuffer: u32) -> i32;
223 #[cfg(feature = "Win32_Security_Credentials")]
224 pub fn QueryContextAttributesW(phcontext: *const super::super::Credentials::SecHandle, ulattribute: SECPKG_ATTR, pbuffer: *mut ::core::ffi::c_void) -> i32;
225 #[cfg(feature = "Win32_Security_Credentials")]
226 pub fn QueryCredentialsAttributesA(phcredential: *const super::super::Credentials::SecHandle, ulattribute: u32, pbuffer: *mut ::core::ffi::c_void) -> i32;
227 #[cfg(feature = "Win32_Security_Credentials")]
228 pub fn QueryCredentialsAttributesExA(phcredential: *const super::super::Credentials::SecHandle, ulattribute: u32, pbuffer: *mut ::core::ffi::c_void, cbbuffer: u32) -> i32;
229 #[cfg(feature = "Win32_Security_Credentials")]
230 pub fn QueryCredentialsAttributesExW(phcredential: *const super::super::Credentials::SecHandle, ulattribute: u32, pbuffer: *mut ::core::ffi::c_void, cbbuffer: u32) -> i32;
231 #[cfg(feature = "Win32_Security_Credentials")]
232 pub fn QueryCredentialsAttributesW(phcredential: *const super::super::Credentials::SecHandle, ulattribute: u32, pbuffer: *mut ::core::ffi::c_void) -> i32;
233 #[cfg(feature = "Win32_Security_Credentials")]
234 pub fn QuerySecurityContextToken(phcontext: *const super::super::Credentials::SecHandle, token: *mut *mut ::core::ffi::c_void) -> i32;
235 #[cfg(feature = "Win32_Foundation")]
236 pub fn QuerySecurityPackageInfoA(pszpackagename: super::super::super::Foundation::PSTR, pppackageinfo: *mut *mut SecPkgInfoA) -> i32;
237 #[cfg(feature = "Win32_Foundation")]
238 pub fn QuerySecurityPackageInfoW(pszpackagename: super::super::super::Foundation::PWSTR, pppackageinfo: *mut *mut SecPkgInfoW) -> i32;
239 #[cfg(feature = "Win32_Security_Credentials")]
240 pub fn RevertSecurityContext(phcontext: *const super::super::Credentials::SecHandle) -> i32;
241 #[cfg(feature = "Win32_Foundation")]
242 pub fn SLAcquireGenuineTicket(ppticketblob: *mut *mut ::core::ffi::c_void, pcbticketblob: *mut u32, pwsztemplateid: super::super::super::Foundation::PWSTR, pwszserverurl: super::super::super::Foundation::PWSTR, pwszclienttoken: super::super::super::Foundation::PWSTR) -> ::windows_sys::core::HRESULT;
243 #[cfg(feature = "Win32_Foundation")]
244 pub fn SLActivateProduct(hslc: *const ::core::ffi::c_void, pproductskuid: *const ::windows_sys::core::GUID, cbappspecificdata: u32, pvappspecificdata: *const ::core::ffi::c_void, pactivationinfo: *const SL_ACTIVATION_INFO_HEADER, pwszproxyserver: super::super::super::Foundation::PWSTR, wproxyport: u16) -> ::windows_sys::core::HRESULT;
245 pub fn SLClose(hslc: *const ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
246 #[cfg(feature = "Win32_Foundation")]
247 pub fn SLConsumeRight(hslc: *const ::core::ffi::c_void, pappid: *const ::windows_sys::core::GUID, pproductskuid: *const ::windows_sys::core::GUID, pwszrightname: super::super::super::Foundation::PWSTR, pvreserved: *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
248 #[cfg(feature = "Win32_Foundation")]
249 pub fn SLDepositOfflineConfirmationId(hslc: *const ::core::ffi::c_void, pproductskuid: *const ::windows_sys::core::GUID, pwszinstallationid: super::super::super::Foundation::PWSTR, pwszconfirmationid: super::super::super::Foundation::PWSTR) -> ::windows_sys::core::HRESULT;
250 #[cfg(feature = "Win32_Foundation")]
251 pub fn SLDepositOfflineConfirmationIdEx(hslc: *const ::core::ffi::c_void, pproductskuid: *const ::windows_sys::core::GUID, pactivationinfo: *const SL_ACTIVATION_INFO_HEADER, pwszinstallationid: super::super::super::Foundation::PWSTR, pwszconfirmationid: super::super::super::Foundation::PWSTR) -> ::windows_sys::core::HRESULT;
252 #[cfg(feature = "Win32_Foundation")]
253 pub fn SLFireEvent(hslc: *const ::core::ffi::c_void, pwszeventid: super::super::super::Foundation::PWSTR, papplicationid: *const ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT;
254 #[cfg(feature = "Win32_Foundation")]
255 pub fn SLGenerateOfflineInstallationId(hslc: *const ::core::ffi::c_void, pproductskuid: *const ::windows_sys::core::GUID, ppwszinstallationid: *mut super::super::super::Foundation::PWSTR) -> ::windows_sys::core::HRESULT;
256 #[cfg(feature = "Win32_Foundation")]
257 pub fn SLGenerateOfflineInstallationIdEx(hslc: *const ::core::ffi::c_void, pproductskuid: *const ::windows_sys::core::GUID, pactivationinfo: *const SL_ACTIVATION_INFO_HEADER, ppwszinstallationid: *mut super::super::super::Foundation::PWSTR) -> ::windows_sys::core::HRESULT;
258 #[cfg(feature = "Win32_Foundation")]
259 pub fn SLGetApplicationInformation(hslc: *const ::core::ffi::c_void, papplicationid: *const ::windows_sys::core::GUID, pwszvaluename: super::super::super::Foundation::PWSTR, pedatatype: *mut SLDATATYPE, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows_sys::core::HRESULT;
260 #[cfg(feature = "Win32_Foundation")]
261 pub fn SLGetGenuineInformation(pqueryid: *const ::windows_sys::core::GUID, pwszvaluename: super::super::super::Foundation::PWSTR, pedatatype: *mut SLDATATYPE, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows_sys::core::HRESULT;
262 pub fn SLGetInstalledProductKeyIds(hslc: *const ::core::ffi::c_void, pproductskuid: *const ::windows_sys::core::GUID, pnproductkeyids: *mut u32, ppproductkeyids: *mut *mut ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT;
263 pub fn SLGetLicense(hslc: *const ::core::ffi::c_void, plicensefileid: *const ::windows_sys::core::GUID, pcblicensefile: *mut u32, ppblicensefile: *mut *mut u8) -> ::windows_sys::core::HRESULT;
264 pub fn SLGetLicenseFileId(hslc: *const ::core::ffi::c_void, cblicenseblob: u32, pblicenseblob: *const u8, plicensefileid: *mut ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT;
265 #[cfg(feature = "Win32_Foundation")]
266 pub fn SLGetLicenseInformation(hslc: *const ::core::ffi::c_void, psllicenseid: *const ::windows_sys::core::GUID, pwszvaluename: super::super::super::Foundation::PWSTR, pedatatype: *mut SLDATATYPE, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows_sys::core::HRESULT;
267 #[cfg(feature = "Win32_Foundation")]
268 pub fn SLGetLicensingStatusInformation(hslc: *const ::core::ffi::c_void, pappid: *const ::windows_sys::core::GUID, pproductskuid: *const ::windows_sys::core::GUID, pwszrightname: super::super::super::Foundation::PWSTR, pnstatuscount: *mut u32, pplicensingstatus: *mut *mut SL_LICENSING_STATUS) -> ::windows_sys::core::HRESULT;
269 #[cfg(feature = "Win32_Foundation")]
270 pub fn SLGetPKeyId(hslc: *const ::core::ffi::c_void, pwszpkeyalgorithm: super::super::super::Foundation::PWSTR, pwszpkeystring: super::super::super::Foundation::PWSTR, cbpkeyspecificdata: u32, pbpkeyspecificdata: *const u8, ppkeyid: *mut ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT;
271 #[cfg(feature = "Win32_Foundation")]
272 pub fn SLGetPKeyInformation(hslc: *const ::core::ffi::c_void, ppkeyid: *const ::windows_sys::core::GUID, pwszvaluename: super::super::super::Foundation::PWSTR, pedatatype: *mut SLDATATYPE, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows_sys::core::HRESULT;
273 #[cfg(feature = "Win32_Foundation")]
274 pub fn SLGetPolicyInformation(hslc: *const ::core::ffi::c_void, pwszvaluename: super::super::super::Foundation::PWSTR, pedatatype: *mut SLDATATYPE, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows_sys::core::HRESULT;
275 #[cfg(feature = "Win32_Foundation")]
276 pub fn SLGetPolicyInformationDWORD(hslc: *const ::core::ffi::c_void, pwszvaluename: super::super::super::Foundation::PWSTR, pdwvalue: *mut u32) -> ::windows_sys::core::HRESULT;
277 #[cfg(feature = "Win32_Foundation")]
278 pub fn SLGetProductSkuInformation(hslc: *const ::core::ffi::c_void, pproductskuid: *const ::windows_sys::core::GUID, pwszvaluename: super::super::super::Foundation::PWSTR, pedatatype: *mut SLDATATYPE, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows_sys::core::HRESULT;
279 #[cfg(feature = "Win32_Foundation")]
280 pub fn SLGetReferralInformation(hslc: *const ::core::ffi::c_void, ereferraltype: SLREFERRALTYPE, pskuorappid: *const ::windows_sys::core::GUID, pwszvaluename: super::super::super::Foundation::PWSTR, ppwszvalue: *mut super::super::super::Foundation::PWSTR) -> ::windows_sys::core::HRESULT;
281 pub fn SLGetSLIDList(hslc: *const ::core::ffi::c_void, equeryidtype: SLIDTYPE, pqueryid: *const ::windows_sys::core::GUID, ereturnidtype: SLIDTYPE, pnreturnids: *mut u32, ppreturnids: *mut *mut ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT;
282 #[cfg(feature = "Win32_Foundation")]
283 pub fn SLGetServerStatus(pwszserverurl: super::super::super::Foundation::PWSTR, pwszacquisitiontype: super::super::super::Foundation::PWSTR, pwszproxyserver: super::super::super::Foundation::PWSTR, wproxyport: u16, phrstatus: *mut ::windows_sys::core::HRESULT) -> ::windows_sys::core::HRESULT;
284 #[cfg(feature = "Win32_Foundation")]
285 pub fn SLGetServiceInformation(hslc: *const ::core::ffi::c_void, pwszvaluename: super::super::super::Foundation::PWSTR, pedatatype: *mut SLDATATYPE, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows_sys::core::HRESULT;
286 #[cfg(feature = "Win32_Foundation")]
287 pub fn SLGetWindowsInformation(pwszvaluename: super::super::super::Foundation::PWSTR, pedatatype: *mut SLDATATYPE, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows_sys::core::HRESULT;
288 #[cfg(feature = "Win32_Foundation")]
289 pub fn SLGetWindowsInformationDWORD(pwszvaluename: super::super::super::Foundation::PWSTR, pdwvalue: *mut u32) -> ::windows_sys::core::HRESULT;
290 pub fn SLInstallLicense(hslc: *const ::core::ffi::c_void, cblicenseblob: u32, pblicenseblob: *const u8, plicensefileid: *mut ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT;
291 #[cfg(feature = "Win32_Foundation")]
292 pub fn SLInstallProofOfPurchase(hslc: *const ::core::ffi::c_void, pwszpkeyalgorithm: super::super::super::Foundation::PWSTR, pwszpkeystring: super::super::super::Foundation::PWSTR, cbpkeyspecificdata: u32, pbpkeyspecificdata: *const u8, ppkeyid: *mut ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT;
293 pub fn SLIsGenuineLocal(pappid: *const ::windows_sys::core::GUID, pgenuinestate: *mut SL_GENUINE_STATE, puioptions: *mut SL_NONGENUINE_UI_OPTIONS) -> ::windows_sys::core::HRESULT;
294 pub fn SLOpen(phslc: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
295 #[cfg(feature = "Win32_Foundation")]
296 pub fn SLQueryLicenseValueFromApp(valuename: super::super::super::Foundation::PWSTR, valuetype: *mut u32, databuffer: *mut ::core::ffi::c_void, datasize: u32, resultdatasize: *mut u32) -> ::windows_sys::core::HRESULT;
297 #[cfg(feature = "Win32_Foundation")]
298 pub fn SLRegisterEvent(hslc: *const ::core::ffi::c_void, pwszeventid: super::super::super::Foundation::PWSTR, papplicationid: *const ::windows_sys::core::GUID, hevent: super::super::super::Foundation::HANDLE) -> ::windows_sys::core::HRESULT;
299 pub fn SLSetCurrentProductKey(hslc: *const ::core::ffi::c_void, pproductskuid: *const ::windows_sys::core::GUID, pproductkeyid: *const ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT;
300 #[cfg(feature = "Win32_Foundation")]
301 pub fn SLSetGenuineInformation(pqueryid: *const ::windows_sys::core::GUID, pwszvaluename: super::super::super::Foundation::PWSTR, edatatype: SLDATATYPE, cbvalue: u32, pbvalue: *const u8) -> ::windows_sys::core::HRESULT;
302 pub fn SLUninstallLicense(hslc: *const ::core::ffi::c_void, plicensefileid: *const ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT;
303 pub fn SLUninstallProofOfPurchase(hslc: *const ::core::ffi::c_void, ppkeyid: *const ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT;
304 #[cfg(feature = "Win32_Foundation")]
305 pub fn SLUnregisterEvent(hslc: *const ::core::ffi::c_void, pwszeventid: super::super::super::Foundation::PWSTR, papplicationid: *const ::windows_sys::core::GUID, hevent: super::super::super::Foundation::HANDLE) -> ::windows_sys::core::HRESULT;
306 #[cfg(feature = "Win32_Security_Credentials")]
307 pub fn SaslAcceptSecurityContext(phcredential: *const super::super::Credentials::SecHandle, phcontext: *const super::super::Credentials::SecHandle, pinput: *const SecBufferDesc, fcontextreq: u32, targetdatarep: u32, phnewcontext: *mut super::super::Credentials::SecHandle, poutput: *mut SecBufferDesc, pfcontextattr: *mut u32, ptsexpiry: *mut i64) -> i32;
308 #[cfg(feature = "Win32_Foundation")]
309 pub fn SaslEnumerateProfilesA(profilelist: *mut super::super::super::Foundation::PSTR, profilecount: *mut u32) -> i32;
310 #[cfg(feature = "Win32_Foundation")]
311 pub fn SaslEnumerateProfilesW(profilelist: *mut super::super::super::Foundation::PWSTR, profilecount: *mut u32) -> i32;
312 #[cfg(feature = "Win32_Security_Credentials")]
313 pub fn SaslGetContextOption(contexthandle: *const super::super::Credentials::SecHandle, option: u32, value: *mut ::core::ffi::c_void, size: u32, needed: *mut u32) -> i32;
314 #[cfg(feature = "Win32_Foundation")]
315 pub fn SaslGetProfilePackageA(profilename: super::super::super::Foundation::PSTR, packageinfo: *mut *mut SecPkgInfoA) -> i32;
316 #[cfg(feature = "Win32_Foundation")]
317 pub fn SaslGetProfilePackageW(profilename: super::super::super::Foundation::PWSTR, packageinfo: *mut *mut SecPkgInfoW) -> i32;
318 pub fn SaslIdentifyPackageA(pinput: *const SecBufferDesc, packageinfo: *mut *mut SecPkgInfoA) -> i32;
319 pub fn SaslIdentifyPackageW(pinput: *const SecBufferDesc, packageinfo: *mut *mut SecPkgInfoW) -> i32;
320 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
321 pub fn SaslInitializeSecurityContextA(phcredential: *const super::super::Credentials::SecHandle, phcontext: *const super::super::Credentials::SecHandle, psztargetname: super::super::super::Foundation::PSTR, fcontextreq: u32, reserved1: u32, targetdatarep: u32, pinput: *const SecBufferDesc, reserved2: u32, phnewcontext: *mut super::super::Credentials::SecHandle, poutput: *mut SecBufferDesc, pfcontextattr: *mut u32, ptsexpiry: *mut i64) -> i32;
322 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
323 pub fn SaslInitializeSecurityContextW(phcredential: *const super::super::Credentials::SecHandle, phcontext: *const super::super::Credentials::SecHandle, psztargetname: super::super::super::Foundation::PWSTR, fcontextreq: u32, reserved1: u32, targetdatarep: u32, pinput: *const SecBufferDesc, reserved2: u32, phnewcontext: *mut super::super::Credentials::SecHandle, poutput: *mut SecBufferDesc, pfcontextattr: *mut u32, ptsexpiry: *mut i64) -> i32;
324 #[cfg(feature = "Win32_Security_Credentials")]
325 pub fn SaslSetContextOption(contexthandle: *const super::super::Credentials::SecHandle, option: u32, value: *const ::core::ffi::c_void, size: u32) -> i32;
326 #[cfg(feature = "Win32_Security_Credentials")]
327 pub fn SetContextAttributesA(phcontext: *const super::super::Credentials::SecHandle, ulattribute: SECPKG_ATTR, pbuffer: *const ::core::ffi::c_void, cbbuffer: u32) -> i32;
328 #[cfg(feature = "Win32_Security_Credentials")]
329 pub fn SetContextAttributesW(phcontext: *const super::super::Credentials::SecHandle, ulattribute: SECPKG_ATTR, pbuffer: *const ::core::ffi::c_void, cbbuffer: u32) -> i32;
330 #[cfg(feature = "Win32_Security_Credentials")]
331 pub fn SetCredentialsAttributesA(phcredential: *const super::super::Credentials::SecHandle, ulattribute: u32, pbuffer: *const ::core::ffi::c_void, cbbuffer: u32) -> i32;
332 #[cfg(feature = "Win32_Security_Credentials")]
333 pub fn SetCredentialsAttributesW(phcredential: *const super::super::Credentials::SecHandle, ulattribute: u32, pbuffer: *const ::core::ffi::c_void, cbbuffer: u32) -> i32;
334 #[cfg(feature = "Win32_Foundation")]
335 pub fn SslCrackCertificate(pbcertificate: *mut u8, cbcertificate: u32, dwflags: u32, ppcertificate: *mut *mut X509Certificate) -> super::super::super::Foundation::BOOL;
336 #[cfg(feature = "Win32_Foundation")]
337 pub fn SslEmptyCacheA(psztargetname: super::super::super::Foundation::PSTR, dwflags: u32) -> super::super::super::Foundation::BOOL;
338 #[cfg(feature = "Win32_Foundation")]
339 pub fn SslEmptyCacheW(psztargetname: super::super::super::Foundation::PWSTR, dwflags: u32) -> super::super::super::Foundation::BOOL;
340 #[cfg(feature = "Win32_Foundation")]
341 pub fn SslFreeCertificate(pcertificate: *mut X509Certificate);
342 pub fn SslGenerateRandomBits(prandomdata: *mut u8, crandomdata: i32);
343 pub fn SslGetExtensions(clienthello: *const u8, clienthellobytesize: u32, genericextensions: *mut SCH_EXTENSION_DATA, genericextensionscount: u8, bytestoread: *mut u32, flags: SchGetExtensionsOptions) -> i32;
344 pub fn SslGetMaximumKeySize(reserved: u32) -> u32;
345 pub fn SslGetServerIdentity(clienthello: *const u8, clienthellosize: u32, serveridentity: *mut *mut u8, serveridentitysize: *mut u32, flags: u32) -> i32;
346 #[cfg(feature = "Win32_Foundation")]
347 pub fn SspiCompareAuthIdentities(authidentity1: *const ::core::ffi::c_void, authidentity2: *const ::core::ffi::c_void, samesupplieduser: *mut super::super::super::Foundation::BOOLEAN, samesuppliedidentity: *mut super::super::super::Foundation::BOOLEAN) -> i32;
348 pub fn SspiCopyAuthIdentity(authdata: *const ::core::ffi::c_void, authdatacopy: *mut *mut ::core::ffi::c_void) -> i32;
349 pub fn SspiDecryptAuthIdentity(encryptedauthdata: *mut ::core::ffi::c_void) -> i32;
350 pub fn SspiDecryptAuthIdentityEx(options: u32, encryptedauthdata: *mut ::core::ffi::c_void) -> i32;
351 #[cfg(feature = "Win32_Foundation")]
352 pub fn SspiEncodeAuthIdentityAsStrings(pauthidentity: *const ::core::ffi::c_void, ppszusername: *mut super::super::super::Foundation::PWSTR, ppszdomainname: *mut super::super::super::Foundation::PWSTR, ppszpackedcredentialsstring: *mut super::super::super::Foundation::PWSTR) -> i32;
353 #[cfg(feature = "Win32_Foundation")]
354 pub fn SspiEncodeStringsAsAuthIdentity(pszusername: super::super::super::Foundation::PWSTR, pszdomainname: super::super::super::Foundation::PWSTR, pszpackedcredentialsstring: super::super::super::Foundation::PWSTR, ppauthidentity: *mut *mut ::core::ffi::c_void) -> i32;
355 pub fn SspiEncryptAuthIdentity(authdata: *mut ::core::ffi::c_void) -> i32;
356 pub fn SspiEncryptAuthIdentityEx(options: u32, authdata: *mut ::core::ffi::c_void) -> i32;
357 #[cfg(feature = "Win32_Foundation")]
358 pub fn SspiExcludePackage(authidentity: *const ::core::ffi::c_void, pszpackagename: super::super::super::Foundation::PWSTR, ppnewauthidentity: *mut *mut ::core::ffi::c_void) -> i32;
359 pub fn SspiFreeAuthIdentity(authdata: *const ::core::ffi::c_void);
360 #[cfg(feature = "Win32_Foundation")]
361 pub fn SspiGetTargetHostName(psztargetname: super::super::super::Foundation::PWSTR, pszhostname: *mut super::super::super::Foundation::PWSTR) -> i32;
362 #[cfg(feature = "Win32_Foundation")]
363 pub fn SspiIsAuthIdentityEncrypted(encryptedauthdata: *const ::core::ffi::c_void) -> super::super::super::Foundation::BOOLEAN;
364 #[cfg(feature = "Win32_Foundation")]
365 pub fn SspiIsPromptingNeeded(errororntstatus: u32) -> super::super::super::Foundation::BOOLEAN;
366 pub fn SspiLocalFree(databuffer: *const ::core::ffi::c_void);
367 pub fn SspiMarshalAuthIdentity(authidentity: *const ::core::ffi::c_void, authidentitylength: *mut u32, authidentitybytearray: *mut *mut i8) -> i32;
368 #[cfg(feature = "Win32_Foundation")]
369 pub fn SspiPrepareForCredRead(authidentity: *const ::core::ffi::c_void, psztargetname: super::super::super::Foundation::PWSTR, pcredmancredentialtype: *mut u32, ppszcredmantargetname: *mut super::super::super::Foundation::PWSTR) -> i32;
370 #[cfg(feature = "Win32_Foundation")]
371 pub fn SspiPrepareForCredWrite(authidentity: *const ::core::ffi::c_void, psztargetname: super::super::super::Foundation::PWSTR, pcredmancredentialtype: *mut u32, ppszcredmantargetname: *mut super::super::super::Foundation::PWSTR, ppszcredmanusername: *mut super::super::super::Foundation::PWSTR, ppcredentialblob: *mut *mut u8, pcredentialblobsize: *mut u32) -> i32;
372 #[cfg(feature = "Win32_Foundation")]
373 pub fn SspiPromptForCredentialsA(psztargetname: super::super::super::Foundation::PSTR, puiinfo: *const ::core::ffi::c_void, dwautherror: u32, pszpackage: super::super::super::Foundation::PSTR, pinputauthidentity: *const ::core::ffi::c_void, ppauthidentity: *mut *mut ::core::ffi::c_void, pfsave: *mut i32, dwflags: u32) -> u32;
374 #[cfg(feature = "Win32_Foundation")]
375 pub fn SspiPromptForCredentialsW(psztargetname: super::super::super::Foundation::PWSTR, puiinfo: *const ::core::ffi::c_void, dwautherror: u32, pszpackage: super::super::super::Foundation::PWSTR, pinputauthidentity: *const ::core::ffi::c_void, ppauthidentity: *mut *mut ::core::ffi::c_void, pfsave: *mut i32, dwflags: u32) -> u32;
376 #[cfg(feature = "Win32_Foundation")]
377 pub fn SspiUnmarshalAuthIdentity(authidentitylength: u32, authidentitybytearray: super::super::super::Foundation::PSTR, ppauthidentity: *mut *mut ::core::ffi::c_void) -> i32;
378 pub fn SspiValidateAuthIdentity(authdata: *const ::core::ffi::c_void) -> i32;
379 pub fn SspiZeroAuthIdentity(authdata: *const ::core::ffi::c_void);
380 #[cfg(feature = "Win32_Foundation")]
381 pub fn SystemFunction036(randombuffer: *mut ::core::ffi::c_void, randombufferlength: u32) -> super::super::super::Foundation::BOOLEAN;
382 #[cfg(feature = "Win32_Foundation")]
383 pub fn SystemFunction040(memory: *mut ::core::ffi::c_void, memorysize: u32, optionflags: u32) -> super::super::super::Foundation::NTSTATUS;
384 #[cfg(feature = "Win32_Foundation")]
385 pub fn SystemFunction041(memory: *mut ::core::ffi::c_void, memorysize: u32, optionflags: u32) -> super::super::super::Foundation::NTSTATUS;
386 pub fn TokenBindingDeleteAllBindings() -> i32;
387 #[cfg(feature = "Win32_Foundation")]
388 pub fn TokenBindingDeleteBinding(targeturl: super::super::super::Foundation::PWSTR) -> i32;
389 #[cfg(feature = "Win32_Foundation")]
390 pub fn TokenBindingGenerateBinding(keytype: TOKENBINDING_KEY_PARAMETERS_TYPE, targeturl: super::super::super::Foundation::PWSTR, bindingtype: TOKENBINDING_TYPE, tlsekm: *const ::core::ffi::c_void, tlsekmsize: u32, extensionformat: TOKENBINDING_EXTENSION_FORMAT, extensiondata: *const ::core::ffi::c_void, tokenbinding: *mut *mut ::core::ffi::c_void, tokenbindingsize: *mut u32, resultdata: *mut *mut TOKENBINDING_RESULT_DATA) -> i32;
391 pub fn TokenBindingGenerateID(keytype: TOKENBINDING_KEY_PARAMETERS_TYPE, publickey: *const ::core::ffi::c_void, publickeysize: u32, resultdata: *mut *mut TOKENBINDING_RESULT_DATA) -> i32;
392 #[cfg(feature = "Win32_Foundation")]
393 pub fn TokenBindingGenerateIDForUri(keytype: TOKENBINDING_KEY_PARAMETERS_TYPE, targeturi: super::super::super::Foundation::PWSTR, resultdata: *mut *mut TOKENBINDING_RESULT_DATA) -> i32;
394 pub fn TokenBindingGenerateMessage(tokenbindings: *const *const ::core::ffi::c_void, tokenbindingssize: *const u32, tokenbindingscount: u32, tokenbindingmessage: *mut *mut ::core::ffi::c_void, tokenbindingmessagesize: *mut u32) -> i32;
395 pub fn TokenBindingGetHighestSupportedVersion(majorversion: *mut u8, minorversion: *mut u8) -> i32;
396 pub fn TokenBindingGetKeyTypesClient(keytypes: *mut *mut TOKENBINDING_KEY_TYPES) -> i32;
397 pub fn TokenBindingGetKeyTypesServer(keytypes: *mut *mut TOKENBINDING_KEY_TYPES) -> i32;
398 pub fn TokenBindingVerifyMessage(tokenbindingmessage: *const ::core::ffi::c_void, tokenbindingmessagesize: u32, keytype: TOKENBINDING_KEY_PARAMETERS_TYPE, tlsekm: *const ::core::ffi::c_void, tlsekmsize: u32, resultlist: *mut *mut TOKENBINDING_RESULT_LIST) -> i32;
399 #[cfg(feature = "Win32_Foundation")]
400 pub fn TranslateNameA(lpaccountname: super::super::super::Foundation::PSTR, accountnameformat: EXTENDED_NAME_FORMAT, desirednameformat: EXTENDED_NAME_FORMAT, lptranslatedname: super::super::super::Foundation::PSTR, nsize: *mut u32) -> super::super::super::Foundation::BOOLEAN;
401 #[cfg(feature = "Win32_Foundation")]
402 pub fn TranslateNameW(lpaccountname: super::super::super::Foundation::PWSTR, accountnameformat: EXTENDED_NAME_FORMAT, desirednameformat: EXTENDED_NAME_FORMAT, lptranslatedname: super::super::super::Foundation::PWSTR, nsize: *mut u32) -> super::super::super::Foundation::BOOLEAN;
403 #[cfg(feature = "Win32_Security_Credentials")]
404 pub fn VerifySignature(phcontext: *const super::super::Credentials::SecHandle, pmessage: *const SecBufferDesc, messageseqno: u32, pfqop: *mut u32) -> i32;
405}
406pub type ACCEPT_SECURITY_CONTEXT_CONTEXT_REQ = u32;
407pub const ASC_REQ_ALLOCATE_MEMORY: ACCEPT_SECURITY_CONTEXT_CONTEXT_REQ = 256u32;
408pub const ASC_REQ_CONNECTION: ACCEPT_SECURITY_CONTEXT_CONTEXT_REQ = 2048u32;
409pub const ASC_REQ_DELEGATE: ACCEPT_SECURITY_CONTEXT_CONTEXT_REQ = 1u32;
410pub const ASC_REQ_EXTENDED_ERROR: ACCEPT_SECURITY_CONTEXT_CONTEXT_REQ = 32768u32;
411pub const ASC_REQ_REPLAY_DETECT: ACCEPT_SECURITY_CONTEXT_CONTEXT_REQ = 4u32;
412pub const ASC_REQ_SEQUENCE_DETECT: ACCEPT_SECURITY_CONTEXT_CONTEXT_REQ = 8u32;
413pub const ASC_REQ_STREAM: ACCEPT_SECURITY_CONTEXT_CONTEXT_REQ = 65536u32;
414#[cfg(feature = "Win32_Security_Credentials")]
415pub type ACCEPT_SECURITY_CONTEXT_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: *mut super::super::Credentials::SecHandle, param2: *mut SecBufferDesc, param3: u32, param4: u32, param5: *mut super::super::Credentials::SecHandle, param6: *mut SecBufferDesc, param7: *mut u32, param8: *mut i64) -> i32;
416pub const ACCOUNT_ADJUST_PRIVILEGES: i32 = 2i32;
417pub const ACCOUNT_ADJUST_QUOTAS: i32 = 4i32;
418pub const ACCOUNT_ADJUST_SYSTEM_ACCESS: i32 = 8i32;
419pub const ACCOUNT_VIEW: i32 = 1i32;
420#[cfg(feature = "Win32_Security_Credentials")]
421pub type ACQUIRE_CREDENTIALS_HANDLE_FN_A = unsafe extern "system" fn(param0: *mut i8, param1: *mut i8, param2: u32, param3: *mut ::core::ffi::c_void, param4: *mut ::core::ffi::c_void, param5: ::core::option::Option<SEC_GET_KEY_FN>, param6: *mut ::core::ffi::c_void, param7: *mut super::super::Credentials::SecHandle, param8: *mut i64) -> i32;
422#[cfg(feature = "Win32_Security_Credentials")]
423pub type ACQUIRE_CREDENTIALS_HANDLE_FN_W = unsafe extern "system" fn(param0: *mut u16, param1: *mut u16, param2: u32, param3: *mut ::core::ffi::c_void, param4: *mut ::core::ffi::c_void, param5: ::core::option::Option<SEC_GET_KEY_FN>, param6: *mut ::core::ffi::c_void, param7: *mut super::super::Credentials::SecHandle, param8: *mut i64) -> i32;
424#[cfg(feature = "Win32_Security_Credentials")]
425pub type ADD_CREDENTIALS_FN_A = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: *mut i8, param2: *mut i8, param3: u32, param4: *mut ::core::ffi::c_void, param5: ::core::option::Option<SEC_GET_KEY_FN>, param6: *mut ::core::ffi::c_void, param7: *mut i64) -> i32;
426#[cfg(feature = "Win32_Security_Credentials")]
427pub type ADD_CREDENTIALS_FN_W = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: *mut u16, param2: *mut u16, param3: u32, param4: *mut ::core::ffi::c_void, param5: ::core::option::Option<SEC_GET_KEY_FN>, param6: *mut ::core::ffi::c_void, param7: *mut i64) -> i32;
428#[cfg(feature = "Win32_Security_Credentials")]
429pub type APPLY_CONTROL_TOKEN_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: *mut SecBufferDesc) -> i32;
430pub const ASC_REQ_ALLOW_CONTEXT_REPLAY: u32 = 4194304u32;
431pub const ASC_REQ_ALLOW_MISSING_BINDINGS: u32 = 268435456u32;
432pub const ASC_REQ_ALLOW_NON_USER_LOGONS: u32 = 2097152u32;
433pub const ASC_REQ_ALLOW_NULL_SESSION: u32 = 1048576u32;
434pub const ASC_REQ_CALL_LEVEL: u32 = 4096u32;
435pub const ASC_REQ_CONFIDENTIALITY: u32 = 16u32;
436pub const ASC_REQ_DATAGRAM: u32 = 1024u32;
437pub const ASC_REQ_FRAGMENT_SUPPLIED: u32 = 8192u32;
438pub const ASC_REQ_FRAGMENT_TO_FIT: u32 = 8388608u32;
439pub const ASC_REQ_IDENTIFY: u32 = 524288u32;
440pub const ASC_REQ_INTEGRITY: u32 = 131072u32;
441pub const ASC_REQ_LICENSING: u32 = 262144u32;
442pub const ASC_REQ_MESSAGES: u64 = 4294967296u64;
443pub const ASC_REQ_MUTUAL_AUTH: u32 = 2u32;
444pub const ASC_REQ_NO_TOKEN: u32 = 16777216u32;
445pub const ASC_REQ_PROXY_BINDINGS: u32 = 67108864u32;
446pub const ASC_REQ_SESSION_TICKET: u32 = 64u32;
447pub const ASC_REQ_USE_DCE_STYLE: u32 = 512u32;
448pub const ASC_REQ_USE_SESSION_KEY: u32 = 32u32;
449pub const ASC_RET_ALLOCATED_MEMORY: u32 = 256u32;
450pub const ASC_RET_ALLOW_CONTEXT_REPLAY: u32 = 4194304u32;
451pub const ASC_RET_ALLOW_NON_USER_LOGONS: u32 = 2097152u32;
452pub const ASC_RET_CALL_LEVEL: u32 = 8192u32;
453pub const ASC_RET_CONFIDENTIALITY: u32 = 16u32;
454pub const ASC_RET_CONNECTION: u32 = 2048u32;
455pub const ASC_RET_DATAGRAM: u32 = 1024u32;
456pub const ASC_RET_DELEGATE: u32 = 1u32;
457pub const ASC_RET_EXTENDED_ERROR: u32 = 32768u32;
458pub const ASC_RET_FRAGMENT_ONLY: u32 = 8388608u32;
459pub const ASC_RET_IDENTIFY: u32 = 524288u32;
460pub const ASC_RET_INTEGRITY: u32 = 131072u32;
461pub const ASC_RET_LICENSING: u32 = 262144u32;
462pub const ASC_RET_MESSAGES: u64 = 4294967296u64;
463pub const ASC_RET_MUTUAL_AUTH: u32 = 2u32;
464pub const ASC_RET_NO_ADDITIONAL_TOKEN: u32 = 33554432u32;
465pub const ASC_RET_NO_TOKEN: u32 = 16777216u32;
466pub const ASC_RET_NULL_SESSION: u32 = 1048576u32;
467pub const ASC_RET_REPLAY_DETECT: u32 = 4u32;
468pub const ASC_RET_SEQUENCE_DETECT: u32 = 8u32;
469pub const ASC_RET_SESSION_TICKET: u32 = 64u32;
470pub const ASC_RET_STREAM: u32 = 65536u32;
471pub const ASC_RET_THIRD_LEG_FAILED: u32 = 16384u32;
472pub const ASC_RET_USED_DCE_STYLE: u32 = 512u32;
473pub const ASC_RET_USE_SESSION_KEY: u32 = 32u32;
474pub const AUDIT_ENUMERATE_USERS: u32 = 16u32;
475#[repr(C)]
476pub struct AUDIT_POLICY_INFORMATION {
477 pub AuditSubCategoryGuid: ::windows_sys::core::GUID,
478 pub AuditingInformation: u32,
479 pub AuditCategoryGuid: ::windows_sys::core::GUID,
480}
481impl ::core::marker::Copy for AUDIT_POLICY_INFORMATION {}
482impl ::core::clone::Clone for AUDIT_POLICY_INFORMATION {
483 fn clone(&self) -> Self {
484 *self
485 }
486}
487pub const AUDIT_QUERY_MISC_POLICY: u32 = 64u32;
488pub const AUDIT_QUERY_SYSTEM_POLICY: u32 = 2u32;
489pub const AUDIT_QUERY_USER_POLICY: u32 = 8u32;
490pub const AUDIT_SET_MISC_POLICY: u32 = 32u32;
491pub const AUDIT_SET_SYSTEM_POLICY: u32 = 1u32;
492pub const AUDIT_SET_USER_POLICY: u32 = 4u32;
493pub const AUTH_REQ_ALLOW_ENC_TKT_IN_SKEY: u32 = 32u32;
494pub const AUTH_REQ_ALLOW_FORWARDABLE: u32 = 1u32;
495pub const AUTH_REQ_ALLOW_NOADDRESS: u32 = 16u32;
496pub const AUTH_REQ_ALLOW_POSTDATE: u32 = 4u32;
497pub const AUTH_REQ_ALLOW_PROXIABLE: u32 = 2u32;
498pub const AUTH_REQ_ALLOW_RENEWABLE: u32 = 8u32;
499pub const AUTH_REQ_ALLOW_S4U_DELEGATE: u32 = 2048u32;
500pub const AUTH_REQ_ALLOW_VALIDATE: u32 = 64u32;
501pub const AUTH_REQ_OK_AS_DELEGATE: u32 = 256u32;
502pub const AUTH_REQ_PREAUTH_REQUIRED: u32 = 512u32;
503pub const AUTH_REQ_TRANSITIVE_TRUST: u32 = 1024u32;
504pub const AUTH_REQ_VALIDATE_CLIENT: u32 = 128u32;
505pub const Audit_AccountLogon: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1771542608, data2: 31098, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
506pub const Audit_AccountLogon_CredentialValidation: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864447, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
507pub const Audit_AccountLogon_KerbCredentialValidation: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864450, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
508pub const Audit_AccountLogon_Kerberos: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864448, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
509pub const Audit_AccountLogon_Others: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864449, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
510pub const Audit_AccountManagement: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1771542606, data2: 31098, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
511pub const Audit_AccountManagement_ApplicationGroup: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864441, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
512pub const Audit_AccountManagement_ComputerAccount: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864438, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
513pub const Audit_AccountManagement_DistributionGroup: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864440, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
514pub const Audit_AccountManagement_Others: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864442, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
515pub const Audit_AccountManagement_SecurityGroup: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864439, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
516pub const Audit_AccountManagement_UserAccount: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864437, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
517pub const Audit_DSAccess_DSAccess: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864443, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
518pub const Audit_DetailedTracking: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1771542604, data2: 31098, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
519pub const Audit_DetailedTracking_DpapiActivity: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864429, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
520pub const Audit_DetailedTracking_PnpActivity: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864456, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
521pub const Audit_DetailedTracking_ProcessCreation: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864427, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
522pub const Audit_DetailedTracking_ProcessTermination: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864428, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
523pub const Audit_DetailedTracking_RpcCall: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864430, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
524pub const Audit_DetailedTracking_TokenRightAdjusted: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864458, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
525pub const Audit_DirectoryServiceAccess: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1771542607, data2: 31098, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
526pub const Audit_DsAccess_AdAuditChanges: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864444, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
527pub const Audit_Ds_DetailedReplication: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864446, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
528pub const Audit_Ds_Replication: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864445, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
529pub const Audit_Logon: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1771542601, data2: 31098, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
530pub const Audit_Logon_AccountLockout: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864407, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
531pub const Audit_Logon_Claims: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864455, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
532pub const Audit_Logon_Groups: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864457, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
533pub const Audit_Logon_IPSecMainMode: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864408, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
534pub const Audit_Logon_IPSecQuickMode: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864409, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
535pub const Audit_Logon_IPSecUserMode: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864410, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
536pub const Audit_Logon_Logoff: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864406, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
537pub const Audit_Logon_Logon: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864405, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
538pub const Audit_Logon_NPS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864451, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
539pub const Audit_Logon_Others: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864412, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
540pub const Audit_Logon_SpecialLogon: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864411, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
541pub const Audit_ObjectAccess: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1771542602, data2: 31098, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
542pub const Audit_ObjectAccess_ApplicationGenerated: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864418, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
543pub const Audit_ObjectAccess_CbacStaging: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864454, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
544pub const Audit_ObjectAccess_CertificationServices: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864417, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
545pub const Audit_ObjectAccess_DetailedFileShare: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864452, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
546pub const Audit_ObjectAccess_FileSystem: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864413, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
547pub const Audit_ObjectAccess_FirewallConnection: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864422, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
548pub const Audit_ObjectAccess_FirewallPacketDrops: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864421, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
549pub const Audit_ObjectAccess_Handle: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864419, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
550pub const Audit_ObjectAccess_Kernel: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864415, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
551pub const Audit_ObjectAccess_Other: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864423, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
552pub const Audit_ObjectAccess_Registry: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864414, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
553pub const Audit_ObjectAccess_RemovableStorage: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864453, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
554pub const Audit_ObjectAccess_Sam: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864416, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
555pub const Audit_ObjectAccess_Share: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864420, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
556pub const Audit_PolicyChange: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1771542605, data2: 31098, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
557pub const Audit_PolicyChange_AuditPolicy: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864431, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
558pub const Audit_PolicyChange_AuthenticationPolicy: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864432, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
559pub const Audit_PolicyChange_AuthorizationPolicy: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864433, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
560pub const Audit_PolicyChange_MpsscvRulePolicy: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864434, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
561pub const Audit_PolicyChange_Others: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864436, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
562pub const Audit_PolicyChange_WfpIPSecPolicy: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864435, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
563pub const Audit_PrivilegeUse: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1771542603, data2: 31098, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
564pub const Audit_PrivilegeUse_NonSensitive: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864425, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
565pub const Audit_PrivilegeUse_Others: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864426, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
566pub const Audit_PrivilegeUse_Sensitive: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864424, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
567pub const Audit_System: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1771542600, data2: 31098, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
568pub const Audit_System_IPSecDriverEvents: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864403, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
569pub const Audit_System_Integrity: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864402, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
570pub const Audit_System_Others: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864404, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
571pub const Audit_System_SecurityStateChange: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864400, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
572pub const Audit_System_SecuritySubsystemExtension: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 214864401, data2: 27054, data3: 4569, data4: [190, 211, 80, 80, 84, 80, 48, 48] };
573#[repr(C)]
574#[cfg(feature = "Win32_Foundation")]
575pub struct CENTRAL_ACCESS_POLICY {
576 pub CAPID: super::super::super::Foundation::PSID,
577 pub Name: super::super::super::Foundation::UNICODE_STRING,
578 pub Description: super::super::super::Foundation::UNICODE_STRING,
579 pub ChangeId: super::super::super::Foundation::UNICODE_STRING,
580 pub Flags: u32,
581 pub CAPECount: u32,
582 pub CAPEs: *mut *mut CENTRAL_ACCESS_POLICY_ENTRY,
583}
584#[cfg(feature = "Win32_Foundation")]
585impl ::core::marker::Copy for CENTRAL_ACCESS_POLICY {}
586#[cfg(feature = "Win32_Foundation")]
587impl ::core::clone::Clone for CENTRAL_ACCESS_POLICY {
588 fn clone(&self) -> Self {
589 *self
590 }
591}
592#[repr(C)]
593#[cfg(feature = "Win32_Foundation")]
594pub struct CENTRAL_ACCESS_POLICY_ENTRY {
595 pub Name: super::super::super::Foundation::UNICODE_STRING,
596 pub Description: super::super::super::Foundation::UNICODE_STRING,
597 pub ChangeId: super::super::super::Foundation::UNICODE_STRING,
598 pub LengthAppliesTo: u32,
599 pub AppliesTo: *mut u8,
600 pub LengthSD: u32,
601 pub SD: *mut super::super::SECURITY_DESCRIPTOR,
602 pub LengthStagedSD: u32,
603 pub StagedSD: *mut super::super::SECURITY_DESCRIPTOR,
604 pub Flags: u32,
605}
606#[cfg(feature = "Win32_Foundation")]
607impl ::core::marker::Copy for CENTRAL_ACCESS_POLICY_ENTRY {}
608#[cfg(feature = "Win32_Foundation")]
609impl ::core::clone::Clone for CENTRAL_ACCESS_POLICY_ENTRY {
610 fn clone(&self) -> Self {
611 *self
612 }
613}
614pub const CENTRAL_ACCESS_POLICY_OWNER_RIGHTS_PRESENT_FLAG: u32 = 1u32;
615pub const CENTRAL_ACCESS_POLICY_STAGED_FLAG: u32 = 65536u32;
616pub const CENTRAL_ACCESS_POLICY_STAGED_OWNER_RIGHTS_PRESENT_FLAG: u32 = 256u32;
617#[cfg(feature = "Win32_Foundation")]
618pub type CHANGE_PASSWORD_FN_A = unsafe extern "system" fn(param0: *mut i8, param1: *mut i8, param2: *mut i8, param3: *mut i8, param4: *mut i8, param5: super::super::super::Foundation::BOOLEAN, param6: u32, param7: *mut SecBufferDesc) -> i32;
619#[cfg(feature = "Win32_Foundation")]
620pub type CHANGE_PASSWORD_FN_W = unsafe extern "system" fn(param0: *mut u16, param1: *mut u16, param2: *mut u16, param3: *mut u16, param4: *mut u16, param5: super::super::super::Foundation::BOOLEAN, param6: u32, param7: *mut SecBufferDesc) -> i32;
621#[repr(C)]
622#[cfg(feature = "Win32_Foundation")]
623pub struct CLEAR_BLOCK {
624 pub data: [super::super::super::Foundation::CHAR; 8],
625}
626#[cfg(feature = "Win32_Foundation")]
627impl ::core::marker::Copy for CLEAR_BLOCK {}
628#[cfg(feature = "Win32_Foundation")]
629impl ::core::clone::Clone for CLEAR_BLOCK {
630 fn clone(&self) -> Self {
631 *self
632 }
633}
634pub const CLEAR_BLOCK_LENGTH: u32 = 8u32;
635#[cfg(feature = "Win32_Security_Credentials")]
636pub type COMPLETE_AUTH_TOKEN_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: *mut SecBufferDesc) -> i32;
637pub const CREDP_FLAGS_CLEAR_PASSWORD: u32 = 8u32;
638pub const CREDP_FLAGS_DONT_CACHE_TI: u32 = 4u32;
639pub const CREDP_FLAGS_IN_PROCESS: u32 = 1u32;
640pub const CREDP_FLAGS_TRUSTED_CALLER: u32 = 32u32;
641pub const CREDP_FLAGS_USER_ENCRYPTED_PASSWORD: u32 = 16u32;
642pub const CREDP_FLAGS_USE_MIDL_HEAP: u32 = 2u32;
643pub const CREDP_FLAGS_VALIDATE_PROXY_TARGET: u32 = 64u32;
644pub type CRED_FETCH = i32;
645pub const CredFetchDefault: CRED_FETCH = 0i32;
646pub const CredFetchDPAPI: CRED_FETCH = 1i32;
647pub const CredFetchForced: CRED_FETCH = 2i32;
648pub const CRED_MARSHALED_TI_SIZE_SIZE: u32 = 12u32;
649pub const CYPHER_BLOCK_LENGTH: u32 = 8u32;
650#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
651pub type CredFreeCredentialsFn = unsafe extern "system" fn(count: u32, credentials: *mut *mut ENCRYPTED_CREDENTIALW);
652#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
653pub type CredReadDomainCredentialsFn = unsafe extern "system" fn(logonid: *const super::super::super::Foundation::LUID, credflags: u32, targetinfo: *const super::super::Credentials::CREDENTIAL_TARGET_INFORMATIONW, flags: u32, count: *mut u32, credential: *mut *mut *mut ENCRYPTED_CREDENTIALW) -> super::super::super::Foundation::NTSTATUS;
654#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
655pub type CredReadFn = unsafe extern "system" fn(logonid: *const super::super::super::Foundation::LUID, credflags: u32, targetname: super::super::super::Foundation::PWSTR, r#type: u32, flags: u32, credential: *mut *mut ENCRYPTED_CREDENTIALW) -> super::super::super::Foundation::NTSTATUS;
656#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
657pub type CredWriteFn = unsafe extern "system" fn(logonid: *const super::super::super::Foundation::LUID, credflags: u32, credential: *const ENCRYPTED_CREDENTIALW, flags: u32) -> super::super::super::Foundation::NTSTATUS;
658#[cfg(feature = "Win32_Foundation")]
659pub type CrediUnmarshalandDecodeStringFn = unsafe extern "system" fn(marshaledstring: super::super::super::Foundation::PWSTR, blob: *mut *mut u8, blobsize: *mut u32, isfailurefatal: *mut u8) -> super::super::super::Foundation::NTSTATUS;
660#[cfg(feature = "Win32_Security_Credentials")]
661pub type DECRYPT_MESSAGE_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: *mut SecBufferDesc, param2: u32, param3: *mut u32) -> i32;
662#[cfg(feature = "Win32_Security_Credentials")]
663pub type DELETE_SECURITY_CONTEXT_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle) -> i32;
664pub const DOMAIN_NO_LM_OWF_CHANGE: i32 = 64i32;
665#[repr(C)]
666pub struct DOMAIN_PASSWORD_INFORMATION {
667 pub MinPasswordLength: u16,
668 pub PasswordHistoryLength: u16,
669 pub PasswordProperties: DOMAIN_PASSWORD_PROPERTIES,
670 pub MaxPasswordAge: i64,
671 pub MinPasswordAge: i64,
672}
673impl ::core::marker::Copy for DOMAIN_PASSWORD_INFORMATION {}
674impl ::core::clone::Clone for DOMAIN_PASSWORD_INFORMATION {
675 fn clone(&self) -> Self {
676 *self
677 }
678}
679pub type DOMAIN_PASSWORD_PROPERTIES = u32;
680pub const DOMAIN_PASSWORD_COMPLEX: DOMAIN_PASSWORD_PROPERTIES = 1u32;
681pub const DOMAIN_PASSWORD_NO_ANON_CHANGE: DOMAIN_PASSWORD_PROPERTIES = 2u32;
682pub const DOMAIN_PASSWORD_NO_CLEAR_CHANGE: DOMAIN_PASSWORD_PROPERTIES = 4u32;
683pub const DOMAIN_LOCKOUT_ADMINS: DOMAIN_PASSWORD_PROPERTIES = 8u32;
684pub const DOMAIN_PASSWORD_STORE_CLEARTEXT: DOMAIN_PASSWORD_PROPERTIES = 16u32;
685pub const DOMAIN_REFUSE_PASSWORD_CHANGE: DOMAIN_PASSWORD_PROPERTIES = 32u32;
686pub const DS_UNKNOWN_ADDRESS_TYPE: u32 = 0u32;
687pub const ENABLE_TLS_CLIENT_EARLY_START: u32 = 1u32;
688#[repr(C)]
689#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
690pub struct ENCRYPTED_CREDENTIALW {
691 pub Cred: super::super::Credentials::CREDENTIALW,
692 pub ClearCredentialBlobSize: u32,
693}
694#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
695impl ::core::marker::Copy for ENCRYPTED_CREDENTIALW {}
696#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
697impl ::core::clone::Clone for ENCRYPTED_CREDENTIALW {
698 fn clone(&self) -> Self {
699 *self
700 }
701}
702#[cfg(feature = "Win32_Security_Credentials")]
703pub type ENCRYPT_MESSAGE_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut SecBufferDesc, param3: u32) -> i32;
704pub type ENUMERATE_SECURITY_PACKAGES_FN_A = unsafe extern "system" fn(param0: *mut u32, param1: *mut *mut SecPkgInfoA) -> i32;
705pub type ENUMERATE_SECURITY_PACKAGES_FN_W = unsafe extern "system" fn(param0: *mut u32, param1: *mut *mut SecPkgInfoW) -> i32;
706pub type EXPORT_SECURITY_CONTEXT_FLAGS = u32;
707pub const SECPKG_CONTEXT_EXPORT_RESET_NEW: EXPORT_SECURITY_CONTEXT_FLAGS = 1u32;
708pub const SECPKG_CONTEXT_EXPORT_DELETE_OLD: EXPORT_SECURITY_CONTEXT_FLAGS = 2u32;
709pub const SECPKG_CONTEXT_EXPORT_TO_KERNEL: EXPORT_SECURITY_CONTEXT_FLAGS = 4u32;
710#[cfg(feature = "Win32_Security_Credentials")]
711pub type EXPORT_SECURITY_CONTEXT_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut SecBuffer, param3: *mut *mut ::core::ffi::c_void) -> i32;
712pub type EXTENDED_NAME_FORMAT = i32;
713pub const NameUnknown: EXTENDED_NAME_FORMAT = 0i32;
714pub const NameFullyQualifiedDN: EXTENDED_NAME_FORMAT = 1i32;
715pub const NameSamCompatible: EXTENDED_NAME_FORMAT = 2i32;
716pub const NameDisplay: EXTENDED_NAME_FORMAT = 3i32;
717pub const NameUniqueId: EXTENDED_NAME_FORMAT = 6i32;
718pub const NameCanonical: EXTENDED_NAME_FORMAT = 7i32;
719pub const NameUserPrincipal: EXTENDED_NAME_FORMAT = 8i32;
720pub const NameCanonicalEx: EXTENDED_NAME_FORMAT = 9i32;
721pub const NameServicePrincipal: EXTENDED_NAME_FORMAT = 10i32;
722pub const NameDnsDomain: EXTENDED_NAME_FORMAT = 12i32;
723pub const NameGivenName: EXTENDED_NAME_FORMAT = 13i32;
724pub const NameSurname: EXTENDED_NAME_FORMAT = 14i32;
725pub const E_RM_UNKNOWN_ERROR: ::windows_sys::core::HRESULT = -1073415165i32;
726pub const FACILITY_SL_ITF: u32 = 4u32;
727pub type FREE_CONTEXT_BUFFER_FN = unsafe extern "system" fn(param0: *mut ::core::ffi::c_void) -> i32;
728#[cfg(feature = "Win32_Security_Credentials")]
729pub type FREE_CREDENTIALS_HANDLE_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle) -> i32;
730pub type ICcgDomainAuthCredentials = *mut ::core::ffi::c_void;
731#[cfg(feature = "Win32_Security_Credentials")]
732pub type IMPERSONATE_SECURITY_CONTEXT_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle) -> i32;
733#[cfg(feature = "Win32_Security_Credentials")]
734pub type IMPORT_SECURITY_CONTEXT_FN_A = unsafe extern "system" fn(param0: *mut i8, param1: *mut SecBuffer, param2: *mut ::core::ffi::c_void, param3: *mut super::super::Credentials::SecHandle) -> i32;
735#[cfg(feature = "Win32_Security_Credentials")]
736pub type IMPORT_SECURITY_CONTEXT_FN_W = unsafe extern "system" fn(param0: *mut u16, param1: *mut SecBuffer, param2: *mut ::core::ffi::c_void, param3: *mut super::super::Credentials::SecHandle) -> i32;
737#[cfg(feature = "Win32_Security_Credentials")]
738pub type INITIALIZE_SECURITY_CONTEXT_FN_A = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: *mut super::super::Credentials::SecHandle, param2: *mut i8, param3: u32, param4: u32, param5: u32, param6: *mut SecBufferDesc, param7: u32, param8: *mut super::super::Credentials::SecHandle, param9: *mut SecBufferDesc, param10: *mut u32, param11: *mut i64) -> i32;
739#[cfg(feature = "Win32_Security_Credentials")]
740pub type INITIALIZE_SECURITY_CONTEXT_FN_W = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: *mut super::super::Credentials::SecHandle, param2: *mut u16, param3: u32, param4: u32, param5: u32, param6: *mut SecBufferDesc, param7: u32, param8: *mut super::super::Credentials::SecHandle, param9: *mut SecBufferDesc, param10: *mut u32, param11: *mut i64) -> i32;
741#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
742pub type INIT_SECURITY_INTERFACE_A = unsafe extern "system" fn() -> *mut SecurityFunctionTableA;
743#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
744pub type INIT_SECURITY_INTERFACE_W = unsafe extern "system" fn() -> *mut SecurityFunctionTableW;
745pub const ISC_REQ_ALLOCATE_MEMORY: u32 = 256u32;
746pub const ISC_REQ_CALL_LEVEL: u32 = 4096u32;
747pub const ISC_REQ_CONFIDENTIALITY: u32 = 16u32;
748pub const ISC_REQ_CONFIDENTIALITY_ONLY: u32 = 1073741824u32;
749pub const ISC_REQ_CONNECTION: u32 = 2048u32;
750pub const ISC_REQ_DATAGRAM: u32 = 1024u32;
751pub const ISC_REQ_DEFERRED_CRED_VALIDATION: u64 = 8589934592u64;
752pub const ISC_REQ_DELEGATE: u32 = 1u32;
753pub const ISC_REQ_EXTENDED_ERROR: u32 = 16384u32;
754pub const ISC_REQ_FORWARD_CREDENTIALS: u32 = 4194304u32;
755pub const ISC_REQ_FRAGMENT_SUPPLIED: u32 = 8192u32;
756pub const ISC_REQ_FRAGMENT_TO_FIT: u32 = 2097152u32;
757pub const ISC_REQ_IDENTIFY: u32 = 131072u32;
758pub const ISC_REQ_INTEGRITY: u32 = 65536u32;
759pub const ISC_REQ_MANUAL_CRED_VALIDATION: u32 = 524288u32;
760pub const ISC_REQ_MESSAGES: u64 = 4294967296u64;
761pub const ISC_REQ_MUTUAL_AUTH: u32 = 2u32;
762pub const ISC_REQ_NO_INTEGRITY: u32 = 8388608u32;
763pub const ISC_REQ_NULL_SESSION: u32 = 262144u32;
764pub const ISC_REQ_PROMPT_FOR_CREDS: u32 = 64u32;
765pub const ISC_REQ_REPLAY_DETECT: u32 = 4u32;
766pub const ISC_REQ_RESERVED1: u32 = 1048576u32;
767pub const ISC_REQ_SEQUENCE_DETECT: u32 = 8u32;
768pub const ISC_REQ_STREAM: u32 = 32768u32;
769pub const ISC_REQ_UNVERIFIED_TARGET_NAME: u32 = 536870912u32;
770pub const ISC_REQ_USE_DCE_STYLE: u32 = 512u32;
771pub const ISC_REQ_USE_HTTP_STYLE: u32 = 16777216u32;
772pub const ISC_REQ_USE_SESSION_KEY: u32 = 32u32;
773pub const ISC_REQ_USE_SUPPLIED_CREDS: u32 = 128u32;
774pub const ISC_RET_ALLOCATED_MEMORY: u32 = 256u32;
775pub const ISC_RET_CALL_LEVEL: u32 = 8192u32;
776pub const ISC_RET_CONFIDENTIALITY: u32 = 16u32;
777pub const ISC_RET_CONFIDENTIALITY_ONLY: u32 = 1073741824u32;
778pub const ISC_RET_CONNECTION: u32 = 2048u32;
779pub const ISC_RET_DATAGRAM: u32 = 1024u32;
780pub const ISC_RET_DEFERRED_CRED_VALIDATION: u64 = 8589934592u64;
781pub const ISC_RET_DELEGATE: u32 = 1u32;
782pub const ISC_RET_EXTENDED_ERROR: u32 = 16384u32;
783pub const ISC_RET_FORWARD_CREDENTIALS: u32 = 4194304u32;
784pub const ISC_RET_FRAGMENT_ONLY: u32 = 2097152u32;
785pub const ISC_RET_IDENTIFY: u32 = 131072u32;
786pub const ISC_RET_INTEGRITY: u32 = 65536u32;
787pub const ISC_RET_INTERMEDIATE_RETURN: u32 = 4096u32;
788pub const ISC_RET_MANUAL_CRED_VALIDATION: u32 = 524288u32;
789pub const ISC_RET_MESSAGES: u64 = 4294967296u64;
790pub const ISC_RET_MUTUAL_AUTH: u32 = 2u32;
791pub const ISC_RET_NO_ADDITIONAL_TOKEN: u32 = 33554432u32;
792pub const ISC_RET_NULL_SESSION: u32 = 262144u32;
793pub const ISC_RET_REAUTHENTICATION: u32 = 134217728u32;
794pub const ISC_RET_REPLAY_DETECT: u32 = 4u32;
795pub const ISC_RET_RESERVED1: u32 = 1048576u32;
796pub const ISC_RET_SEQUENCE_DETECT: u32 = 8u32;
797pub const ISC_RET_STREAM: u32 = 32768u32;
798pub const ISC_RET_USED_COLLECTED_CREDS: u32 = 64u32;
799pub const ISC_RET_USED_DCE_STYLE: u32 = 512u32;
800pub const ISC_RET_USED_HTTP_STYLE: u32 = 16777216u32;
801pub const ISC_RET_USED_SUPPLIED_CREDS: u32 = 128u32;
802pub const ISC_RET_USE_SESSION_KEY: u32 = 32u32;
803pub const ISSP_LEVEL: u32 = 32u32;
804pub const ISSP_MODE: u32 = 1u32;
805#[repr(C)]
806#[cfg(feature = "Win32_Foundation")]
807pub struct KDC_PROXY_CACHE_ENTRY_DATA {
808 pub SinceLastUsed: u64,
809 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
810 pub ProxyServerName: super::super::super::Foundation::UNICODE_STRING,
811 pub ProxyServerVdir: super::super::super::Foundation::UNICODE_STRING,
812 pub ProxyServerPort: u16,
813 pub LogonId: super::super::super::Foundation::LUID,
814 pub CredUserName: super::super::super::Foundation::UNICODE_STRING,
815 pub CredDomainName: super::super::super::Foundation::UNICODE_STRING,
816 pub GlobalCache: super::super::super::Foundation::BOOLEAN,
817}
818#[cfg(feature = "Win32_Foundation")]
819impl ::core::marker::Copy for KDC_PROXY_CACHE_ENTRY_DATA {}
820#[cfg(feature = "Win32_Foundation")]
821impl ::core::clone::Clone for KDC_PROXY_CACHE_ENTRY_DATA {
822 fn clone(&self) -> Self {
823 *self
824 }
825}
826pub const KDC_PROXY_SETTINGS_FLAGS_FORCEPROXY: u32 = 1u32;
827pub const KDC_PROXY_SETTINGS_V1: u32 = 1u32;
828pub const KERBEROS_REVISION: u32 = 6u32;
829pub const KERBEROS_VERSION: u32 = 5u32;
830pub type KERB_ADDRESS_TYPE = u32;
831pub const DS_INET_ADDRESS: KERB_ADDRESS_TYPE = 1u32;
832pub const DS_NETBIOS_ADDRESS: KERB_ADDRESS_TYPE = 2u32;
833#[repr(C)]
834#[cfg(feature = "Win32_Foundation")]
835pub struct KERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST {
836 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
837 pub RealmName: super::super::super::Foundation::UNICODE_STRING,
838 pub KdcAddress: super::super::super::Foundation::UNICODE_STRING,
839 pub AddressType: KERB_ADDRESS_TYPE,
840 pub DcFlags: u32,
841}
842#[cfg(feature = "Win32_Foundation")]
843impl ::core::marker::Copy for KERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST {}
844#[cfg(feature = "Win32_Foundation")]
845impl ::core::clone::Clone for KERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST {
846 fn clone(&self) -> Self {
847 *self
848 }
849}
850#[repr(C)]
851#[cfg(feature = "Win32_Foundation")]
852pub struct KERB_ADD_BINDING_CACHE_ENTRY_REQUEST {
853 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
854 pub RealmName: super::super::super::Foundation::UNICODE_STRING,
855 pub KdcAddress: super::super::super::Foundation::UNICODE_STRING,
856 pub AddressType: KERB_ADDRESS_TYPE,
857}
858#[cfg(feature = "Win32_Foundation")]
859impl ::core::marker::Copy for KERB_ADD_BINDING_CACHE_ENTRY_REQUEST {}
860#[cfg(feature = "Win32_Foundation")]
861impl ::core::clone::Clone for KERB_ADD_BINDING_CACHE_ENTRY_REQUEST {
862 fn clone(&self) -> Self {
863 *self
864 }
865}
866#[repr(C)]
867#[cfg(feature = "Win32_Foundation")]
868pub struct KERB_ADD_CREDENTIALS_REQUEST {
869 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
870 pub UserName: super::super::super::Foundation::UNICODE_STRING,
871 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
872 pub Password: super::super::super::Foundation::UNICODE_STRING,
873 pub LogonId: super::super::super::Foundation::LUID,
874 pub Flags: KERB_REQUEST_FLAGS,
875}
876#[cfg(feature = "Win32_Foundation")]
877impl ::core::marker::Copy for KERB_ADD_CREDENTIALS_REQUEST {}
878#[cfg(feature = "Win32_Foundation")]
879impl ::core::clone::Clone for KERB_ADD_CREDENTIALS_REQUEST {
880 fn clone(&self) -> Self {
881 *self
882 }
883}
884#[repr(C)]
885#[cfg(feature = "Win32_Foundation")]
886pub struct KERB_ADD_CREDENTIALS_REQUEST_EX {
887 pub Credentials: KERB_ADD_CREDENTIALS_REQUEST,
888 pub PrincipalNameCount: u32,
889 pub PrincipalNames: [super::super::super::Foundation::UNICODE_STRING; 1],
890}
891#[cfg(feature = "Win32_Foundation")]
892impl ::core::marker::Copy for KERB_ADD_CREDENTIALS_REQUEST_EX {}
893#[cfg(feature = "Win32_Foundation")]
894impl ::core::clone::Clone for KERB_ADD_CREDENTIALS_REQUEST_EX {
895 fn clone(&self) -> Self {
896 *self
897 }
898}
899#[repr(C)]
900pub struct KERB_AUTH_DATA {
901 pub Type: u32,
902 pub Length: u32,
903 pub Data: *mut u8,
904}
905impl ::core::marker::Copy for KERB_AUTH_DATA {}
906impl ::core::clone::Clone for KERB_AUTH_DATA {
907 fn clone(&self) -> Self {
908 *self
909 }
910}
911#[repr(C)]
912#[cfg(feature = "Win32_Foundation")]
913pub struct KERB_BINDING_CACHE_ENTRY_DATA {
914 pub DiscoveryTime: u64,
915 pub RealmName: super::super::super::Foundation::UNICODE_STRING,
916 pub KdcAddress: super::super::super::Foundation::UNICODE_STRING,
917 pub AddressType: KERB_ADDRESS_TYPE,
918 pub Flags: u32,
919 pub DcFlags: u32,
920 pub CacheFlags: u32,
921 pub KdcName: super::super::super::Foundation::UNICODE_STRING,
922}
923#[cfg(feature = "Win32_Foundation")]
924impl ::core::marker::Copy for KERB_BINDING_CACHE_ENTRY_DATA {}
925#[cfg(feature = "Win32_Foundation")]
926impl ::core::clone::Clone for KERB_BINDING_CACHE_ENTRY_DATA {
927 fn clone(&self) -> Self {
928 *self
929 }
930}
931#[repr(C)]
932pub struct KERB_CERTIFICATE_HASHINFO {
933 pub StoreNameLength: u16,
934 pub HashLength: u16,
935}
936impl ::core::marker::Copy for KERB_CERTIFICATE_HASHINFO {}
937impl ::core::clone::Clone for KERB_CERTIFICATE_HASHINFO {
938 fn clone(&self) -> Self {
939 *self
940 }
941}
942#[repr(C)]
943pub struct KERB_CERTIFICATE_INFO {
944 pub CertInfoSize: u32,
945 pub InfoType: u32,
946}
947impl ::core::marker::Copy for KERB_CERTIFICATE_INFO {}
948impl ::core::clone::Clone for KERB_CERTIFICATE_INFO {
949 fn clone(&self) -> Self {
950 *self
951 }
952}
953pub type KERB_CERTIFICATE_INFO_TYPE = i32;
954pub const CertHashInfo: KERB_CERTIFICATE_INFO_TYPE = 1i32;
955#[repr(C)]
956#[cfg(feature = "Win32_Foundation")]
957pub struct KERB_CERTIFICATE_LOGON {
958 pub MessageType: KERB_LOGON_SUBMIT_TYPE,
959 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
960 pub UserName: super::super::super::Foundation::UNICODE_STRING,
961 pub Pin: super::super::super::Foundation::UNICODE_STRING,
962 pub Flags: u32,
963 pub CspDataLength: u32,
964 pub CspData: *mut u8,
965}
966#[cfg(feature = "Win32_Foundation")]
967impl ::core::marker::Copy for KERB_CERTIFICATE_LOGON {}
968#[cfg(feature = "Win32_Foundation")]
969impl ::core::clone::Clone for KERB_CERTIFICATE_LOGON {
970 fn clone(&self) -> Self {
971 *self
972 }
973}
974pub const KERB_CERTIFICATE_LOGON_FLAG_CHECK_DUPLICATES: u32 = 1u32;
975pub const KERB_CERTIFICATE_LOGON_FLAG_USE_CERTIFICATE_INFO: u32 = 2u32;
976#[repr(C)]
977#[cfg(feature = "Win32_Foundation")]
978pub struct KERB_CERTIFICATE_S4U_LOGON {
979 pub MessageType: KERB_LOGON_SUBMIT_TYPE,
980 pub Flags: u32,
981 pub UserPrincipalName: super::super::super::Foundation::UNICODE_STRING,
982 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
983 pub CertificateLength: u32,
984 pub Certificate: *mut u8,
985}
986#[cfg(feature = "Win32_Foundation")]
987impl ::core::marker::Copy for KERB_CERTIFICATE_S4U_LOGON {}
988#[cfg(feature = "Win32_Foundation")]
989impl ::core::clone::Clone for KERB_CERTIFICATE_S4U_LOGON {
990 fn clone(&self) -> Self {
991 *self
992 }
993}
994pub const KERB_CERTIFICATE_S4U_LOGON_FLAG_CHECK_DUPLICATES: u32 = 1u32;
995pub const KERB_CERTIFICATE_S4U_LOGON_FLAG_CHECK_LOGONHOURS: u32 = 2u32;
996pub const KERB_CERTIFICATE_S4U_LOGON_FLAG_FAIL_IF_NT_AUTH_POLICY_REQUIRED: u32 = 4u32;
997pub const KERB_CERTIFICATE_S4U_LOGON_FLAG_IDENTIFY: u32 = 8u32;
998#[repr(C)]
999#[cfg(feature = "Win32_Foundation")]
1000pub struct KERB_CERTIFICATE_UNLOCK_LOGON {
1001 pub Logon: KERB_CERTIFICATE_LOGON,
1002 pub LogonId: super::super::super::Foundation::LUID,
1003}
1004#[cfg(feature = "Win32_Foundation")]
1005impl ::core::marker::Copy for KERB_CERTIFICATE_UNLOCK_LOGON {}
1006#[cfg(feature = "Win32_Foundation")]
1007impl ::core::clone::Clone for KERB_CERTIFICATE_UNLOCK_LOGON {
1008 fn clone(&self) -> Self {
1009 *self
1010 }
1011}
1012#[repr(C)]
1013#[cfg(feature = "Win32_Foundation")]
1014pub struct KERB_CHANGEPASSWORD_REQUEST {
1015 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1016 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
1017 pub AccountName: super::super::super::Foundation::UNICODE_STRING,
1018 pub OldPassword: super::super::super::Foundation::UNICODE_STRING,
1019 pub NewPassword: super::super::super::Foundation::UNICODE_STRING,
1020 pub Impersonating: super::super::super::Foundation::BOOLEAN,
1021}
1022#[cfg(feature = "Win32_Foundation")]
1023impl ::core::marker::Copy for KERB_CHANGEPASSWORD_REQUEST {}
1024#[cfg(feature = "Win32_Foundation")]
1025impl ::core::clone::Clone for KERB_CHANGEPASSWORD_REQUEST {
1026 fn clone(&self) -> Self {
1027 *self
1028 }
1029}
1030pub const KERB_CHECKSUM_CRC32: u32 = 1u32;
1031pub const KERB_CHECKSUM_DES_MAC: i32 = -133i32;
1032pub const KERB_CHECKSUM_DES_MAC_MD5: i32 = -134i32;
1033pub const KERB_CHECKSUM_HMAC_MD5: i32 = -138i32;
1034pub const KERB_CHECKSUM_HMAC_SHA1_96_AES128: u32 = 15u32;
1035pub const KERB_CHECKSUM_HMAC_SHA1_96_AES128_Ki: i32 = -150i32;
1036pub const KERB_CHECKSUM_HMAC_SHA1_96_AES256: u32 = 16u32;
1037pub const KERB_CHECKSUM_HMAC_SHA1_96_AES256_Ki: i32 = -151i32;
1038pub const KERB_CHECKSUM_KRB_DES_MAC: u32 = 4u32;
1039pub const KERB_CHECKSUM_KRB_DES_MAC_K: u32 = 5u32;
1040pub const KERB_CHECKSUM_LM: i32 = -130i32;
1041pub const KERB_CHECKSUM_MD25: i32 = -135i32;
1042pub const KERB_CHECKSUM_MD4: u32 = 2u32;
1043pub const KERB_CHECKSUM_MD5: u32 = 7u32;
1044pub const KERB_CHECKSUM_MD5_DES: u32 = 8u32;
1045pub const KERB_CHECKSUM_MD5_HMAC: i32 = -137i32;
1046pub const KERB_CHECKSUM_NONE: u32 = 0u32;
1047pub const KERB_CHECKSUM_RC4_MD5: i32 = -136i32;
1048pub const KERB_CHECKSUM_REAL_CRC32: i32 = -132i32;
1049pub const KERB_CHECKSUM_SHA1: i32 = -131i32;
1050pub const KERB_CHECKSUM_SHA1_NEW: u32 = 14u32;
1051#[repr(C)]
1052#[cfg(feature = "Win32_Foundation")]
1053pub struct KERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST {
1054 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1055 pub LogonId: super::super::super::Foundation::LUID,
1056}
1057#[cfg(feature = "Win32_Foundation")]
1058impl ::core::marker::Copy for KERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST {}
1059#[cfg(feature = "Win32_Foundation")]
1060impl ::core::clone::Clone for KERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST {
1061 fn clone(&self) -> Self {
1062 *self
1063 }
1064}
1065#[repr(C)]
1066pub struct KERB_CLOUD_KERBEROS_DEBUG_DATA_V0 {
1067 pub _bitfield: i32,
1068}
1069impl ::core::marker::Copy for KERB_CLOUD_KERBEROS_DEBUG_DATA_V0 {}
1070impl ::core::clone::Clone for KERB_CLOUD_KERBEROS_DEBUG_DATA_V0 {
1071 fn clone(&self) -> Self {
1072 *self
1073 }
1074}
1075pub const KERB_CLOUD_KERBEROS_DEBUG_DATA_VERSION: u32 = 0u32;
1076#[repr(C)]
1077#[cfg(feature = "Win32_Foundation")]
1078pub struct KERB_CLOUD_KERBEROS_DEBUG_REQUEST {
1079 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1080 pub LogonId: super::super::super::Foundation::LUID,
1081}
1082#[cfg(feature = "Win32_Foundation")]
1083impl ::core::marker::Copy for KERB_CLOUD_KERBEROS_DEBUG_REQUEST {}
1084#[cfg(feature = "Win32_Foundation")]
1085impl ::core::clone::Clone for KERB_CLOUD_KERBEROS_DEBUG_REQUEST {
1086 fn clone(&self) -> Self {
1087 *self
1088 }
1089}
1090#[repr(C)]
1091pub struct KERB_CLOUD_KERBEROS_DEBUG_RESPONSE {
1092 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1093 pub Version: u32,
1094 pub Length: u32,
1095 pub Data: [u32; 1],
1096}
1097impl ::core::marker::Copy for KERB_CLOUD_KERBEROS_DEBUG_RESPONSE {}
1098impl ::core::clone::Clone for KERB_CLOUD_KERBEROS_DEBUG_RESPONSE {
1099 fn clone(&self) -> Self {
1100 *self
1101 }
1102}
1103#[repr(C)]
1104pub struct KERB_CRYPTO_KEY {
1105 pub KeyType: KERB_CRYPTO_KEY_TYPE,
1106 pub Length: u32,
1107 pub Value: *mut u8,
1108}
1109impl ::core::marker::Copy for KERB_CRYPTO_KEY {}
1110impl ::core::clone::Clone for KERB_CRYPTO_KEY {
1111 fn clone(&self) -> Self {
1112 *self
1113 }
1114}
1115#[repr(C)]
1116pub struct KERB_CRYPTO_KEY32 {
1117 pub KeyType: i32,
1118 pub Length: u32,
1119 pub Offset: u32,
1120}
1121impl ::core::marker::Copy for KERB_CRYPTO_KEY32 {}
1122impl ::core::clone::Clone for KERB_CRYPTO_KEY32 {
1123 fn clone(&self) -> Self {
1124 *self
1125 }
1126}
1127pub type KERB_CRYPTO_KEY_TYPE = i32;
1128pub const KERB_ETYPE_DES_CBC_CRC: KERB_CRYPTO_KEY_TYPE = 1i32;
1129pub const KERB_ETYPE_DES_CBC_MD4: KERB_CRYPTO_KEY_TYPE = 2i32;
1130pub const KERB_ETYPE_DES_CBC_MD5: KERB_CRYPTO_KEY_TYPE = 3i32;
1131pub const KERB_ETYPE_NULL: KERB_CRYPTO_KEY_TYPE = 0i32;
1132pub const KERB_ETYPE_RC4_HMAC_NT: KERB_CRYPTO_KEY_TYPE = 23i32;
1133pub const KERB_ETYPE_RC4_MD4: KERB_CRYPTO_KEY_TYPE = -128i32;
1134pub const KERB_DECRYPT_FLAG_DEFAULT_KEY: u32 = 1u32;
1135#[repr(C)]
1136#[cfg(feature = "Win32_Foundation")]
1137pub struct KERB_DECRYPT_REQUEST {
1138 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1139 pub LogonId: super::super::super::Foundation::LUID,
1140 pub Flags: u32,
1141 pub CryptoType: i32,
1142 pub KeyUsage: i32,
1143 pub Key: KERB_CRYPTO_KEY,
1144 pub EncryptedDataSize: u32,
1145 pub InitialVectorSize: u32,
1146 pub InitialVector: *mut u8,
1147 pub EncryptedData: *mut u8,
1148}
1149#[cfg(feature = "Win32_Foundation")]
1150impl ::core::marker::Copy for KERB_DECRYPT_REQUEST {}
1151#[cfg(feature = "Win32_Foundation")]
1152impl ::core::clone::Clone for KERB_DECRYPT_REQUEST {
1153 fn clone(&self) -> Self {
1154 *self
1155 }
1156}
1157#[repr(C)]
1158pub struct KERB_DECRYPT_RESPONSE {
1159 pub DecryptedData: [u8; 1],
1160}
1161impl ::core::marker::Copy for KERB_DECRYPT_RESPONSE {}
1162impl ::core::clone::Clone for KERB_DECRYPT_RESPONSE {
1163 fn clone(&self) -> Self {
1164 *self
1165 }
1166}
1167pub const KERB_ETYPE_AES128_CTS_HMAC_SHA1_96: u32 = 17u32;
1168pub const KERB_ETYPE_AES128_CTS_HMAC_SHA1_96_PLAIN: i32 = -148i32;
1169pub const KERB_ETYPE_AES256_CTS_HMAC_SHA1_96: u32 = 18u32;
1170pub const KERB_ETYPE_AES256_CTS_HMAC_SHA1_96_PLAIN: i32 = -149i32;
1171pub const KERB_ETYPE_DEFAULT: u32 = 0u32;
1172pub const KERB_ETYPE_DES3_CBC_MD5: u32 = 5u32;
1173pub const KERB_ETYPE_DES3_CBC_SHA1: u32 = 7u32;
1174pub const KERB_ETYPE_DES3_CBC_SHA1_KD: u32 = 16u32;
1175pub const KERB_ETYPE_DES_CBC_MD5_NT: u32 = 20u32;
1176pub const KERB_ETYPE_DES_EDE3_CBC_ENV: u32 = 15u32;
1177pub const KERB_ETYPE_DES_PLAIN: i32 = -132i32;
1178pub const KERB_ETYPE_DSA_SHA1_CMS: u32 = 9u32;
1179pub const KERB_ETYPE_DSA_SIGN: u32 = 8u32;
1180pub const KERB_ETYPE_PKCS7_PUB: u32 = 13u32;
1181pub const KERB_ETYPE_RC2_CBC_ENV: u32 = 12u32;
1182pub const KERB_ETYPE_RC4_HMAC_NT_EXP: u32 = 24u32;
1183pub const KERB_ETYPE_RC4_HMAC_OLD: i32 = -133i32;
1184pub const KERB_ETYPE_RC4_HMAC_OLD_EXP: i32 = -135i32;
1185pub const KERB_ETYPE_RC4_LM: i32 = -130i32;
1186pub const KERB_ETYPE_RC4_PLAIN: i32 = -140i32;
1187pub const KERB_ETYPE_RC4_PLAIN2: i32 = -129i32;
1188pub const KERB_ETYPE_RC4_PLAIN_EXP: i32 = -141i32;
1189pub const KERB_ETYPE_RC4_PLAIN_OLD: i32 = -134i32;
1190pub const KERB_ETYPE_RC4_PLAIN_OLD_EXP: i32 = -136i32;
1191pub const KERB_ETYPE_RC4_SHA: i32 = -131i32;
1192pub const KERB_ETYPE_RSA_ENV: u32 = 13u32;
1193pub const KERB_ETYPE_RSA_ES_OEAP_ENV: u32 = 14u32;
1194pub const KERB_ETYPE_RSA_MD5_CMS: u32 = 10u32;
1195pub const KERB_ETYPE_RSA_PRIV: u32 = 9u32;
1196pub const KERB_ETYPE_RSA_PUB: u32 = 10u32;
1197pub const KERB_ETYPE_RSA_PUB_MD5: u32 = 11u32;
1198pub const KERB_ETYPE_RSA_PUB_SHA1: u32 = 12u32;
1199pub const KERB_ETYPE_RSA_SHA1_CMS: u32 = 11u32;
1200#[repr(C)]
1201#[cfg(feature = "Win32_Foundation")]
1202pub struct KERB_EXTERNAL_NAME {
1203 pub NameType: i16,
1204 pub NameCount: u16,
1205 pub Names: [super::super::super::Foundation::UNICODE_STRING; 1],
1206}
1207#[cfg(feature = "Win32_Foundation")]
1208impl ::core::marker::Copy for KERB_EXTERNAL_NAME {}
1209#[cfg(feature = "Win32_Foundation")]
1210impl ::core::clone::Clone for KERB_EXTERNAL_NAME {
1211 fn clone(&self) -> Self {
1212 *self
1213 }
1214}
1215#[repr(C)]
1216#[cfg(feature = "Win32_Foundation")]
1217pub struct KERB_EXTERNAL_TICKET {
1218 pub ServiceName: *mut KERB_EXTERNAL_NAME,
1219 pub TargetName: *mut KERB_EXTERNAL_NAME,
1220 pub ClientName: *mut KERB_EXTERNAL_NAME,
1221 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
1222 pub TargetDomainName: super::super::super::Foundation::UNICODE_STRING,
1223 pub AltTargetDomainName: super::super::super::Foundation::UNICODE_STRING,
1224 pub SessionKey: KERB_CRYPTO_KEY,
1225 pub TicketFlags: KERB_TICKET_FLAGS,
1226 pub Flags: u32,
1227 pub KeyExpirationTime: i64,
1228 pub StartTime: i64,
1229 pub EndTime: i64,
1230 pub RenewUntil: i64,
1231 pub TimeSkew: i64,
1232 pub EncodedTicketSize: u32,
1233 pub EncodedTicket: *mut u8,
1234}
1235#[cfg(feature = "Win32_Foundation")]
1236impl ::core::marker::Copy for KERB_EXTERNAL_TICKET {}
1237#[cfg(feature = "Win32_Foundation")]
1238impl ::core::clone::Clone for KERB_EXTERNAL_TICKET {
1239 fn clone(&self) -> Self {
1240 *self
1241 }
1242}
1243#[repr(C)]
1244#[cfg(feature = "Win32_Foundation")]
1245pub struct KERB_INTERACTIVE_LOGON {
1246 pub MessageType: KERB_LOGON_SUBMIT_TYPE,
1247 pub LogonDomainName: super::super::super::Foundation::UNICODE_STRING,
1248 pub UserName: super::super::super::Foundation::UNICODE_STRING,
1249 pub Password: super::super::super::Foundation::UNICODE_STRING,
1250}
1251#[cfg(feature = "Win32_Foundation")]
1252impl ::core::marker::Copy for KERB_INTERACTIVE_LOGON {}
1253#[cfg(feature = "Win32_Foundation")]
1254impl ::core::clone::Clone for KERB_INTERACTIVE_LOGON {
1255 fn clone(&self) -> Self {
1256 *self
1257 }
1258}
1259#[repr(C)]
1260#[cfg(feature = "Win32_Foundation")]
1261pub struct KERB_INTERACTIVE_PROFILE {
1262 pub MessageType: KERB_PROFILE_BUFFER_TYPE,
1263 pub LogonCount: u16,
1264 pub BadPasswordCount: u16,
1265 pub LogonTime: i64,
1266 pub LogoffTime: i64,
1267 pub KickOffTime: i64,
1268 pub PasswordLastSet: i64,
1269 pub PasswordCanChange: i64,
1270 pub PasswordMustChange: i64,
1271 pub LogonScript: super::super::super::Foundation::UNICODE_STRING,
1272 pub HomeDirectory: super::super::super::Foundation::UNICODE_STRING,
1273 pub FullName: super::super::super::Foundation::UNICODE_STRING,
1274 pub ProfilePath: super::super::super::Foundation::UNICODE_STRING,
1275 pub HomeDirectoryDrive: super::super::super::Foundation::UNICODE_STRING,
1276 pub LogonServer: super::super::super::Foundation::UNICODE_STRING,
1277 pub UserFlags: u32,
1278}
1279#[cfg(feature = "Win32_Foundation")]
1280impl ::core::marker::Copy for KERB_INTERACTIVE_PROFILE {}
1281#[cfg(feature = "Win32_Foundation")]
1282impl ::core::clone::Clone for KERB_INTERACTIVE_PROFILE {
1283 fn clone(&self) -> Self {
1284 *self
1285 }
1286}
1287#[repr(C)]
1288#[cfg(feature = "Win32_Foundation")]
1289pub struct KERB_INTERACTIVE_UNLOCK_LOGON {
1290 pub Logon: KERB_INTERACTIVE_LOGON,
1291 pub LogonId: super::super::super::Foundation::LUID,
1292}
1293#[cfg(feature = "Win32_Foundation")]
1294impl ::core::marker::Copy for KERB_INTERACTIVE_UNLOCK_LOGON {}
1295#[cfg(feature = "Win32_Foundation")]
1296impl ::core::clone::Clone for KERB_INTERACTIVE_UNLOCK_LOGON {
1297 fn clone(&self) -> Self {
1298 *self
1299 }
1300}
1301pub const KERB_LOGON_FLAG_ALLOW_EXPIRED_TICKET: u32 = 1u32;
1302pub const KERB_LOGON_FLAG_REDIRECTED: u32 = 2u32;
1303pub type KERB_LOGON_SUBMIT_TYPE = i32;
1304pub const KerbInteractiveLogon: KERB_LOGON_SUBMIT_TYPE = 2i32;
1305pub const KerbSmartCardLogon: KERB_LOGON_SUBMIT_TYPE = 6i32;
1306pub const KerbWorkstationUnlockLogon: KERB_LOGON_SUBMIT_TYPE = 7i32;
1307pub const KerbSmartCardUnlockLogon: KERB_LOGON_SUBMIT_TYPE = 8i32;
1308pub const KerbProxyLogon: KERB_LOGON_SUBMIT_TYPE = 9i32;
1309pub const KerbTicketLogon: KERB_LOGON_SUBMIT_TYPE = 10i32;
1310pub const KerbTicketUnlockLogon: KERB_LOGON_SUBMIT_TYPE = 11i32;
1311pub const KerbS4ULogon: KERB_LOGON_SUBMIT_TYPE = 12i32;
1312pub const KerbCertificateLogon: KERB_LOGON_SUBMIT_TYPE = 13i32;
1313pub const KerbCertificateS4ULogon: KERB_LOGON_SUBMIT_TYPE = 14i32;
1314pub const KerbCertificateUnlockLogon: KERB_LOGON_SUBMIT_TYPE = 15i32;
1315pub const KerbNoElevationLogon: KERB_LOGON_SUBMIT_TYPE = 83i32;
1316pub const KerbLuidLogon: KERB_LOGON_SUBMIT_TYPE = 84i32;
1317#[repr(C)]
1318#[cfg(feature = "Win32_Foundation")]
1319pub struct KERB_NET_ADDRESS {
1320 pub Family: u32,
1321 pub Length: u32,
1322 pub Address: super::super::super::Foundation::PSTR,
1323}
1324#[cfg(feature = "Win32_Foundation")]
1325impl ::core::marker::Copy for KERB_NET_ADDRESS {}
1326#[cfg(feature = "Win32_Foundation")]
1327impl ::core::clone::Clone for KERB_NET_ADDRESS {
1328 fn clone(&self) -> Self {
1329 *self
1330 }
1331}
1332#[repr(C)]
1333#[cfg(feature = "Win32_Foundation")]
1334pub struct KERB_NET_ADDRESSES {
1335 pub Number: u32,
1336 pub Addresses: [KERB_NET_ADDRESS; 1],
1337}
1338#[cfg(feature = "Win32_Foundation")]
1339impl ::core::marker::Copy for KERB_NET_ADDRESSES {}
1340#[cfg(feature = "Win32_Foundation")]
1341impl ::core::clone::Clone for KERB_NET_ADDRESSES {
1342 fn clone(&self) -> Self {
1343 *self
1344 }
1345}
1346pub type KERB_PROFILE_BUFFER_TYPE = i32;
1347pub const KerbInteractiveProfile: KERB_PROFILE_BUFFER_TYPE = 2i32;
1348pub const KerbSmartCardProfile: KERB_PROFILE_BUFFER_TYPE = 4i32;
1349pub const KerbTicketProfile: KERB_PROFILE_BUFFER_TYPE = 6i32;
1350pub type KERB_PROTOCOL_MESSAGE_TYPE = i32;
1351pub const KerbDebugRequestMessage: KERB_PROTOCOL_MESSAGE_TYPE = 0i32;
1352pub const KerbQueryTicketCacheMessage: KERB_PROTOCOL_MESSAGE_TYPE = 1i32;
1353pub const KerbChangeMachinePasswordMessage: KERB_PROTOCOL_MESSAGE_TYPE = 2i32;
1354pub const KerbVerifyPacMessage: KERB_PROTOCOL_MESSAGE_TYPE = 3i32;
1355pub const KerbRetrieveTicketMessage: KERB_PROTOCOL_MESSAGE_TYPE = 4i32;
1356pub const KerbUpdateAddressesMessage: KERB_PROTOCOL_MESSAGE_TYPE = 5i32;
1357pub const KerbPurgeTicketCacheMessage: KERB_PROTOCOL_MESSAGE_TYPE = 6i32;
1358pub const KerbChangePasswordMessage: KERB_PROTOCOL_MESSAGE_TYPE = 7i32;
1359pub const KerbRetrieveEncodedTicketMessage: KERB_PROTOCOL_MESSAGE_TYPE = 8i32;
1360pub const KerbDecryptDataMessage: KERB_PROTOCOL_MESSAGE_TYPE = 9i32;
1361pub const KerbAddBindingCacheEntryMessage: KERB_PROTOCOL_MESSAGE_TYPE = 10i32;
1362pub const KerbSetPasswordMessage: KERB_PROTOCOL_MESSAGE_TYPE = 11i32;
1363pub const KerbSetPasswordExMessage: KERB_PROTOCOL_MESSAGE_TYPE = 12i32;
1364pub const KerbVerifyCredentialsMessage: KERB_PROTOCOL_MESSAGE_TYPE = 13i32;
1365pub const KerbQueryTicketCacheExMessage: KERB_PROTOCOL_MESSAGE_TYPE = 14i32;
1366pub const KerbPurgeTicketCacheExMessage: KERB_PROTOCOL_MESSAGE_TYPE = 15i32;
1367pub const KerbRefreshSmartcardCredentialsMessage: KERB_PROTOCOL_MESSAGE_TYPE = 16i32;
1368pub const KerbAddExtraCredentialsMessage: KERB_PROTOCOL_MESSAGE_TYPE = 17i32;
1369pub const KerbQuerySupplementalCredentialsMessage: KERB_PROTOCOL_MESSAGE_TYPE = 18i32;
1370pub const KerbTransferCredentialsMessage: KERB_PROTOCOL_MESSAGE_TYPE = 19i32;
1371pub const KerbQueryTicketCacheEx2Message: KERB_PROTOCOL_MESSAGE_TYPE = 20i32;
1372pub const KerbSubmitTicketMessage: KERB_PROTOCOL_MESSAGE_TYPE = 21i32;
1373pub const KerbAddExtraCredentialsExMessage: KERB_PROTOCOL_MESSAGE_TYPE = 22i32;
1374pub const KerbQueryKdcProxyCacheMessage: KERB_PROTOCOL_MESSAGE_TYPE = 23i32;
1375pub const KerbPurgeKdcProxyCacheMessage: KERB_PROTOCOL_MESSAGE_TYPE = 24i32;
1376pub const KerbQueryTicketCacheEx3Message: KERB_PROTOCOL_MESSAGE_TYPE = 25i32;
1377pub const KerbCleanupMachinePkinitCredsMessage: KERB_PROTOCOL_MESSAGE_TYPE = 26i32;
1378pub const KerbAddBindingCacheEntryExMessage: KERB_PROTOCOL_MESSAGE_TYPE = 27i32;
1379pub const KerbQueryBindingCacheMessage: KERB_PROTOCOL_MESSAGE_TYPE = 28i32;
1380pub const KerbPurgeBindingCacheMessage: KERB_PROTOCOL_MESSAGE_TYPE = 29i32;
1381pub const KerbPinKdcMessage: KERB_PROTOCOL_MESSAGE_TYPE = 30i32;
1382pub const KerbUnpinAllKdcsMessage: KERB_PROTOCOL_MESSAGE_TYPE = 31i32;
1383pub const KerbQueryDomainExtendedPoliciesMessage: KERB_PROTOCOL_MESSAGE_TYPE = 32i32;
1384pub const KerbQueryS4U2ProxyCacheMessage: KERB_PROTOCOL_MESSAGE_TYPE = 33i32;
1385pub const KerbRetrieveKeyTabMessage: KERB_PROTOCOL_MESSAGE_TYPE = 34i32;
1386pub const KerbRefreshPolicyMessage: KERB_PROTOCOL_MESSAGE_TYPE = 35i32;
1387pub const KerbPrintCloudKerberosDebugMessage: KERB_PROTOCOL_MESSAGE_TYPE = 36i32;
1388pub const KERB_PURGE_ALL_TICKETS: u32 = 1u32;
1389#[repr(C)]
1390pub struct KERB_PURGE_BINDING_CACHE_REQUEST {
1391 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1392}
1393impl ::core::marker::Copy for KERB_PURGE_BINDING_CACHE_REQUEST {}
1394impl ::core::clone::Clone for KERB_PURGE_BINDING_CACHE_REQUEST {
1395 fn clone(&self) -> Self {
1396 *self
1397 }
1398}
1399#[repr(C)]
1400#[cfg(feature = "Win32_Foundation")]
1401pub struct KERB_PURGE_KDC_PROXY_CACHE_REQUEST {
1402 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1403 pub Flags: u32,
1404 pub LogonId: super::super::super::Foundation::LUID,
1405}
1406#[cfg(feature = "Win32_Foundation")]
1407impl ::core::marker::Copy for KERB_PURGE_KDC_PROXY_CACHE_REQUEST {}
1408#[cfg(feature = "Win32_Foundation")]
1409impl ::core::clone::Clone for KERB_PURGE_KDC_PROXY_CACHE_REQUEST {
1410 fn clone(&self) -> Self {
1411 *self
1412 }
1413}
1414#[repr(C)]
1415pub struct KERB_PURGE_KDC_PROXY_CACHE_RESPONSE {
1416 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1417 pub CountOfPurged: u32,
1418}
1419impl ::core::marker::Copy for KERB_PURGE_KDC_PROXY_CACHE_RESPONSE {}
1420impl ::core::clone::Clone for KERB_PURGE_KDC_PROXY_CACHE_RESPONSE {
1421 fn clone(&self) -> Self {
1422 *self
1423 }
1424}
1425#[repr(C)]
1426#[cfg(feature = "Win32_Foundation")]
1427pub struct KERB_PURGE_TKT_CACHE_EX_REQUEST {
1428 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1429 pub LogonId: super::super::super::Foundation::LUID,
1430 pub Flags: u32,
1431 pub TicketTemplate: KERB_TICKET_CACHE_INFO_EX,
1432}
1433#[cfg(feature = "Win32_Foundation")]
1434impl ::core::marker::Copy for KERB_PURGE_TKT_CACHE_EX_REQUEST {}
1435#[cfg(feature = "Win32_Foundation")]
1436impl ::core::clone::Clone for KERB_PURGE_TKT_CACHE_EX_REQUEST {
1437 fn clone(&self) -> Self {
1438 *self
1439 }
1440}
1441#[repr(C)]
1442#[cfg(feature = "Win32_Foundation")]
1443pub struct KERB_PURGE_TKT_CACHE_REQUEST {
1444 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1445 pub LogonId: super::super::super::Foundation::LUID,
1446 pub ServerName: super::super::super::Foundation::UNICODE_STRING,
1447 pub RealmName: super::super::super::Foundation::UNICODE_STRING,
1448}
1449#[cfg(feature = "Win32_Foundation")]
1450impl ::core::marker::Copy for KERB_PURGE_TKT_CACHE_REQUEST {}
1451#[cfg(feature = "Win32_Foundation")]
1452impl ::core::clone::Clone for KERB_PURGE_TKT_CACHE_REQUEST {
1453 fn clone(&self) -> Self {
1454 *self
1455 }
1456}
1457#[repr(C)]
1458pub struct KERB_QUERY_BINDING_CACHE_REQUEST {
1459 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1460}
1461impl ::core::marker::Copy for KERB_QUERY_BINDING_CACHE_REQUEST {}
1462impl ::core::clone::Clone for KERB_QUERY_BINDING_CACHE_REQUEST {
1463 fn clone(&self) -> Self {
1464 *self
1465 }
1466}
1467#[repr(C)]
1468#[cfg(feature = "Win32_Foundation")]
1469pub struct KERB_QUERY_BINDING_CACHE_RESPONSE {
1470 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1471 pub CountOfEntries: u32,
1472 pub Entries: *mut KERB_BINDING_CACHE_ENTRY_DATA,
1473}
1474#[cfg(feature = "Win32_Foundation")]
1475impl ::core::marker::Copy for KERB_QUERY_BINDING_CACHE_RESPONSE {}
1476#[cfg(feature = "Win32_Foundation")]
1477impl ::core::clone::Clone for KERB_QUERY_BINDING_CACHE_RESPONSE {
1478 fn clone(&self) -> Self {
1479 *self
1480 }
1481}
1482#[repr(C)]
1483#[cfg(feature = "Win32_Foundation")]
1484pub struct KERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST {
1485 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1486 pub Flags: u32,
1487 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
1488}
1489#[cfg(feature = "Win32_Foundation")]
1490impl ::core::marker::Copy for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST {}
1491#[cfg(feature = "Win32_Foundation")]
1492impl ::core::clone::Clone for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST {
1493 fn clone(&self) -> Self {
1494 *self
1495 }
1496}
1497#[repr(C)]
1498pub struct KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE {
1499 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1500 pub Flags: u32,
1501 pub ExtendedPolicies: u32,
1502 pub DsFlags: u32,
1503}
1504impl ::core::marker::Copy for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE {}
1505impl ::core::clone::Clone for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE {
1506 fn clone(&self) -> Self {
1507 *self
1508 }
1509}
1510pub const KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE_FLAG_DAC_DISABLED: u32 = 1u32;
1511#[repr(C)]
1512#[cfg(feature = "Win32_Foundation")]
1513pub struct KERB_QUERY_KDC_PROXY_CACHE_REQUEST {
1514 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1515 pub Flags: u32,
1516 pub LogonId: super::super::super::Foundation::LUID,
1517}
1518#[cfg(feature = "Win32_Foundation")]
1519impl ::core::marker::Copy for KERB_QUERY_KDC_PROXY_CACHE_REQUEST {}
1520#[cfg(feature = "Win32_Foundation")]
1521impl ::core::clone::Clone for KERB_QUERY_KDC_PROXY_CACHE_REQUEST {
1522 fn clone(&self) -> Self {
1523 *self
1524 }
1525}
1526#[repr(C)]
1527#[cfg(feature = "Win32_Foundation")]
1528pub struct KERB_QUERY_KDC_PROXY_CACHE_RESPONSE {
1529 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1530 pub CountOfEntries: u32,
1531 pub Entries: *mut KDC_PROXY_CACHE_ENTRY_DATA,
1532}
1533#[cfg(feature = "Win32_Foundation")]
1534impl ::core::marker::Copy for KERB_QUERY_KDC_PROXY_CACHE_RESPONSE {}
1535#[cfg(feature = "Win32_Foundation")]
1536impl ::core::clone::Clone for KERB_QUERY_KDC_PROXY_CACHE_RESPONSE {
1537 fn clone(&self) -> Self {
1538 *self
1539 }
1540}
1541#[repr(C)]
1542#[cfg(feature = "Win32_Foundation")]
1543pub struct KERB_QUERY_S4U2PROXY_CACHE_REQUEST {
1544 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1545 pub Flags: u32,
1546 pub LogonId: super::super::super::Foundation::LUID,
1547}
1548#[cfg(feature = "Win32_Foundation")]
1549impl ::core::marker::Copy for KERB_QUERY_S4U2PROXY_CACHE_REQUEST {}
1550#[cfg(feature = "Win32_Foundation")]
1551impl ::core::clone::Clone for KERB_QUERY_S4U2PROXY_CACHE_REQUEST {
1552 fn clone(&self) -> Self {
1553 *self
1554 }
1555}
1556#[repr(C)]
1557#[cfg(feature = "Win32_Foundation")]
1558pub struct KERB_QUERY_S4U2PROXY_CACHE_RESPONSE {
1559 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1560 pub CountOfCreds: u32,
1561 pub Creds: *mut KERB_S4U2PROXY_CRED,
1562}
1563#[cfg(feature = "Win32_Foundation")]
1564impl ::core::marker::Copy for KERB_QUERY_S4U2PROXY_CACHE_RESPONSE {}
1565#[cfg(feature = "Win32_Foundation")]
1566impl ::core::clone::Clone for KERB_QUERY_S4U2PROXY_CACHE_RESPONSE {
1567 fn clone(&self) -> Self {
1568 *self
1569 }
1570}
1571#[repr(C)]
1572#[cfg(feature = "Win32_Foundation")]
1573pub struct KERB_QUERY_TKT_CACHE_EX2_RESPONSE {
1574 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1575 pub CountOfTickets: u32,
1576 pub Tickets: [KERB_TICKET_CACHE_INFO_EX2; 1],
1577}
1578#[cfg(feature = "Win32_Foundation")]
1579impl ::core::marker::Copy for KERB_QUERY_TKT_CACHE_EX2_RESPONSE {}
1580#[cfg(feature = "Win32_Foundation")]
1581impl ::core::clone::Clone for KERB_QUERY_TKT_CACHE_EX2_RESPONSE {
1582 fn clone(&self) -> Self {
1583 *self
1584 }
1585}
1586#[repr(C)]
1587#[cfg(feature = "Win32_Foundation")]
1588pub struct KERB_QUERY_TKT_CACHE_EX3_RESPONSE {
1589 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1590 pub CountOfTickets: u32,
1591 pub Tickets: [KERB_TICKET_CACHE_INFO_EX3; 1],
1592}
1593#[cfg(feature = "Win32_Foundation")]
1594impl ::core::marker::Copy for KERB_QUERY_TKT_CACHE_EX3_RESPONSE {}
1595#[cfg(feature = "Win32_Foundation")]
1596impl ::core::clone::Clone for KERB_QUERY_TKT_CACHE_EX3_RESPONSE {
1597 fn clone(&self) -> Self {
1598 *self
1599 }
1600}
1601#[repr(C)]
1602#[cfg(feature = "Win32_Foundation")]
1603pub struct KERB_QUERY_TKT_CACHE_EX_RESPONSE {
1604 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1605 pub CountOfTickets: u32,
1606 pub Tickets: [KERB_TICKET_CACHE_INFO_EX; 1],
1607}
1608#[cfg(feature = "Win32_Foundation")]
1609impl ::core::marker::Copy for KERB_QUERY_TKT_CACHE_EX_RESPONSE {}
1610#[cfg(feature = "Win32_Foundation")]
1611impl ::core::clone::Clone for KERB_QUERY_TKT_CACHE_EX_RESPONSE {
1612 fn clone(&self) -> Self {
1613 *self
1614 }
1615}
1616#[repr(C)]
1617#[cfg(feature = "Win32_Foundation")]
1618pub struct KERB_QUERY_TKT_CACHE_REQUEST {
1619 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1620 pub LogonId: super::super::super::Foundation::LUID,
1621}
1622#[cfg(feature = "Win32_Foundation")]
1623impl ::core::marker::Copy for KERB_QUERY_TKT_CACHE_REQUEST {}
1624#[cfg(feature = "Win32_Foundation")]
1625impl ::core::clone::Clone for KERB_QUERY_TKT_CACHE_REQUEST {
1626 fn clone(&self) -> Self {
1627 *self
1628 }
1629}
1630#[repr(C)]
1631#[cfg(feature = "Win32_Foundation")]
1632pub struct KERB_QUERY_TKT_CACHE_RESPONSE {
1633 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1634 pub CountOfTickets: u32,
1635 pub Tickets: [KERB_TICKET_CACHE_INFO; 1],
1636}
1637#[cfg(feature = "Win32_Foundation")]
1638impl ::core::marker::Copy for KERB_QUERY_TKT_CACHE_RESPONSE {}
1639#[cfg(feature = "Win32_Foundation")]
1640impl ::core::clone::Clone for KERB_QUERY_TKT_CACHE_RESPONSE {
1641 fn clone(&self) -> Self {
1642 *self
1643 }
1644}
1645pub const KERB_REFRESH_POLICY_KDC: u32 = 2u32;
1646pub const KERB_REFRESH_POLICY_KERBEROS: u32 = 1u32;
1647#[repr(C)]
1648pub struct KERB_REFRESH_POLICY_REQUEST {
1649 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1650 pub Flags: u32,
1651}
1652impl ::core::marker::Copy for KERB_REFRESH_POLICY_REQUEST {}
1653impl ::core::clone::Clone for KERB_REFRESH_POLICY_REQUEST {
1654 fn clone(&self) -> Self {
1655 *self
1656 }
1657}
1658#[repr(C)]
1659pub struct KERB_REFRESH_POLICY_RESPONSE {
1660 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1661 pub Flags: u32,
1662}
1663impl ::core::marker::Copy for KERB_REFRESH_POLICY_RESPONSE {}
1664impl ::core::clone::Clone for KERB_REFRESH_POLICY_RESPONSE {
1665 fn clone(&self) -> Self {
1666 *self
1667 }
1668}
1669pub const KERB_REFRESH_SCCRED_GETTGT: u32 = 1u32;
1670pub const KERB_REFRESH_SCCRED_RELEASE: u32 = 0u32;
1671#[repr(C)]
1672#[cfg(feature = "Win32_Foundation")]
1673pub struct KERB_REFRESH_SCCRED_REQUEST {
1674 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1675 pub CredentialBlob: super::super::super::Foundation::UNICODE_STRING,
1676 pub LogonId: super::super::super::Foundation::LUID,
1677 pub Flags: u32,
1678}
1679#[cfg(feature = "Win32_Foundation")]
1680impl ::core::marker::Copy for KERB_REFRESH_SCCRED_REQUEST {}
1681#[cfg(feature = "Win32_Foundation")]
1682impl ::core::clone::Clone for KERB_REFRESH_SCCRED_REQUEST {
1683 fn clone(&self) -> Self {
1684 *self
1685 }
1686}
1687pub type KERB_REQUEST_FLAGS = u32;
1688pub const KERB_REQUEST_ADD_CREDENTIAL: KERB_REQUEST_FLAGS = 1u32;
1689pub const KERB_REQUEST_REPLACE_CREDENTIAL: KERB_REQUEST_FLAGS = 2u32;
1690pub const KERB_REQUEST_REMOVE_CREDENTIAL: KERB_REQUEST_FLAGS = 4u32;
1691#[repr(C)]
1692#[cfg(feature = "Win32_Foundation")]
1693pub struct KERB_RETRIEVE_KEY_TAB_REQUEST {
1694 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1695 pub Flags: u32,
1696 pub UserName: super::super::super::Foundation::UNICODE_STRING,
1697 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
1698 pub Password: super::super::super::Foundation::UNICODE_STRING,
1699}
1700#[cfg(feature = "Win32_Foundation")]
1701impl ::core::marker::Copy for KERB_RETRIEVE_KEY_TAB_REQUEST {}
1702#[cfg(feature = "Win32_Foundation")]
1703impl ::core::clone::Clone for KERB_RETRIEVE_KEY_TAB_REQUEST {
1704 fn clone(&self) -> Self {
1705 *self
1706 }
1707}
1708#[repr(C)]
1709pub struct KERB_RETRIEVE_KEY_TAB_RESPONSE {
1710 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1711 pub KeyTabLength: u32,
1712 pub KeyTab: *mut u8,
1713}
1714impl ::core::marker::Copy for KERB_RETRIEVE_KEY_TAB_RESPONSE {}
1715impl ::core::clone::Clone for KERB_RETRIEVE_KEY_TAB_RESPONSE {
1716 fn clone(&self) -> Self {
1717 *self
1718 }
1719}
1720pub const KERB_RETRIEVE_TICKET_AS_KERB_CRED: u32 = 8u32;
1721pub const KERB_RETRIEVE_TICKET_CACHE_TICKET: u32 = 32u32;
1722pub const KERB_RETRIEVE_TICKET_DEFAULT: u32 = 0u32;
1723pub const KERB_RETRIEVE_TICKET_DONT_USE_CACHE: u32 = 1u32;
1724pub const KERB_RETRIEVE_TICKET_MAX_LIFETIME: u32 = 64u32;
1725pub const KERB_RETRIEVE_TICKET_USE_CACHE_ONLY: u32 = 2u32;
1726pub const KERB_RETRIEVE_TICKET_USE_CREDHANDLE: u32 = 4u32;
1727pub const KERB_RETRIEVE_TICKET_WITH_SEC_CRED: u32 = 16u32;
1728#[repr(C)]
1729#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
1730pub struct KERB_RETRIEVE_TKT_REQUEST {
1731 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1732 pub LogonId: super::super::super::Foundation::LUID,
1733 pub TargetName: super::super::super::Foundation::UNICODE_STRING,
1734 pub TicketFlags: u32,
1735 pub CacheOptions: u32,
1736 pub EncryptionType: KERB_CRYPTO_KEY_TYPE,
1737 pub CredentialsHandle: super::super::Credentials::SecHandle,
1738}
1739#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
1740impl ::core::marker::Copy for KERB_RETRIEVE_TKT_REQUEST {}
1741#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
1742impl ::core::clone::Clone for KERB_RETRIEVE_TKT_REQUEST {
1743 fn clone(&self) -> Self {
1744 *self
1745 }
1746}
1747#[repr(C)]
1748#[cfg(feature = "Win32_Foundation")]
1749pub struct KERB_RETRIEVE_TKT_RESPONSE {
1750 pub Ticket: KERB_EXTERNAL_TICKET,
1751}
1752#[cfg(feature = "Win32_Foundation")]
1753impl ::core::marker::Copy for KERB_RETRIEVE_TKT_RESPONSE {}
1754#[cfg(feature = "Win32_Foundation")]
1755impl ::core::clone::Clone for KERB_RETRIEVE_TKT_RESPONSE {
1756 fn clone(&self) -> Self {
1757 *self
1758 }
1759}
1760#[repr(C)]
1761#[cfg(feature = "Win32_Foundation")]
1762pub struct KERB_S4U2PROXY_CACHE_ENTRY_INFO {
1763 pub ServerName: super::super::super::Foundation::UNICODE_STRING,
1764 pub Flags: u32,
1765 pub LastStatus: super::super::super::Foundation::NTSTATUS,
1766 pub Expiry: i64,
1767}
1768#[cfg(feature = "Win32_Foundation")]
1769impl ::core::marker::Copy for KERB_S4U2PROXY_CACHE_ENTRY_INFO {}
1770#[cfg(feature = "Win32_Foundation")]
1771impl ::core::clone::Clone for KERB_S4U2PROXY_CACHE_ENTRY_INFO {
1772 fn clone(&self) -> Self {
1773 *self
1774 }
1775}
1776pub const KERB_S4U2PROXY_CACHE_ENTRY_INFO_FLAG_NEGATIVE: u32 = 1u32;
1777#[repr(C)]
1778#[cfg(feature = "Win32_Foundation")]
1779pub struct KERB_S4U2PROXY_CRED {
1780 pub UserName: super::super::super::Foundation::UNICODE_STRING,
1781 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
1782 pub Flags: u32,
1783 pub LastStatus: super::super::super::Foundation::NTSTATUS,
1784 pub Expiry: i64,
1785 pub CountOfEntries: u32,
1786 pub Entries: *mut KERB_S4U2PROXY_CACHE_ENTRY_INFO,
1787}
1788#[cfg(feature = "Win32_Foundation")]
1789impl ::core::marker::Copy for KERB_S4U2PROXY_CRED {}
1790#[cfg(feature = "Win32_Foundation")]
1791impl ::core::clone::Clone for KERB_S4U2PROXY_CRED {
1792 fn clone(&self) -> Self {
1793 *self
1794 }
1795}
1796pub const KERB_S4U2PROXY_CRED_FLAG_NEGATIVE: u32 = 1u32;
1797#[repr(C)]
1798#[cfg(feature = "Win32_Foundation")]
1799pub struct KERB_S4U_LOGON {
1800 pub MessageType: KERB_LOGON_SUBMIT_TYPE,
1801 pub Flags: u32,
1802 pub ClientUpn: super::super::super::Foundation::UNICODE_STRING,
1803 pub ClientRealm: super::super::super::Foundation::UNICODE_STRING,
1804}
1805#[cfg(feature = "Win32_Foundation")]
1806impl ::core::marker::Copy for KERB_S4U_LOGON {}
1807#[cfg(feature = "Win32_Foundation")]
1808impl ::core::clone::Clone for KERB_S4U_LOGON {
1809 fn clone(&self) -> Self {
1810 *self
1811 }
1812}
1813pub const KERB_S4U_LOGON_FLAG_CHECK_LOGONHOURS: u32 = 2u32;
1814pub const KERB_S4U_LOGON_FLAG_IDENTIFY: u32 = 8u32;
1815#[repr(C)]
1816#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
1817pub struct KERB_SETPASSWORD_EX_REQUEST {
1818 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1819 pub LogonId: super::super::super::Foundation::LUID,
1820 pub CredentialsHandle: super::super::Credentials::SecHandle,
1821 pub Flags: u32,
1822 pub AccountRealm: super::super::super::Foundation::UNICODE_STRING,
1823 pub AccountName: super::super::super::Foundation::UNICODE_STRING,
1824 pub Password: super::super::super::Foundation::UNICODE_STRING,
1825 pub ClientRealm: super::super::super::Foundation::UNICODE_STRING,
1826 pub ClientName: super::super::super::Foundation::UNICODE_STRING,
1827 pub Impersonating: super::super::super::Foundation::BOOLEAN,
1828 pub KdcAddress: super::super::super::Foundation::UNICODE_STRING,
1829 pub KdcAddressType: u32,
1830}
1831#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
1832impl ::core::marker::Copy for KERB_SETPASSWORD_EX_REQUEST {}
1833#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
1834impl ::core::clone::Clone for KERB_SETPASSWORD_EX_REQUEST {
1835 fn clone(&self) -> Self {
1836 *self
1837 }
1838}
1839#[repr(C)]
1840#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
1841pub struct KERB_SETPASSWORD_REQUEST {
1842 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1843 pub LogonId: super::super::super::Foundation::LUID,
1844 pub CredentialsHandle: super::super::Credentials::SecHandle,
1845 pub Flags: u32,
1846 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
1847 pub AccountName: super::super::super::Foundation::UNICODE_STRING,
1848 pub Password: super::super::super::Foundation::UNICODE_STRING,
1849}
1850#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
1851impl ::core::marker::Copy for KERB_SETPASSWORD_REQUEST {}
1852#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
1853impl ::core::clone::Clone for KERB_SETPASSWORD_REQUEST {
1854 fn clone(&self) -> Self {
1855 *self
1856 }
1857}
1858pub const KERB_SETPASS_USE_CREDHANDLE: u32 = 2u32;
1859pub const KERB_SETPASS_USE_LOGONID: u32 = 1u32;
1860#[repr(C)]
1861#[cfg(feature = "Win32_Foundation")]
1862pub struct KERB_SMART_CARD_LOGON {
1863 pub MessageType: KERB_LOGON_SUBMIT_TYPE,
1864 pub Pin: super::super::super::Foundation::UNICODE_STRING,
1865 pub CspDataLength: u32,
1866 pub CspData: *mut u8,
1867}
1868#[cfg(feature = "Win32_Foundation")]
1869impl ::core::marker::Copy for KERB_SMART_CARD_LOGON {}
1870#[cfg(feature = "Win32_Foundation")]
1871impl ::core::clone::Clone for KERB_SMART_CARD_LOGON {
1872 fn clone(&self) -> Self {
1873 *self
1874 }
1875}
1876#[repr(C)]
1877#[cfg(feature = "Win32_Foundation")]
1878pub struct KERB_SMART_CARD_PROFILE {
1879 pub Profile: KERB_INTERACTIVE_PROFILE,
1880 pub CertificateSize: u32,
1881 pub CertificateData: *mut u8,
1882}
1883#[cfg(feature = "Win32_Foundation")]
1884impl ::core::marker::Copy for KERB_SMART_CARD_PROFILE {}
1885#[cfg(feature = "Win32_Foundation")]
1886impl ::core::clone::Clone for KERB_SMART_CARD_PROFILE {
1887 fn clone(&self) -> Self {
1888 *self
1889 }
1890}
1891#[repr(C)]
1892#[cfg(feature = "Win32_Foundation")]
1893pub struct KERB_SMART_CARD_UNLOCK_LOGON {
1894 pub Logon: KERB_SMART_CARD_LOGON,
1895 pub LogonId: super::super::super::Foundation::LUID,
1896}
1897#[cfg(feature = "Win32_Foundation")]
1898impl ::core::marker::Copy for KERB_SMART_CARD_UNLOCK_LOGON {}
1899#[cfg(feature = "Win32_Foundation")]
1900impl ::core::clone::Clone for KERB_SMART_CARD_UNLOCK_LOGON {
1901 fn clone(&self) -> Self {
1902 *self
1903 }
1904}
1905#[repr(C)]
1906#[cfg(feature = "Win32_Foundation")]
1907pub struct KERB_SUBMIT_TKT_REQUEST {
1908 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1909 pub LogonId: super::super::super::Foundation::LUID,
1910 pub Flags: u32,
1911 pub Key: KERB_CRYPTO_KEY32,
1912 pub KerbCredSize: u32,
1913 pub KerbCredOffset: u32,
1914}
1915#[cfg(feature = "Win32_Foundation")]
1916impl ::core::marker::Copy for KERB_SUBMIT_TKT_REQUEST {}
1917#[cfg(feature = "Win32_Foundation")]
1918impl ::core::clone::Clone for KERB_SUBMIT_TKT_REQUEST {
1919 fn clone(&self) -> Self {
1920 *self
1921 }
1922}
1923#[repr(C)]
1924#[cfg(feature = "Win32_Foundation")]
1925pub struct KERB_TICKET_CACHE_INFO {
1926 pub ServerName: super::super::super::Foundation::UNICODE_STRING,
1927 pub RealmName: super::super::super::Foundation::UNICODE_STRING,
1928 pub StartTime: i64,
1929 pub EndTime: i64,
1930 pub RenewTime: i64,
1931 pub EncryptionType: i32,
1932 pub TicketFlags: KERB_TICKET_FLAGS,
1933}
1934#[cfg(feature = "Win32_Foundation")]
1935impl ::core::marker::Copy for KERB_TICKET_CACHE_INFO {}
1936#[cfg(feature = "Win32_Foundation")]
1937impl ::core::clone::Clone for KERB_TICKET_CACHE_INFO {
1938 fn clone(&self) -> Self {
1939 *self
1940 }
1941}
1942#[repr(C)]
1943#[cfg(feature = "Win32_Foundation")]
1944pub struct KERB_TICKET_CACHE_INFO_EX {
1945 pub ClientName: super::super::super::Foundation::UNICODE_STRING,
1946 pub ClientRealm: super::super::super::Foundation::UNICODE_STRING,
1947 pub ServerName: super::super::super::Foundation::UNICODE_STRING,
1948 pub ServerRealm: super::super::super::Foundation::UNICODE_STRING,
1949 pub StartTime: i64,
1950 pub EndTime: i64,
1951 pub RenewTime: i64,
1952 pub EncryptionType: i32,
1953 pub TicketFlags: u32,
1954}
1955#[cfg(feature = "Win32_Foundation")]
1956impl ::core::marker::Copy for KERB_TICKET_CACHE_INFO_EX {}
1957#[cfg(feature = "Win32_Foundation")]
1958impl ::core::clone::Clone for KERB_TICKET_CACHE_INFO_EX {
1959 fn clone(&self) -> Self {
1960 *self
1961 }
1962}
1963#[repr(C)]
1964#[cfg(feature = "Win32_Foundation")]
1965pub struct KERB_TICKET_CACHE_INFO_EX2 {
1966 pub ClientName: super::super::super::Foundation::UNICODE_STRING,
1967 pub ClientRealm: super::super::super::Foundation::UNICODE_STRING,
1968 pub ServerName: super::super::super::Foundation::UNICODE_STRING,
1969 pub ServerRealm: super::super::super::Foundation::UNICODE_STRING,
1970 pub StartTime: i64,
1971 pub EndTime: i64,
1972 pub RenewTime: i64,
1973 pub EncryptionType: i32,
1974 pub TicketFlags: u32,
1975 pub SessionKeyType: u32,
1976 pub BranchId: u32,
1977}
1978#[cfg(feature = "Win32_Foundation")]
1979impl ::core::marker::Copy for KERB_TICKET_CACHE_INFO_EX2 {}
1980#[cfg(feature = "Win32_Foundation")]
1981impl ::core::clone::Clone for KERB_TICKET_CACHE_INFO_EX2 {
1982 fn clone(&self) -> Self {
1983 *self
1984 }
1985}
1986#[repr(C)]
1987#[cfg(feature = "Win32_Foundation")]
1988pub struct KERB_TICKET_CACHE_INFO_EX3 {
1989 pub ClientName: super::super::super::Foundation::UNICODE_STRING,
1990 pub ClientRealm: super::super::super::Foundation::UNICODE_STRING,
1991 pub ServerName: super::super::super::Foundation::UNICODE_STRING,
1992 pub ServerRealm: super::super::super::Foundation::UNICODE_STRING,
1993 pub StartTime: i64,
1994 pub EndTime: i64,
1995 pub RenewTime: i64,
1996 pub EncryptionType: i32,
1997 pub TicketFlags: u32,
1998 pub SessionKeyType: u32,
1999 pub BranchId: u32,
2000 pub CacheFlags: u32,
2001 pub KdcCalled: super::super::super::Foundation::UNICODE_STRING,
2002}
2003#[cfg(feature = "Win32_Foundation")]
2004impl ::core::marker::Copy for KERB_TICKET_CACHE_INFO_EX3 {}
2005#[cfg(feature = "Win32_Foundation")]
2006impl ::core::clone::Clone for KERB_TICKET_CACHE_INFO_EX3 {
2007 fn clone(&self) -> Self {
2008 *self
2009 }
2010}
2011pub type KERB_TICKET_FLAGS = u32;
2012pub const KERB_TICKET_FLAGS_forwardable: KERB_TICKET_FLAGS = 1073741824u32;
2013pub const KERB_TICKET_FLAGS_forwarded: KERB_TICKET_FLAGS = 536870912u32;
2014pub const KERB_TICKET_FLAGS_hw_authent: KERB_TICKET_FLAGS = 1048576u32;
2015pub const KERB_TICKET_FLAGS_initial: KERB_TICKET_FLAGS = 4194304u32;
2016pub const KERB_TICKET_FLAGS_invalid: KERB_TICKET_FLAGS = 16777216u32;
2017pub const KERB_TICKET_FLAGS_may_postdate: KERB_TICKET_FLAGS = 67108864u32;
2018pub const KERB_TICKET_FLAGS_ok_as_delegate: KERB_TICKET_FLAGS = 262144u32;
2019pub const KERB_TICKET_FLAGS_postdated: KERB_TICKET_FLAGS = 33554432u32;
2020pub const KERB_TICKET_FLAGS_pre_authent: KERB_TICKET_FLAGS = 2097152u32;
2021pub const KERB_TICKET_FLAGS_proxiable: KERB_TICKET_FLAGS = 268435456u32;
2022pub const KERB_TICKET_FLAGS_proxy: KERB_TICKET_FLAGS = 134217728u32;
2023pub const KERB_TICKET_FLAGS_renewable: KERB_TICKET_FLAGS = 8388608u32;
2024pub const KERB_TICKET_FLAGS_reserved: KERB_TICKET_FLAGS = 2147483648u32;
2025pub const KERB_TICKET_FLAGS_reserved1: KERB_TICKET_FLAGS = 1u32;
2026pub const KERB_TICKET_FLAGS_cname_in_pa_data: u32 = 262144u32;
2027pub const KERB_TICKET_FLAGS_enc_pa_rep: u32 = 65536u32;
2028pub const KERB_TICKET_FLAGS_name_canonicalize: u32 = 65536u32;
2029#[repr(C)]
2030pub struct KERB_TICKET_LOGON {
2031 pub MessageType: KERB_LOGON_SUBMIT_TYPE,
2032 pub Flags: u32,
2033 pub ServiceTicketLength: u32,
2034 pub TicketGrantingTicketLength: u32,
2035 pub ServiceTicket: *mut u8,
2036 pub TicketGrantingTicket: *mut u8,
2037}
2038impl ::core::marker::Copy for KERB_TICKET_LOGON {}
2039impl ::core::clone::Clone for KERB_TICKET_LOGON {
2040 fn clone(&self) -> Self {
2041 *self
2042 }
2043}
2044#[repr(C)]
2045#[cfg(feature = "Win32_Foundation")]
2046pub struct KERB_TICKET_PROFILE {
2047 pub Profile: KERB_INTERACTIVE_PROFILE,
2048 pub SessionKey: KERB_CRYPTO_KEY,
2049}
2050#[cfg(feature = "Win32_Foundation")]
2051impl ::core::marker::Copy for KERB_TICKET_PROFILE {}
2052#[cfg(feature = "Win32_Foundation")]
2053impl ::core::clone::Clone for KERB_TICKET_PROFILE {
2054 fn clone(&self) -> Self {
2055 *self
2056 }
2057}
2058#[repr(C)]
2059#[cfg(feature = "Win32_Foundation")]
2060pub struct KERB_TICKET_UNLOCK_LOGON {
2061 pub Logon: KERB_TICKET_LOGON,
2062 pub LogonId: super::super::super::Foundation::LUID,
2063}
2064#[cfg(feature = "Win32_Foundation")]
2065impl ::core::marker::Copy for KERB_TICKET_UNLOCK_LOGON {}
2066#[cfg(feature = "Win32_Foundation")]
2067impl ::core::clone::Clone for KERB_TICKET_UNLOCK_LOGON {
2068 fn clone(&self) -> Self {
2069 *self
2070 }
2071}
2072pub const KERB_TRANSFER_CRED_CLEANUP_CREDENTIALS: u32 = 2u32;
2073#[repr(C)]
2074#[cfg(feature = "Win32_Foundation")]
2075pub struct KERB_TRANSFER_CRED_REQUEST {
2076 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
2077 pub OriginLogonId: super::super::super::Foundation::LUID,
2078 pub DestinationLogonId: super::super::super::Foundation::LUID,
2079 pub Flags: u32,
2080}
2081#[cfg(feature = "Win32_Foundation")]
2082impl ::core::marker::Copy for KERB_TRANSFER_CRED_REQUEST {}
2083#[cfg(feature = "Win32_Foundation")]
2084impl ::core::clone::Clone for KERB_TRANSFER_CRED_REQUEST {
2085 fn clone(&self) -> Self {
2086 *self
2087 }
2088}
2089pub const KERB_TRANSFER_CRED_WITH_TICKETS: u32 = 1u32;
2090pub const KERB_USE_DEFAULT_TICKET_FLAGS: u32 = 0u32;
2091pub const KERB_WRAP_NO_ENCRYPT: u32 = 2147483649u32;
2092pub const KERN_CONTEXT_CERT_INFO_V1: u32 = 0u32;
2093pub const KRB_NT_ENTERPRISE_PRINCIPAL: u32 = 10u32;
2094pub const KRB_NT_ENT_PRINCIPAL_AND_ID: i32 = -130i32;
2095pub const KRB_NT_MS_BRANCH_ID: i32 = -133i32;
2096pub const KRB_NT_MS_PRINCIPAL: i32 = -128i32;
2097pub const KRB_NT_MS_PRINCIPAL_AND_ID: i32 = -129i32;
2098pub const KRB_NT_PRINCIPAL: u32 = 1u32;
2099pub const KRB_NT_PRINCIPAL_AND_ID: i32 = -131i32;
2100pub const KRB_NT_SRV_HST: u32 = 3u32;
2101pub const KRB_NT_SRV_INST: u32 = 2u32;
2102pub const KRB_NT_SRV_INST_AND_ID: i32 = -132i32;
2103pub const KRB_NT_SRV_XHST: u32 = 4u32;
2104pub const KRB_NT_UID: u32 = 5u32;
2105pub const KRB_NT_UNKNOWN: u32 = 0u32;
2106pub const KRB_NT_WELLKNOWN: u32 = 11u32;
2107pub const KRB_NT_X500_PRINCIPAL: u32 = 6u32;
2108pub type KSEC_CONTEXT_TYPE = i32;
2109pub const KSecPaged: KSEC_CONTEXT_TYPE = 0i32;
2110pub const KSecNonPaged: KSEC_CONTEXT_TYPE = 1i32;
2111#[repr(C)]
2112#[cfg(feature = "Win32_System_Kernel")]
2113pub struct KSEC_LIST_ENTRY {
2114 pub List: super::super::super::System::Kernel::LIST_ENTRY,
2115 pub RefCount: i32,
2116 pub Signature: u32,
2117 pub OwningList: *mut ::core::ffi::c_void,
2118 pub Reserved: *mut ::core::ffi::c_void,
2119}
2120#[cfg(feature = "Win32_System_Kernel")]
2121impl ::core::marker::Copy for KSEC_LIST_ENTRY {}
2122#[cfg(feature = "Win32_System_Kernel")]
2123impl ::core::clone::Clone for KSEC_LIST_ENTRY {
2124 fn clone(&self) -> Self {
2125 *self
2126 }
2127}
2128#[cfg(feature = "Win32_Foundation")]
2129pub type KspCompleteTokenFn = unsafe extern "system" fn(contextid: usize, token: *const SecBufferDesc) -> super::super::super::Foundation::NTSTATUS;
2130#[cfg(feature = "Win32_Foundation")]
2131pub type KspDeleteContextFn = unsafe extern "system" fn(contextid: usize, lsacontextid: *mut usize) -> super::super::super::Foundation::NTSTATUS;
2132#[cfg(feature = "Win32_Foundation")]
2133pub type KspGetTokenFn = unsafe extern "system" fn(contextid: usize, impersonationtoken: *mut super::super::super::Foundation::HANDLE, rawtoken: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
2134#[cfg(feature = "Win32_Foundation")]
2135pub type KspInitContextFn = unsafe extern "system" fn(contextid: usize, contextdata: *const SecBuffer, newcontextid: *mut usize) -> super::super::super::Foundation::NTSTATUS;
2136#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
2137pub type KspInitPackageFn = unsafe extern "system" fn(functiontable: *const SECPKG_KERNEL_FUNCTIONS) -> super::super::super::Foundation::NTSTATUS;
2138#[cfg(feature = "Win32_Foundation")]
2139pub type KspMakeSignatureFn = unsafe extern "system" fn(contextid: usize, fqop: u32, message: *const SecBufferDesc, messageseqno: u32) -> super::super::super::Foundation::NTSTATUS;
2140#[cfg(feature = "Win32_Foundation")]
2141pub type KspMapHandleFn = unsafe extern "system" fn(contextid: usize, lsacontextid: *mut usize) -> super::super::super::Foundation::NTSTATUS;
2142#[cfg(feature = "Win32_Foundation")]
2143pub type KspQueryAttributesFn = unsafe extern "system" fn(contextid: usize, attribute: u32, buffer: *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
2144#[cfg(feature = "Win32_Foundation")]
2145pub type KspSealMessageFn = unsafe extern "system" fn(contextid: usize, fqop: u32, message: *const SecBufferDesc, messageseqno: u32) -> super::super::super::Foundation::NTSTATUS;
2146#[cfg(feature = "Win32_Foundation")]
2147pub type KspSerializeAuthDataFn = unsafe extern "system" fn(pvauthdata: *const ::core::ffi::c_void, size: *mut u32, serializeddata: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
2148#[cfg(feature = "Win32_Foundation")]
2149pub type KspSetPagingModeFn = unsafe extern "system" fn(pagingmode: super::super::super::Foundation::BOOLEAN) -> super::super::super::Foundation::NTSTATUS;
2150#[cfg(feature = "Win32_Foundation")]
2151pub type KspUnsealMessageFn = unsafe extern "system" fn(contextid: usize, message: *const SecBufferDesc, messageseqno: u32, pfqop: *mut u32) -> super::super::super::Foundation::NTSTATUS;
2152#[cfg(feature = "Win32_Foundation")]
2153pub type KspVerifySignatureFn = unsafe extern "system" fn(contextid: usize, message: *const SecBufferDesc, messageseqno: u32, pfqop: *mut u32) -> super::super::super::Foundation::NTSTATUS;
2154pub const LCRED_CRED_EXISTS: u32 = 1u32;
2155pub const LCRED_STATUS_NOCRED: u32 = 0u32;
2156pub const LCRED_STATUS_UNKNOWN_ISSUER: u32 = 2u32;
2157pub const LOGON_GRACE_LOGON: u32 = 16777216u32;
2158#[repr(C)]
2159pub struct LOGON_HOURS {
2160 pub UnitsPerWeek: u16,
2161 pub LogonHours: *mut u8,
2162}
2163impl ::core::marker::Copy for LOGON_HOURS {}
2164impl ::core::clone::Clone for LOGON_HOURS {
2165 fn clone(&self) -> Self {
2166 *self
2167 }
2168}
2169pub const LOGON_LM_V2: u32 = 4096u32;
2170pub const LOGON_MANAGED_SERVICE: u32 = 524288u32;
2171pub const LOGON_NO_ELEVATION: u32 = 262144u32;
2172pub const LOGON_NO_OPTIMIZED: u32 = 131072u32;
2173pub const LOGON_NTLMV2_ENABLED: u32 = 256u32;
2174pub const LOGON_NTLM_V2: u32 = 8192u32;
2175pub const LOGON_NT_V2: u32 = 2048u32;
2176pub const LOGON_OPTIMIZED: u32 = 16384u32;
2177pub const LOGON_PKINIT: u32 = 65536u32;
2178pub const LOGON_WINLOGON: u32 = 32768u32;
2179pub const LOOKUP_TRANSLATE_NAMES: u32 = 2048u32;
2180pub const LOOKUP_VIEW_LOCAL_INFORMATION: u32 = 1u32;
2181pub const LSASETCAPS_RELOAD_FLAG: u32 = 1u32;
2182pub const LSASETCAPS_VALID_FLAG_MASK: u32 = 1u32;
2183#[cfg(feature = "Win32_Foundation")]
2184pub type LSA_AP_POST_LOGON_USER = unsafe extern "system" fn(postlogonuserinfo: *const SECPKG_POST_LOGON_USER_INFO) -> super::super::super::Foundation::NTSTATUS;
2185#[repr(C)]
2186pub struct LSA_AUTH_INFORMATION {
2187 pub LastUpdateTime: i64,
2188 pub AuthType: LSA_AUTH_INFORMATION_AUTH_TYPE,
2189 pub AuthInfoLength: u32,
2190 pub AuthInfo: *mut u8,
2191}
2192impl ::core::marker::Copy for LSA_AUTH_INFORMATION {}
2193impl ::core::clone::Clone for LSA_AUTH_INFORMATION {
2194 fn clone(&self) -> Self {
2195 *self
2196 }
2197}
2198pub type LSA_AUTH_INFORMATION_AUTH_TYPE = u32;
2199pub const TRUST_AUTH_TYPE_NONE: LSA_AUTH_INFORMATION_AUTH_TYPE = 0u32;
2200pub const TRUST_AUTH_TYPE_NT4OWF: LSA_AUTH_INFORMATION_AUTH_TYPE = 1u32;
2201pub const TRUST_AUTH_TYPE_CLEAR: LSA_AUTH_INFORMATION_AUTH_TYPE = 2u32;
2202pub const TRUST_AUTH_TYPE_VERSION: LSA_AUTH_INFORMATION_AUTH_TYPE = 3u32;
2203pub const LSA_CALL_LICENSE_SERVER: u32 = 2147483648u32;
2204#[repr(C)]
2205#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
2206pub struct LSA_DISPATCH_TABLE {
2207 pub CreateLogonSession: PLSA_CREATE_LOGON_SESSION,
2208 pub DeleteLogonSession: PLSA_DELETE_LOGON_SESSION,
2209 pub AddCredential: PLSA_ADD_CREDENTIAL,
2210 pub GetCredentials: PLSA_GET_CREDENTIALS,
2211 pub DeleteCredential: PLSA_DELETE_CREDENTIAL,
2212 pub AllocateLsaHeap: PLSA_ALLOCATE_LSA_HEAP,
2213 pub FreeLsaHeap: PLSA_FREE_LSA_HEAP,
2214 pub AllocateClientBuffer: PLSA_ALLOCATE_CLIENT_BUFFER,
2215 pub FreeClientBuffer: PLSA_FREE_CLIENT_BUFFER,
2216 pub CopyToClientBuffer: PLSA_COPY_TO_CLIENT_BUFFER,
2217 pub CopyFromClientBuffer: PLSA_COPY_FROM_CLIENT_BUFFER,
2218}
2219#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
2220impl ::core::marker::Copy for LSA_DISPATCH_TABLE {}
2221#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
2222impl ::core::clone::Clone for LSA_DISPATCH_TABLE {
2223 fn clone(&self) -> Self {
2224 *self
2225 }
2226}
2227#[repr(C)]
2228#[cfg(feature = "Win32_Foundation")]
2229pub struct LSA_ENUMERATION_INFORMATION {
2230 pub Sid: super::super::super::Foundation::PSID,
2231}
2232#[cfg(feature = "Win32_Foundation")]
2233impl ::core::marker::Copy for LSA_ENUMERATION_INFORMATION {}
2234#[cfg(feature = "Win32_Foundation")]
2235impl ::core::clone::Clone for LSA_ENUMERATION_INFORMATION {
2236 fn clone(&self) -> Self {
2237 *self
2238 }
2239}
2240#[repr(C)]
2241pub struct LSA_FOREST_TRUST_BINARY_DATA {
2242 pub Length: u32,
2243 pub Buffer: *mut u8,
2244}
2245impl ::core::marker::Copy for LSA_FOREST_TRUST_BINARY_DATA {}
2246impl ::core::clone::Clone for LSA_FOREST_TRUST_BINARY_DATA {
2247 fn clone(&self) -> Self {
2248 *self
2249 }
2250}
2251#[repr(C)]
2252#[cfg(feature = "Win32_Foundation")]
2253pub struct LSA_FOREST_TRUST_COLLISION_INFORMATION {
2254 pub RecordCount: u32,
2255 pub Entries: *mut *mut LSA_FOREST_TRUST_COLLISION_RECORD,
2256}
2257#[cfg(feature = "Win32_Foundation")]
2258impl ::core::marker::Copy for LSA_FOREST_TRUST_COLLISION_INFORMATION {}
2259#[cfg(feature = "Win32_Foundation")]
2260impl ::core::clone::Clone for LSA_FOREST_TRUST_COLLISION_INFORMATION {
2261 fn clone(&self) -> Self {
2262 *self
2263 }
2264}
2265#[repr(C)]
2266#[cfg(feature = "Win32_Foundation")]
2267pub struct LSA_FOREST_TRUST_COLLISION_RECORD {
2268 pub Index: u32,
2269 pub Type: LSA_FOREST_TRUST_COLLISION_RECORD_TYPE,
2270 pub Flags: u32,
2271 pub Name: super::super::super::Foundation::UNICODE_STRING,
2272}
2273#[cfg(feature = "Win32_Foundation")]
2274impl ::core::marker::Copy for LSA_FOREST_TRUST_COLLISION_RECORD {}
2275#[cfg(feature = "Win32_Foundation")]
2276impl ::core::clone::Clone for LSA_FOREST_TRUST_COLLISION_RECORD {
2277 fn clone(&self) -> Self {
2278 *self
2279 }
2280}
2281pub type LSA_FOREST_TRUST_COLLISION_RECORD_TYPE = i32;
2282pub const CollisionTdo: LSA_FOREST_TRUST_COLLISION_RECORD_TYPE = 0i32;
2283pub const CollisionXref: LSA_FOREST_TRUST_COLLISION_RECORD_TYPE = 1i32;
2284pub const CollisionOther: LSA_FOREST_TRUST_COLLISION_RECORD_TYPE = 2i32;
2285#[repr(C)]
2286#[cfg(feature = "Win32_Foundation")]
2287pub struct LSA_FOREST_TRUST_DOMAIN_INFO {
2288 pub Sid: super::super::super::Foundation::PSID,
2289 pub DnsName: super::super::super::Foundation::UNICODE_STRING,
2290 pub NetbiosName: super::super::super::Foundation::UNICODE_STRING,
2291}
2292#[cfg(feature = "Win32_Foundation")]
2293impl ::core::marker::Copy for LSA_FOREST_TRUST_DOMAIN_INFO {}
2294#[cfg(feature = "Win32_Foundation")]
2295impl ::core::clone::Clone for LSA_FOREST_TRUST_DOMAIN_INFO {
2296 fn clone(&self) -> Self {
2297 *self
2298 }
2299}
2300#[repr(C)]
2301#[cfg(feature = "Win32_Foundation")]
2302pub struct LSA_FOREST_TRUST_INFORMATION {
2303 pub RecordCount: u32,
2304 pub Entries: *mut *mut LSA_FOREST_TRUST_RECORD,
2305}
2306#[cfg(feature = "Win32_Foundation")]
2307impl ::core::marker::Copy for LSA_FOREST_TRUST_INFORMATION {}
2308#[cfg(feature = "Win32_Foundation")]
2309impl ::core::clone::Clone for LSA_FOREST_TRUST_INFORMATION {
2310 fn clone(&self) -> Self {
2311 *self
2312 }
2313}
2314#[repr(C)]
2315#[cfg(feature = "Win32_Foundation")]
2316pub struct LSA_FOREST_TRUST_RECORD {
2317 pub Flags: u32,
2318 pub ForestTrustType: LSA_FOREST_TRUST_RECORD_TYPE,
2319 pub Time: i64,
2320 pub ForestTrustData: LSA_FOREST_TRUST_RECORD_0,
2321}
2322#[cfg(feature = "Win32_Foundation")]
2323impl ::core::marker::Copy for LSA_FOREST_TRUST_RECORD {}
2324#[cfg(feature = "Win32_Foundation")]
2325impl ::core::clone::Clone for LSA_FOREST_TRUST_RECORD {
2326 fn clone(&self) -> Self {
2327 *self
2328 }
2329}
2330#[repr(C)]
2331#[cfg(feature = "Win32_Foundation")]
2332pub union LSA_FOREST_TRUST_RECORD_0 {
2333 pub TopLevelName: super::super::super::Foundation::UNICODE_STRING,
2334 pub DomainInfo: LSA_FOREST_TRUST_DOMAIN_INFO,
2335 pub Data: LSA_FOREST_TRUST_BINARY_DATA,
2336}
2337#[cfg(feature = "Win32_Foundation")]
2338impl ::core::marker::Copy for LSA_FOREST_TRUST_RECORD_0 {}
2339#[cfg(feature = "Win32_Foundation")]
2340impl ::core::clone::Clone for LSA_FOREST_TRUST_RECORD_0 {
2341 fn clone(&self) -> Self {
2342 *self
2343 }
2344}
2345pub type LSA_FOREST_TRUST_RECORD_TYPE = i32;
2346pub const ForestTrustTopLevelName: LSA_FOREST_TRUST_RECORD_TYPE = 0i32;
2347pub const ForestTrustTopLevelNameEx: LSA_FOREST_TRUST_RECORD_TYPE = 1i32;
2348pub const ForestTrustDomainInfo: LSA_FOREST_TRUST_RECORD_TYPE = 2i32;
2349pub const ForestTrustRecordTypeLast: LSA_FOREST_TRUST_RECORD_TYPE = 2i32;
2350pub const LSA_FOREST_TRUST_RECORD_TYPE_UNRECOGNIZED: u32 = 2147483648u32;
2351pub const LSA_FTRECORD_DISABLED_REASONS: i32 = 65535i32;
2352pub const LSA_GLOBAL_SECRET_PREFIX_LENGTH: u32 = 2u32;
2353#[repr(C)]
2354pub struct LSA_LAST_INTER_LOGON_INFO {
2355 pub LastSuccessfulLogon: i64,
2356 pub LastFailedLogon: i64,
2357 pub FailedAttemptCountSinceLastSuccessfulLogon: u32,
2358}
2359impl ::core::marker::Copy for LSA_LAST_INTER_LOGON_INFO {}
2360impl ::core::clone::Clone for LSA_LAST_INTER_LOGON_INFO {
2361 fn clone(&self) -> Self {
2362 *self
2363 }
2364}
2365pub const LSA_LOCAL_SECRET_PREFIX_LENGTH: u32 = 2u32;
2366pub const LSA_LOOKUP_DISALLOW_CONNECTED_ACCOUNT_INTERNET_SID: u32 = 2147483648u32;
2367pub type LSA_LOOKUP_DOMAIN_INFO_CLASS = i32;
2368pub const AccountDomainInformation: LSA_LOOKUP_DOMAIN_INFO_CLASS = 5i32;
2369pub const DnsDomainInformation: LSA_LOOKUP_DOMAIN_INFO_CLASS = 12i32;
2370pub const LSA_LOOKUP_ISOLATED_AS_LOCAL: u32 = 2147483648u32;
2371pub const LSA_LOOKUP_PREFER_INTERNET_NAMES: u32 = 1073741824u32;
2372pub const LSA_MAXIMUM_ENUMERATION_LENGTH: u32 = 32000u32;
2373pub const LSA_MAXIMUM_SID_COUNT: i32 = 256i32;
2374pub const LSA_MODE_INDIVIDUAL_ACCOUNTS: i32 = 2i32;
2375pub const LSA_MODE_LOG_FULL: i32 = 8i32;
2376pub const LSA_MODE_MANDATORY_ACCESS: i32 = 4i32;
2377pub const LSA_MODE_PASSWORD_PROTECTED: i32 = 1i32;
2378pub const LSA_NB_DISABLED_ADMIN: i32 = 4i32;
2379pub const LSA_NB_DISABLED_CONFLICT: i32 = 8i32;
2380pub const LSA_QUERY_CLIENT_PRELOGON_SESSION_ID: u32 = 1u32;
2381#[repr(C)]
2382#[cfg(feature = "Win32_Foundation")]
2383pub struct LSA_REFERENCED_DOMAIN_LIST {
2384 pub Entries: u32,
2385 pub Domains: *mut LSA_TRUST_INFORMATION,
2386}
2387#[cfg(feature = "Win32_Foundation")]
2388impl ::core::marker::Copy for LSA_REFERENCED_DOMAIN_LIST {}
2389#[cfg(feature = "Win32_Foundation")]
2390impl ::core::clone::Clone for LSA_REFERENCED_DOMAIN_LIST {
2391 fn clone(&self) -> Self {
2392 *self
2393 }
2394}
2395#[repr(C)]
2396#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
2397pub struct LSA_SECPKG_FUNCTION_TABLE {
2398 pub CreateLogonSession: PLSA_CREATE_LOGON_SESSION,
2399 pub DeleteLogonSession: PLSA_DELETE_LOGON_SESSION,
2400 pub AddCredential: PLSA_ADD_CREDENTIAL,
2401 pub GetCredentials: PLSA_GET_CREDENTIALS,
2402 pub DeleteCredential: PLSA_DELETE_CREDENTIAL,
2403 pub AllocateLsaHeap: PLSA_ALLOCATE_LSA_HEAP,
2404 pub FreeLsaHeap: PLSA_FREE_LSA_HEAP,
2405 pub AllocateClientBuffer: PLSA_ALLOCATE_CLIENT_BUFFER,
2406 pub FreeClientBuffer: PLSA_FREE_CLIENT_BUFFER,
2407 pub CopyToClientBuffer: PLSA_COPY_TO_CLIENT_BUFFER,
2408 pub CopyFromClientBuffer: PLSA_COPY_FROM_CLIENT_BUFFER,
2409 pub ImpersonateClient: PLSA_IMPERSONATE_CLIENT,
2410 pub UnloadPackage: PLSA_UNLOAD_PACKAGE,
2411 pub DuplicateHandle: PLSA_DUPLICATE_HANDLE,
2412 pub SaveSupplementalCredentials: PLSA_SAVE_SUPPLEMENTAL_CREDENTIALS,
2413 pub CreateThread: PLSA_CREATE_THREAD,
2414 pub GetClientInfo: PLSA_GET_CLIENT_INFO,
2415 pub RegisterNotification: PLSA_REGISTER_NOTIFICATION,
2416 pub CancelNotification: PLSA_CANCEL_NOTIFICATION,
2417 pub MapBuffer: PLSA_MAP_BUFFER,
2418 pub CreateToken: PLSA_CREATE_TOKEN,
2419 pub AuditLogon: PLSA_AUDIT_LOGON,
2420 pub CallPackage: PLSA_CALL_PACKAGE,
2421 pub FreeReturnBuffer: PLSA_FREE_LSA_HEAP,
2422 pub GetCallInfo: PLSA_GET_CALL_INFO,
2423 pub CallPackageEx: PLSA_CALL_PACKAGEEX,
2424 pub CreateSharedMemory: PLSA_CREATE_SHARED_MEMORY,
2425 pub AllocateSharedMemory: PLSA_ALLOCATE_SHARED_MEMORY,
2426 pub FreeSharedMemory: PLSA_FREE_SHARED_MEMORY,
2427 pub DeleteSharedMemory: PLSA_DELETE_SHARED_MEMORY,
2428 pub OpenSamUser: PLSA_OPEN_SAM_USER,
2429 pub GetUserCredentials: PLSA_GET_USER_CREDENTIALS,
2430 pub GetUserAuthData: PLSA_GET_USER_AUTH_DATA,
2431 pub CloseSamUser: PLSA_CLOSE_SAM_USER,
2432 pub ConvertAuthDataToToken: PLSA_CONVERT_AUTH_DATA_TO_TOKEN,
2433 pub ClientCallback: PLSA_CLIENT_CALLBACK,
2434 pub UpdateCredentials: PLSA_UPDATE_PRIMARY_CREDENTIALS,
2435 pub GetAuthDataForUser: PLSA_GET_AUTH_DATA_FOR_USER,
2436 pub CrackSingleName: PLSA_CRACK_SINGLE_NAME,
2437 pub AuditAccountLogon: PLSA_AUDIT_ACCOUNT_LOGON,
2438 pub CallPackagePassthrough: PLSA_CALL_PACKAGE_PASSTHROUGH,
2439 pub CrediRead: CredReadFn,
2440 pub CrediReadDomainCredentials: CredReadDomainCredentialsFn,
2441 pub CrediFreeCredentials: CredFreeCredentialsFn,
2442 pub LsaProtectMemory: PLSA_PROTECT_MEMORY,
2443 pub LsaUnprotectMemory: PLSA_PROTECT_MEMORY,
2444 pub OpenTokenByLogonId: PLSA_OPEN_TOKEN_BY_LOGON_ID,
2445 pub ExpandAuthDataForDomain: PLSA_EXPAND_AUTH_DATA_FOR_DOMAIN,
2446 pub AllocatePrivateHeap: PLSA_ALLOCATE_PRIVATE_HEAP,
2447 pub FreePrivateHeap: PLSA_FREE_PRIVATE_HEAP,
2448 pub CreateTokenEx: PLSA_CREATE_TOKEN_EX,
2449 pub CrediWrite: CredWriteFn,
2450 pub CrediUnmarshalandDecodeString: CrediUnmarshalandDecodeStringFn,
2451 pub DummyFunction6: PLSA_PROTECT_MEMORY,
2452 pub GetExtendedCallFlags: PLSA_GET_EXTENDED_CALL_FLAGS,
2453 pub DuplicateTokenHandle: PLSA_DUPLICATE_HANDLE,
2454 pub GetServiceAccountPassword: PLSA_GET_SERVICE_ACCOUNT_PASSWORD,
2455 pub DummyFunction7: PLSA_PROTECT_MEMORY,
2456 pub AuditLogonEx: PLSA_AUDIT_LOGON_EX,
2457 pub CheckProtectedUserByToken: PLSA_CHECK_PROTECTED_USER_BY_TOKEN,
2458 pub QueryClientRequest: PLSA_QUERY_CLIENT_REQUEST,
2459 pub GetAppModeInfo: PLSA_GET_APP_MODE_INFO,
2460 pub SetAppModeInfo: PLSA_SET_APP_MODE_INFO,
2461}
2462#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
2463impl ::core::marker::Copy for LSA_SECPKG_FUNCTION_TABLE {}
2464#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
2465impl ::core::clone::Clone for LSA_SECPKG_FUNCTION_TABLE {
2466 fn clone(&self) -> Self {
2467 *self
2468 }
2469}
2470pub const LSA_SECRET_MAXIMUM_COUNT: i32 = 4096i32;
2471pub const LSA_SECRET_MAXIMUM_LENGTH: i32 = 512i32;
2472pub const LSA_SID_DISABLED_ADMIN: i32 = 1i32;
2473pub const LSA_SID_DISABLED_CONFLICT: i32 = 2i32;
2474pub const LSA_TLN_DISABLED_ADMIN: i32 = 2i32;
2475pub const LSA_TLN_DISABLED_CONFLICT: i32 = 4i32;
2476pub const LSA_TLN_DISABLED_NEW: i32 = 1i32;
2477#[repr(C)]
2478#[cfg(feature = "Win32_Foundation")]
2479pub struct LSA_TOKEN_INFORMATION_NULL {
2480 pub ExpirationTime: i64,
2481 pub Groups: *mut super::super::TOKEN_GROUPS,
2482}
2483#[cfg(feature = "Win32_Foundation")]
2484impl ::core::marker::Copy for LSA_TOKEN_INFORMATION_NULL {}
2485#[cfg(feature = "Win32_Foundation")]
2486impl ::core::clone::Clone for LSA_TOKEN_INFORMATION_NULL {
2487 fn clone(&self) -> Self {
2488 *self
2489 }
2490}
2491pub type LSA_TOKEN_INFORMATION_TYPE = i32;
2492pub const LsaTokenInformationNull: LSA_TOKEN_INFORMATION_TYPE = 0i32;
2493pub const LsaTokenInformationV1: LSA_TOKEN_INFORMATION_TYPE = 1i32;
2494pub const LsaTokenInformationV2: LSA_TOKEN_INFORMATION_TYPE = 2i32;
2495pub const LsaTokenInformationV3: LSA_TOKEN_INFORMATION_TYPE = 3i32;
2496#[repr(C)]
2497#[cfg(feature = "Win32_Foundation")]
2498pub struct LSA_TOKEN_INFORMATION_V1 {
2499 pub ExpirationTime: i64,
2500 pub User: super::super::TOKEN_USER,
2501 pub Groups: *mut super::super::TOKEN_GROUPS,
2502 pub PrimaryGroup: super::super::TOKEN_PRIMARY_GROUP,
2503 pub Privileges: *mut super::super::TOKEN_PRIVILEGES,
2504 pub Owner: super::super::TOKEN_OWNER,
2505 pub DefaultDacl: super::super::TOKEN_DEFAULT_DACL,
2506}
2507#[cfg(feature = "Win32_Foundation")]
2508impl ::core::marker::Copy for LSA_TOKEN_INFORMATION_V1 {}
2509#[cfg(feature = "Win32_Foundation")]
2510impl ::core::clone::Clone for LSA_TOKEN_INFORMATION_V1 {
2511 fn clone(&self) -> Self {
2512 *self
2513 }
2514}
2515#[repr(C)]
2516#[cfg(feature = "Win32_Foundation")]
2517pub struct LSA_TOKEN_INFORMATION_V3 {
2518 pub ExpirationTime: i64,
2519 pub User: super::super::TOKEN_USER,
2520 pub Groups: *mut super::super::TOKEN_GROUPS,
2521 pub PrimaryGroup: super::super::TOKEN_PRIMARY_GROUP,
2522 pub Privileges: *mut super::super::TOKEN_PRIVILEGES,
2523 pub Owner: super::super::TOKEN_OWNER,
2524 pub DefaultDacl: super::super::TOKEN_DEFAULT_DACL,
2525 pub UserClaims: super::super::TOKEN_USER_CLAIMS,
2526 pub DeviceClaims: super::super::TOKEN_DEVICE_CLAIMS,
2527 pub DeviceGroups: *mut super::super::TOKEN_GROUPS,
2528}
2529#[cfg(feature = "Win32_Foundation")]
2530impl ::core::marker::Copy for LSA_TOKEN_INFORMATION_V3 {}
2531#[cfg(feature = "Win32_Foundation")]
2532impl ::core::clone::Clone for LSA_TOKEN_INFORMATION_V3 {
2533 fn clone(&self) -> Self {
2534 *self
2535 }
2536}
2537#[repr(C)]
2538#[cfg(feature = "Win32_Foundation")]
2539pub struct LSA_TRANSLATED_NAME {
2540 pub Use: super::super::SID_NAME_USE,
2541 pub Name: super::super::super::Foundation::UNICODE_STRING,
2542 pub DomainIndex: i32,
2543}
2544#[cfg(feature = "Win32_Foundation")]
2545impl ::core::marker::Copy for LSA_TRANSLATED_NAME {}
2546#[cfg(feature = "Win32_Foundation")]
2547impl ::core::clone::Clone for LSA_TRANSLATED_NAME {
2548 fn clone(&self) -> Self {
2549 *self
2550 }
2551}
2552#[repr(C)]
2553pub struct LSA_TRANSLATED_SID {
2554 pub Use: super::super::SID_NAME_USE,
2555 pub RelativeId: u32,
2556 pub DomainIndex: i32,
2557}
2558impl ::core::marker::Copy for LSA_TRANSLATED_SID {}
2559impl ::core::clone::Clone for LSA_TRANSLATED_SID {
2560 fn clone(&self) -> Self {
2561 *self
2562 }
2563}
2564#[repr(C)]
2565#[cfg(feature = "Win32_Foundation")]
2566pub struct LSA_TRANSLATED_SID2 {
2567 pub Use: super::super::SID_NAME_USE,
2568 pub Sid: super::super::super::Foundation::PSID,
2569 pub DomainIndex: i32,
2570 pub Flags: u32,
2571}
2572#[cfg(feature = "Win32_Foundation")]
2573impl ::core::marker::Copy for LSA_TRANSLATED_SID2 {}
2574#[cfg(feature = "Win32_Foundation")]
2575impl ::core::clone::Clone for LSA_TRANSLATED_SID2 {
2576 fn clone(&self) -> Self {
2577 *self
2578 }
2579}
2580#[repr(C)]
2581#[cfg(feature = "Win32_Foundation")]
2582pub struct LSA_TRUST_INFORMATION {
2583 pub Name: super::super::super::Foundation::UNICODE_STRING,
2584 pub Sid: super::super::super::Foundation::PSID,
2585}
2586#[cfg(feature = "Win32_Foundation")]
2587impl ::core::marker::Copy for LSA_TRUST_INFORMATION {}
2588#[cfg(feature = "Win32_Foundation")]
2589impl ::core::clone::Clone for LSA_TRUST_INFORMATION {
2590 fn clone(&self) -> Self {
2591 *self
2592 }
2593}
2594pub type LsaHandle = isize;
2595#[cfg(feature = "Win32_Security_Credentials")]
2596pub type MAKE_SIGNATURE_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut SecBufferDesc, param3: u32) -> i32;
2597pub const MAXIMUM_CAPES_PER_CAP: u32 = 127u32;
2598pub const MAX_CRED_SIZE: u32 = 1024u32;
2599pub const MAX_PROTOCOL_ID_SIZE: u32 = 255u32;
2600pub const MAX_RECORDS_IN_FOREST_TRUST_INFO: u32 = 4000u32;
2601pub const MAX_USER_RECORDS: u32 = 1000u32;
2602pub type MSV1_0 = u32;
2603pub const MSV1_0_PASSTHRU: MSV1_0 = 1u32;
2604pub const MSV1_0_GUEST_LOGON: MSV1_0 = 2u32;
2605pub const MSV1_0_ALLOW_FORCE_GUEST: u32 = 8192u32;
2606pub const MSV1_0_ALLOW_MSVCHAPV2: u32 = 65536u32;
2607pub type MSV1_0_AVID = i32;
2608pub const MsvAvEOL: MSV1_0_AVID = 0i32;
2609pub const MsvAvNbComputerName: MSV1_0_AVID = 1i32;
2610pub const MsvAvNbDomainName: MSV1_0_AVID = 2i32;
2611pub const MsvAvDnsComputerName: MSV1_0_AVID = 3i32;
2612pub const MsvAvDnsDomainName: MSV1_0_AVID = 4i32;
2613pub const MsvAvDnsTreeName: MSV1_0_AVID = 5i32;
2614pub const MsvAvFlags: MSV1_0_AVID = 6i32;
2615pub const MsvAvTimestamp: MSV1_0_AVID = 7i32;
2616pub const MsvAvRestrictions: MSV1_0_AVID = 8i32;
2617pub const MsvAvTargetName: MSV1_0_AVID = 9i32;
2618pub const MsvAvChannelBindings: MSV1_0_AVID = 10i32;
2619pub const MSV1_0_AV_FLAG_FORCE_GUEST: u32 = 1u32;
2620pub const MSV1_0_AV_FLAG_MIC_HANDSHAKE_MESSAGES: u32 = 2u32;
2621pub const MSV1_0_AV_FLAG_UNVERIFIED_TARGET: u32 = 4u32;
2622#[repr(C)]
2623pub struct MSV1_0_AV_PAIR {
2624 pub AvId: u16,
2625 pub AvLen: u16,
2626}
2627impl ::core::marker::Copy for MSV1_0_AV_PAIR {}
2628impl ::core::clone::Clone for MSV1_0_AV_PAIR {
2629 fn clone(&self) -> Self {
2630 *self
2631 }
2632}
2633pub const MSV1_0_CHALLENGE_LENGTH: u32 = 8u32;
2634#[repr(C)]
2635#[cfg(feature = "Win32_Foundation")]
2636pub struct MSV1_0_CHANGEPASSWORD_REQUEST {
2637 pub MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE,
2638 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
2639 pub AccountName: super::super::super::Foundation::UNICODE_STRING,
2640 pub OldPassword: super::super::super::Foundation::UNICODE_STRING,
2641 pub NewPassword: super::super::super::Foundation::UNICODE_STRING,
2642 pub Impersonating: super::super::super::Foundation::BOOLEAN,
2643}
2644#[cfg(feature = "Win32_Foundation")]
2645impl ::core::marker::Copy for MSV1_0_CHANGEPASSWORD_REQUEST {}
2646#[cfg(feature = "Win32_Foundation")]
2647impl ::core::clone::Clone for MSV1_0_CHANGEPASSWORD_REQUEST {
2648 fn clone(&self) -> Self {
2649 *self
2650 }
2651}
2652#[repr(C)]
2653#[cfg(feature = "Win32_Foundation")]
2654pub struct MSV1_0_CHANGEPASSWORD_RESPONSE {
2655 pub MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE,
2656 pub PasswordInfoValid: super::super::super::Foundation::BOOLEAN,
2657 pub DomainPasswordInfo: DOMAIN_PASSWORD_INFORMATION,
2658}
2659#[cfg(feature = "Win32_Foundation")]
2660impl ::core::marker::Copy for MSV1_0_CHANGEPASSWORD_RESPONSE {}
2661#[cfg(feature = "Win32_Foundation")]
2662impl ::core::clone::Clone for MSV1_0_CHANGEPASSWORD_RESPONSE {
2663 fn clone(&self) -> Self {
2664 *self
2665 }
2666}
2667pub const MSV1_0_CHECK_LOGONHOURS_FOR_S4U: u32 = 262144u32;
2668pub const MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED: u32 = 16384u32;
2669#[repr(C)]
2670pub struct MSV1_0_CREDENTIAL_KEY {
2671 pub Data: [u8; 20],
2672}
2673impl ::core::marker::Copy for MSV1_0_CREDENTIAL_KEY {}
2674impl ::core::clone::Clone for MSV1_0_CREDENTIAL_KEY {
2675 fn clone(&self) -> Self {
2676 *self
2677 }
2678}
2679pub const MSV1_0_CREDENTIAL_KEY_LENGTH: u32 = 20u32;
2680pub type MSV1_0_CREDENTIAL_KEY_TYPE = i32;
2681pub const InvalidCredKey: MSV1_0_CREDENTIAL_KEY_TYPE = 0i32;
2682pub const DeprecatedIUMCredKey: MSV1_0_CREDENTIAL_KEY_TYPE = 1i32;
2683pub const DomainUserCredKey: MSV1_0_CREDENTIAL_KEY_TYPE = 2i32;
2684pub const LocalUserCredKey: MSV1_0_CREDENTIAL_KEY_TYPE = 3i32;
2685pub const ExternallySuppliedCredKey: MSV1_0_CREDENTIAL_KEY_TYPE = 4i32;
2686pub const MSV1_0_CRED_CREDKEY_PRESENT: u32 = 8u32;
2687pub const MSV1_0_CRED_REMOVED: u32 = 4u32;
2688pub const MSV1_0_CRED_SHA_PRESENT: u32 = 16u32;
2689pub const MSV1_0_CRED_VERSION_ARSO: u32 = 4294901763u32;
2690pub const MSV1_0_CRED_VERSION_INVALID: u32 = 4294967295u32;
2691pub const MSV1_0_CRED_VERSION_IUM: u32 = 4294901761u32;
2692pub const MSV1_0_CRED_VERSION_REMOTE: u32 = 4294901762u32;
2693pub const MSV1_0_CRED_VERSION_RESERVED_1: u32 = 4294967294u32;
2694pub const MSV1_0_CRED_VERSION_V2: u32 = 2u32;
2695pub const MSV1_0_CRED_VERSION_V3: u32 = 4u32;
2696pub const MSV1_0_DISABLE_PERSONAL_FALLBACK: u32 = 4096u32;
2697#[repr(C)]
2698#[cfg(feature = "Win32_Foundation")]
2699pub struct MSV1_0_INTERACTIVE_LOGON {
2700 pub MessageType: MSV1_0_LOGON_SUBMIT_TYPE,
2701 pub LogonDomainName: super::super::super::Foundation::UNICODE_STRING,
2702 pub UserName: super::super::super::Foundation::UNICODE_STRING,
2703 pub Password: super::super::super::Foundation::UNICODE_STRING,
2704}
2705#[cfg(feature = "Win32_Foundation")]
2706impl ::core::marker::Copy for MSV1_0_INTERACTIVE_LOGON {}
2707#[cfg(feature = "Win32_Foundation")]
2708impl ::core::clone::Clone for MSV1_0_INTERACTIVE_LOGON {
2709 fn clone(&self) -> Self {
2710 *self
2711 }
2712}
2713#[repr(C)]
2714#[cfg(feature = "Win32_Foundation")]
2715pub struct MSV1_0_INTERACTIVE_PROFILE {
2716 pub MessageType: MSV1_0_PROFILE_BUFFER_TYPE,
2717 pub LogonCount: u16,
2718 pub BadPasswordCount: u16,
2719 pub LogonTime: i64,
2720 pub LogoffTime: i64,
2721 pub KickOffTime: i64,
2722 pub PasswordLastSet: i64,
2723 pub PasswordCanChange: i64,
2724 pub PasswordMustChange: i64,
2725 pub LogonScript: super::super::super::Foundation::UNICODE_STRING,
2726 pub HomeDirectory: super::super::super::Foundation::UNICODE_STRING,
2727 pub FullName: super::super::super::Foundation::UNICODE_STRING,
2728 pub ProfilePath: super::super::super::Foundation::UNICODE_STRING,
2729 pub HomeDirectoryDrive: super::super::super::Foundation::UNICODE_STRING,
2730 pub LogonServer: super::super::super::Foundation::UNICODE_STRING,
2731 pub UserFlags: u32,
2732}
2733#[cfg(feature = "Win32_Foundation")]
2734impl ::core::marker::Copy for MSV1_0_INTERACTIVE_PROFILE {}
2735#[cfg(feature = "Win32_Foundation")]
2736impl ::core::clone::Clone for MSV1_0_INTERACTIVE_PROFILE {
2737 fn clone(&self) -> Self {
2738 *self
2739 }
2740}
2741pub const MSV1_0_INTERNET_DOMAIN: u32 = 524288u32;
2742#[repr(C)]
2743pub struct MSV1_0_IUM_SUPPLEMENTAL_CREDENTIAL {
2744 pub Version: u32,
2745 pub EncryptedCredsSize: u32,
2746 pub EncryptedCreds: [u8; 1],
2747}
2748impl ::core::marker::Copy for MSV1_0_IUM_SUPPLEMENTAL_CREDENTIAL {}
2749impl ::core::clone::Clone for MSV1_0_IUM_SUPPLEMENTAL_CREDENTIAL {
2750 fn clone(&self) -> Self {
2751 *self
2752 }
2753}
2754pub const MSV1_0_LANMAN_SESSION_KEY_LENGTH: u32 = 8u32;
2755#[repr(C)]
2756#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
2757pub struct MSV1_0_LM20_LOGON {
2758 pub MessageType: MSV1_0_LOGON_SUBMIT_TYPE,
2759 pub LogonDomainName: super::super::super::Foundation::UNICODE_STRING,
2760 pub UserName: super::super::super::Foundation::UNICODE_STRING,
2761 pub Workstation: super::super::super::Foundation::UNICODE_STRING,
2762 pub ChallengeToClient: [u8; 8],
2763 pub CaseSensitiveChallengeResponse: super::super::super::System::Kernel::STRING,
2764 pub CaseInsensitiveChallengeResponse: super::super::super::System::Kernel::STRING,
2765 pub ParameterControl: u32,
2766}
2767#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
2768impl ::core::marker::Copy for MSV1_0_LM20_LOGON {}
2769#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
2770impl ::core::clone::Clone for MSV1_0_LM20_LOGON {
2771 fn clone(&self) -> Self {
2772 *self
2773 }
2774}
2775#[repr(C)]
2776#[cfg(feature = "Win32_Foundation")]
2777pub struct MSV1_0_LM20_LOGON_PROFILE {
2778 pub MessageType: MSV1_0_PROFILE_BUFFER_TYPE,
2779 pub KickOffTime: i64,
2780 pub LogoffTime: i64,
2781 pub UserFlags: MSV_SUB_AUTHENTICATION_FILTER,
2782 pub UserSessionKey: [u8; 16],
2783 pub LogonDomainName: super::super::super::Foundation::UNICODE_STRING,
2784 pub LanmanSessionKey: [u8; 8],
2785 pub LogonServer: super::super::super::Foundation::UNICODE_STRING,
2786 pub UserParameters: super::super::super::Foundation::UNICODE_STRING,
2787}
2788#[cfg(feature = "Win32_Foundation")]
2789impl ::core::marker::Copy for MSV1_0_LM20_LOGON_PROFILE {}
2790#[cfg(feature = "Win32_Foundation")]
2791impl ::core::clone::Clone for MSV1_0_LM20_LOGON_PROFILE {
2792 fn clone(&self) -> Self {
2793 *self
2794 }
2795}
2796pub type MSV1_0_LOGON_SUBMIT_TYPE = i32;
2797pub const MsV1_0InteractiveLogon: MSV1_0_LOGON_SUBMIT_TYPE = 2i32;
2798pub const MsV1_0Lm20Logon: MSV1_0_LOGON_SUBMIT_TYPE = 3i32;
2799pub const MsV1_0NetworkLogon: MSV1_0_LOGON_SUBMIT_TYPE = 4i32;
2800pub const MsV1_0SubAuthLogon: MSV1_0_LOGON_SUBMIT_TYPE = 5i32;
2801pub const MsV1_0WorkstationUnlockLogon: MSV1_0_LOGON_SUBMIT_TYPE = 7i32;
2802pub const MsV1_0S4ULogon: MSV1_0_LOGON_SUBMIT_TYPE = 12i32;
2803pub const MsV1_0VirtualLogon: MSV1_0_LOGON_SUBMIT_TYPE = 82i32;
2804pub const MsV1_0NoElevationLogon: MSV1_0_LOGON_SUBMIT_TYPE = 83i32;
2805pub const MsV1_0LuidLogon: MSV1_0_LOGON_SUBMIT_TYPE = 84i32;
2806pub const MSV1_0_MAX_AVL_SIZE: u32 = 64000u32;
2807pub const MSV1_0_MAX_NTLM3_LIFE: u32 = 1800u32;
2808pub const MSV1_0_MNS_LOGON: u32 = 16777216u32;
2809pub const MSV1_0_NTLM3_OWF_LENGTH: u32 = 16u32;
2810#[repr(C)]
2811pub struct MSV1_0_NTLM3_RESPONSE {
2812 pub Response: [u8; 16],
2813 pub RespType: u8,
2814 pub HiRespType: u8,
2815 pub Flags: u16,
2816 pub MsgWord: u32,
2817 pub TimeStamp: u64,
2818 pub ChallengeFromClient: [u8; 8],
2819 pub AvPairsOff: u32,
2820 pub Buffer: [u8; 1],
2821}
2822impl ::core::marker::Copy for MSV1_0_NTLM3_RESPONSE {}
2823impl ::core::clone::Clone for MSV1_0_NTLM3_RESPONSE {
2824 fn clone(&self) -> Self {
2825 *self
2826 }
2827}
2828pub const MSV1_0_NTLM3_RESPONSE_LENGTH: u32 = 16u32;
2829pub const MSV1_0_OWF_PASSWORD_LENGTH: u32 = 16u32;
2830#[repr(C)]
2831#[cfg(feature = "Win32_Foundation")]
2832pub struct MSV1_0_PASSTHROUGH_REQUEST {
2833 pub MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE,
2834 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
2835 pub PackageName: super::super::super::Foundation::UNICODE_STRING,
2836 pub DataLength: u32,
2837 pub LogonData: *mut u8,
2838 pub Pad: u32,
2839}
2840#[cfg(feature = "Win32_Foundation")]
2841impl ::core::marker::Copy for MSV1_0_PASSTHROUGH_REQUEST {}
2842#[cfg(feature = "Win32_Foundation")]
2843impl ::core::clone::Clone for MSV1_0_PASSTHROUGH_REQUEST {
2844 fn clone(&self) -> Self {
2845 *self
2846 }
2847}
2848#[repr(C)]
2849pub struct MSV1_0_PASSTHROUGH_RESPONSE {
2850 pub MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE,
2851 pub Pad: u32,
2852 pub DataLength: u32,
2853 pub ValidationData: *mut u8,
2854}
2855impl ::core::marker::Copy for MSV1_0_PASSTHROUGH_RESPONSE {}
2856impl ::core::clone::Clone for MSV1_0_PASSTHROUGH_RESPONSE {
2857 fn clone(&self) -> Self {
2858 *self
2859 }
2860}
2861pub type MSV1_0_PROFILE_BUFFER_TYPE = i32;
2862pub const MsV1_0InteractiveProfile: MSV1_0_PROFILE_BUFFER_TYPE = 2i32;
2863pub const MsV1_0Lm20LogonProfile: MSV1_0_PROFILE_BUFFER_TYPE = 3i32;
2864pub const MsV1_0SmartCardProfile: MSV1_0_PROFILE_BUFFER_TYPE = 4i32;
2865pub type MSV1_0_PROTOCOL_MESSAGE_TYPE = i32;
2866pub const MsV1_0Lm20ChallengeRequest: MSV1_0_PROTOCOL_MESSAGE_TYPE = 0i32;
2867pub const MsV1_0Lm20GetChallengeResponse: MSV1_0_PROTOCOL_MESSAGE_TYPE = 1i32;
2868pub const MsV1_0EnumerateUsers: MSV1_0_PROTOCOL_MESSAGE_TYPE = 2i32;
2869pub const MsV1_0GetUserInfo: MSV1_0_PROTOCOL_MESSAGE_TYPE = 3i32;
2870pub const MsV1_0ReLogonUsers: MSV1_0_PROTOCOL_MESSAGE_TYPE = 4i32;
2871pub const MsV1_0ChangePassword: MSV1_0_PROTOCOL_MESSAGE_TYPE = 5i32;
2872pub const MsV1_0ChangeCachedPassword: MSV1_0_PROTOCOL_MESSAGE_TYPE = 6i32;
2873pub const MsV1_0GenericPassthrough: MSV1_0_PROTOCOL_MESSAGE_TYPE = 7i32;
2874pub const MsV1_0CacheLogon: MSV1_0_PROTOCOL_MESSAGE_TYPE = 8i32;
2875pub const MsV1_0SubAuth: MSV1_0_PROTOCOL_MESSAGE_TYPE = 9i32;
2876pub const MsV1_0DeriveCredential: MSV1_0_PROTOCOL_MESSAGE_TYPE = 10i32;
2877pub const MsV1_0CacheLookup: MSV1_0_PROTOCOL_MESSAGE_TYPE = 11i32;
2878pub const MsV1_0SetProcessOption: MSV1_0_PROTOCOL_MESSAGE_TYPE = 12i32;
2879pub const MsV1_0ConfigLocalAliases: MSV1_0_PROTOCOL_MESSAGE_TYPE = 13i32;
2880pub const MsV1_0ClearCachedCredentials: MSV1_0_PROTOCOL_MESSAGE_TYPE = 14i32;
2881pub const MsV1_0LookupToken: MSV1_0_PROTOCOL_MESSAGE_TYPE = 15i32;
2882pub const MsV1_0ValidateAuth: MSV1_0_PROTOCOL_MESSAGE_TYPE = 16i32;
2883pub const MsV1_0CacheLookupEx: MSV1_0_PROTOCOL_MESSAGE_TYPE = 17i32;
2884pub const MsV1_0GetCredentialKey: MSV1_0_PROTOCOL_MESSAGE_TYPE = 18i32;
2885pub const MsV1_0SetThreadOption: MSV1_0_PROTOCOL_MESSAGE_TYPE = 19i32;
2886pub const MsV1_0DecryptDpapiMasterKey: MSV1_0_PROTOCOL_MESSAGE_TYPE = 20i32;
2887pub const MsV1_0GetStrongCredentialKey: MSV1_0_PROTOCOL_MESSAGE_TYPE = 21i32;
2888pub const MsV1_0TransferCred: MSV1_0_PROTOCOL_MESSAGE_TYPE = 22i32;
2889pub const MsV1_0ProvisionTbal: MSV1_0_PROTOCOL_MESSAGE_TYPE = 23i32;
2890pub const MsV1_0DeleteTbalSecrets: MSV1_0_PROTOCOL_MESSAGE_TYPE = 24i32;
2891#[repr(C, packed(1))]
2892pub struct MSV1_0_REMOTE_SUPPLEMENTAL_CREDENTIAL {
2893 pub Version: u32,
2894 pub Flags: u32,
2895 pub CredentialKey: MSV1_0_CREDENTIAL_KEY,
2896 pub CredentialKeyType: MSV1_0_CREDENTIAL_KEY_TYPE,
2897 pub EncryptedCredsSize: u32,
2898 pub EncryptedCreds: [u8; 1],
2899}
2900impl ::core::marker::Copy for MSV1_0_REMOTE_SUPPLEMENTAL_CREDENTIAL {}
2901impl ::core::clone::Clone for MSV1_0_REMOTE_SUPPLEMENTAL_CREDENTIAL {
2902 fn clone(&self) -> Self {
2903 *self
2904 }
2905}
2906pub const MSV1_0_S4U2SELF: u32 = 131072u32;
2907#[repr(C)]
2908#[cfg(feature = "Win32_Foundation")]
2909pub struct MSV1_0_S4U_LOGON {
2910 pub MessageType: MSV1_0_LOGON_SUBMIT_TYPE,
2911 pub Flags: u32,
2912 pub UserPrincipalName: super::super::super::Foundation::UNICODE_STRING,
2913 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
2914}
2915#[cfg(feature = "Win32_Foundation")]
2916impl ::core::marker::Copy for MSV1_0_S4U_LOGON {}
2917#[cfg(feature = "Win32_Foundation")]
2918impl ::core::clone::Clone for MSV1_0_S4U_LOGON {
2919 fn clone(&self) -> Self {
2920 *self
2921 }
2922}
2923pub const MSV1_0_S4U_LOGON_FLAG_CHECK_LOGONHOURS: u32 = 2u32;
2924pub const MSV1_0_SHA_PASSWORD_LENGTH: u32 = 20u32;
2925pub const MSV1_0_SUBAUTHENTICATION_DLL: u32 = 4278190080u32;
2926pub const MSV1_0_SUBAUTHENTICATION_DLL_EX: u32 = 1048576u32;
2927pub const MSV1_0_SUBAUTHENTICATION_DLL_IIS: u32 = 132u32;
2928pub const MSV1_0_SUBAUTHENTICATION_DLL_RAS: u32 = 2u32;
2929pub const MSV1_0_SUBAUTHENTICATION_DLL_SHIFT: u32 = 24u32;
2930pub const MSV1_0_SUBAUTHENTICATION_FLAGS: u32 = 4278190080u32;
2931pub const MSV1_0_SUBAUTH_ACCOUNT_DISABLED: u32 = 1u32;
2932pub const MSV1_0_SUBAUTH_ACCOUNT_EXPIRY: u32 = 16u32;
2933pub const MSV1_0_SUBAUTH_ACCOUNT_TYPE: u32 = 64u32;
2934pub const MSV1_0_SUBAUTH_LOCKOUT: u32 = 128u32;
2935#[repr(C)]
2936#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
2937pub struct MSV1_0_SUBAUTH_LOGON {
2938 pub MessageType: MSV1_0_LOGON_SUBMIT_TYPE,
2939 pub LogonDomainName: super::super::super::Foundation::UNICODE_STRING,
2940 pub UserName: super::super::super::Foundation::UNICODE_STRING,
2941 pub Workstation: super::super::super::Foundation::UNICODE_STRING,
2942 pub ChallengeToClient: [u8; 8],
2943 pub AuthenticationInfo1: super::super::super::System::Kernel::STRING,
2944 pub AuthenticationInfo2: super::super::super::System::Kernel::STRING,
2945 pub ParameterControl: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL,
2946 pub SubAuthPackageId: u32,
2947}
2948#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
2949impl ::core::marker::Copy for MSV1_0_SUBAUTH_LOGON {}
2950#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
2951impl ::core::clone::Clone for MSV1_0_SUBAUTH_LOGON {
2952 fn clone(&self) -> Self {
2953 *self
2954 }
2955}
2956pub const MSV1_0_SUBAUTH_LOGON_HOURS: u32 = 8u32;
2957pub const MSV1_0_SUBAUTH_PASSWORD: u32 = 2u32;
2958pub const MSV1_0_SUBAUTH_PASSWORD_EXPIRY: u32 = 32u32;
2959#[repr(C)]
2960pub struct MSV1_0_SUBAUTH_REQUEST {
2961 pub MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE,
2962 pub SubAuthPackageId: u32,
2963 pub SubAuthInfoLength: u32,
2964 pub SubAuthSubmitBuffer: *mut u8,
2965}
2966impl ::core::marker::Copy for MSV1_0_SUBAUTH_REQUEST {}
2967impl ::core::clone::Clone for MSV1_0_SUBAUTH_REQUEST {
2968 fn clone(&self) -> Self {
2969 *self
2970 }
2971}
2972#[repr(C)]
2973pub struct MSV1_0_SUBAUTH_RESPONSE {
2974 pub MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE,
2975 pub SubAuthInfoLength: u32,
2976 pub SubAuthReturnBuffer: *mut u8,
2977}
2978impl ::core::marker::Copy for MSV1_0_SUBAUTH_RESPONSE {}
2979impl ::core::clone::Clone for MSV1_0_SUBAUTH_RESPONSE {
2980 fn clone(&self) -> Self {
2981 *self
2982 }
2983}
2984pub const MSV1_0_SUBAUTH_WORKSTATIONS: u32 = 4u32;
2985#[repr(C)]
2986pub struct MSV1_0_SUPPLEMENTAL_CREDENTIAL {
2987 pub Version: u32,
2988 pub Flags: MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS,
2989 pub LmPassword: [u8; 16],
2990 pub NtPassword: [u8; 16],
2991}
2992impl ::core::marker::Copy for MSV1_0_SUPPLEMENTAL_CREDENTIAL {}
2993impl ::core::clone::Clone for MSV1_0_SUPPLEMENTAL_CREDENTIAL {
2994 fn clone(&self) -> Self {
2995 *self
2996 }
2997}
2998#[repr(C)]
2999pub struct MSV1_0_SUPPLEMENTAL_CREDENTIAL_V2 {
3000 pub Version: u32,
3001 pub Flags: u32,
3002 pub NtPassword: [u8; 16],
3003 pub CredentialKey: MSV1_0_CREDENTIAL_KEY,
3004}
3005impl ::core::marker::Copy for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V2 {}
3006impl ::core::clone::Clone for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V2 {
3007 fn clone(&self) -> Self {
3008 *self
3009 }
3010}
3011#[repr(C)]
3012pub struct MSV1_0_SUPPLEMENTAL_CREDENTIAL_V3 {
3013 pub Version: u32,
3014 pub Flags: u32,
3015 pub CredentialKeyType: MSV1_0_CREDENTIAL_KEY_TYPE,
3016 pub NtPassword: [u8; 16],
3017 pub CredentialKey: MSV1_0_CREDENTIAL_KEY,
3018 pub ShaPassword: [u8; 20],
3019}
3020impl ::core::marker::Copy for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V3 {}
3021impl ::core::clone::Clone for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V3 {
3022 fn clone(&self) -> Self {
3023 *self
3024 }
3025}
3026pub const MSV1_0_USER_SESSION_KEY_LENGTH: u32 = 16u32;
3027pub const MSV1_0_USE_CLIENT_CHALLENGE: u32 = 128u32;
3028pub const MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY: u32 = 32768u32;
3029#[repr(C)]
3030#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
3031pub struct MSV1_0_VALIDATION_INFO {
3032 pub LogoffTime: i64,
3033 pub KickoffTime: i64,
3034 pub LogonServer: super::super::super::Foundation::UNICODE_STRING,
3035 pub LogonDomainName: super::super::super::Foundation::UNICODE_STRING,
3036 pub SessionKey: USER_SESSION_KEY,
3037 pub Authoritative: super::super::super::Foundation::BOOLEAN,
3038 pub UserFlags: u32,
3039 pub WhichFields: u32,
3040 pub UserId: u32,
3041}
3042#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
3043impl ::core::marker::Copy for MSV1_0_VALIDATION_INFO {}
3044#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
3045impl ::core::clone::Clone for MSV1_0_VALIDATION_INFO {
3046 fn clone(&self) -> Self {
3047 *self
3048 }
3049}
3050pub const MSV1_0_VALIDATION_KICKOFF_TIME: u32 = 2u32;
3051pub const MSV1_0_VALIDATION_LOGOFF_TIME: u32 = 1u32;
3052pub const MSV1_0_VALIDATION_LOGON_DOMAIN: u32 = 8u32;
3053pub const MSV1_0_VALIDATION_LOGON_SERVER: u32 = 4u32;
3054pub const MSV1_0_VALIDATION_SESSION_KEY: u32 = 16u32;
3055pub const MSV1_0_VALIDATION_USER_FLAGS: u32 = 32u32;
3056pub const MSV1_0_VALIDATION_USER_ID: u32 = 64u32;
3057pub type MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = u32;
3058pub const MSV1_0_CLEARTEXT_PASSWORD_ALLOWED: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = 2u32;
3059pub const MSV1_0_UPDATE_LOGON_STATISTICS: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = 4u32;
3060pub const MSV1_0_RETURN_USER_PARAMETERS: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = 8u32;
3061pub const MSV1_0_DONT_TRY_GUEST_ACCOUNT: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = 16u32;
3062pub const MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = 32u32;
3063pub const MSV1_0_RETURN_PASSWORD_EXPIRY: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = 64u32;
3064pub const MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = 2048u32;
3065pub const MSV1_0_TRY_GUEST_ACCOUNT_ONLY: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = 256u32;
3066pub const MSV1_0_RETURN_PROFILE_PATH: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = 512u32;
3067pub const MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = 1024u32;
3068pub type MSV_SUB_AUTHENTICATION_FILTER = u32;
3069pub const LOGON_GUEST: MSV_SUB_AUTHENTICATION_FILTER = 1u32;
3070pub const LOGON_NOENCRYPTION: MSV_SUB_AUTHENTICATION_FILTER = 2u32;
3071pub const LOGON_CACHED_ACCOUNT: MSV_SUB_AUTHENTICATION_FILTER = 4u32;
3072pub const LOGON_USED_LM_PASSWORD: MSV_SUB_AUTHENTICATION_FILTER = 8u32;
3073pub const LOGON_EXTRA_SIDS: MSV_SUB_AUTHENTICATION_FILTER = 32u32;
3074pub const LOGON_SUBAUTH_SESSION_KEY: MSV_SUB_AUTHENTICATION_FILTER = 64u32;
3075pub const LOGON_SERVER_TRUST_ACCOUNT: MSV_SUB_AUTHENTICATION_FILTER = 128u32;
3076pub const LOGON_PROFILE_PATH_RETURNED: MSV_SUB_AUTHENTICATION_FILTER = 1024u32;
3077pub const LOGON_RESOURCE_GROUPS: MSV_SUB_AUTHENTICATION_FILTER = 512u32;
3078pub type MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS = u32;
3079pub const MSV1_0_CRED_LM_PRESENT: MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS = 1u32;
3080pub const MSV1_0_CRED_NT_PRESENT: MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS = 2u32;
3081pub const MSV1_0_CRED_VERSION: MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS = 0u32;
3082pub const NEGOTIATE_ALLOW_NTLM: u32 = 268435456u32;
3083#[repr(C)]
3084#[cfg(feature = "Win32_Foundation")]
3085pub struct NEGOTIATE_CALLER_NAME_REQUEST {
3086 pub MessageType: u32,
3087 pub LogonId: super::super::super::Foundation::LUID,
3088}
3089#[cfg(feature = "Win32_Foundation")]
3090impl ::core::marker::Copy for NEGOTIATE_CALLER_NAME_REQUEST {}
3091#[cfg(feature = "Win32_Foundation")]
3092impl ::core::clone::Clone for NEGOTIATE_CALLER_NAME_REQUEST {
3093 fn clone(&self) -> Self {
3094 *self
3095 }
3096}
3097#[repr(C)]
3098#[cfg(feature = "Win32_Foundation")]
3099pub struct NEGOTIATE_CALLER_NAME_RESPONSE {
3100 pub MessageType: u32,
3101 pub CallerName: super::super::super::Foundation::PWSTR,
3102}
3103#[cfg(feature = "Win32_Foundation")]
3104impl ::core::marker::Copy for NEGOTIATE_CALLER_NAME_RESPONSE {}
3105#[cfg(feature = "Win32_Foundation")]
3106impl ::core::clone::Clone for NEGOTIATE_CALLER_NAME_RESPONSE {
3107 fn clone(&self) -> Self {
3108 *self
3109 }
3110}
3111pub const NEGOTIATE_MAX_PREFIX: u32 = 32u32;
3112pub type NEGOTIATE_MESSAGES = i32;
3113pub const NegEnumPackagePrefixes: NEGOTIATE_MESSAGES = 0i32;
3114pub const NegGetCallerName: NEGOTIATE_MESSAGES = 1i32;
3115pub const NegTransferCredentials: NEGOTIATE_MESSAGES = 2i32;
3116pub const NegMsgReserved1: NEGOTIATE_MESSAGES = 3i32;
3117pub const NegCallPackageMax: NEGOTIATE_MESSAGES = 4i32;
3118pub const NEGOTIATE_NEG_NTLM: u32 = 536870912u32;
3119#[repr(C)]
3120pub struct NEGOTIATE_PACKAGE_PREFIX {
3121 pub PackageId: usize,
3122 pub PackageDataA: *mut ::core::ffi::c_void,
3123 pub PackageDataW: *mut ::core::ffi::c_void,
3124 pub PrefixLen: usize,
3125 pub Prefix: [u8; 32],
3126}
3127impl ::core::marker::Copy for NEGOTIATE_PACKAGE_PREFIX {}
3128impl ::core::clone::Clone for NEGOTIATE_PACKAGE_PREFIX {
3129 fn clone(&self) -> Self {
3130 *self
3131 }
3132}
3133#[repr(C)]
3134pub struct NEGOTIATE_PACKAGE_PREFIXES {
3135 pub MessageType: u32,
3136 pub PrefixCount: u32,
3137 pub Offset: u32,
3138 pub Pad: u32,
3139}
3140impl ::core::marker::Copy for NEGOTIATE_PACKAGE_PREFIXES {}
3141impl ::core::clone::Clone for NEGOTIATE_PACKAGE_PREFIXES {
3142 fn clone(&self) -> Self {
3143 *self
3144 }
3145}
3146#[repr(C)]
3147#[cfg(feature = "Win32_Foundation")]
3148pub struct NETLOGON_GENERIC_INFO {
3149 pub Identity: NETLOGON_LOGON_IDENTITY_INFO,
3150 pub PackageName: super::super::super::Foundation::UNICODE_STRING,
3151 pub DataLength: u32,
3152 pub LogonData: *mut u8,
3153}
3154#[cfg(feature = "Win32_Foundation")]
3155impl ::core::marker::Copy for NETLOGON_GENERIC_INFO {}
3156#[cfg(feature = "Win32_Foundation")]
3157impl ::core::clone::Clone for NETLOGON_GENERIC_INFO {
3158 fn clone(&self) -> Self {
3159 *self
3160 }
3161}
3162#[repr(C)]
3163#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
3164pub struct NETLOGON_INTERACTIVE_INFO {
3165 pub Identity: NETLOGON_LOGON_IDENTITY_INFO,
3166 pub LmOwfPassword: super::super::super::System::PasswordManagement::LM_OWF_PASSWORD,
3167 pub NtOwfPassword: super::super::super::System::PasswordManagement::LM_OWF_PASSWORD,
3168}
3169#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
3170impl ::core::marker::Copy for NETLOGON_INTERACTIVE_INFO {}
3171#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
3172impl ::core::clone::Clone for NETLOGON_INTERACTIVE_INFO {
3173 fn clone(&self) -> Self {
3174 *self
3175 }
3176}
3177#[repr(C)]
3178#[cfg(feature = "Win32_Foundation")]
3179pub struct NETLOGON_LOGON_IDENTITY_INFO {
3180 pub LogonDomainName: super::super::super::Foundation::UNICODE_STRING,
3181 pub ParameterControl: u32,
3182 pub LogonId: i64,
3183 pub UserName: super::super::super::Foundation::UNICODE_STRING,
3184 pub Workstation: super::super::super::Foundation::UNICODE_STRING,
3185}
3186#[cfg(feature = "Win32_Foundation")]
3187impl ::core::marker::Copy for NETLOGON_LOGON_IDENTITY_INFO {}
3188#[cfg(feature = "Win32_Foundation")]
3189impl ::core::clone::Clone for NETLOGON_LOGON_IDENTITY_INFO {
3190 fn clone(&self) -> Self {
3191 *self
3192 }
3193}
3194pub type NETLOGON_LOGON_INFO_CLASS = i32;
3195pub const NetlogonInteractiveInformation: NETLOGON_LOGON_INFO_CLASS = 1i32;
3196pub const NetlogonNetworkInformation: NETLOGON_LOGON_INFO_CLASS = 2i32;
3197pub const NetlogonServiceInformation: NETLOGON_LOGON_INFO_CLASS = 3i32;
3198pub const NetlogonGenericInformation: NETLOGON_LOGON_INFO_CLASS = 4i32;
3199pub const NetlogonInteractiveTransitiveInformation: NETLOGON_LOGON_INFO_CLASS = 5i32;
3200pub const NetlogonNetworkTransitiveInformation: NETLOGON_LOGON_INFO_CLASS = 6i32;
3201pub const NetlogonServiceTransitiveInformation: NETLOGON_LOGON_INFO_CLASS = 7i32;
3202#[repr(C)]
3203#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
3204pub struct NETLOGON_NETWORK_INFO {
3205 pub Identity: NETLOGON_LOGON_IDENTITY_INFO,
3206 pub LmChallenge: CLEAR_BLOCK,
3207 pub NtChallengeResponse: super::super::super::System::Kernel::STRING,
3208 pub LmChallengeResponse: super::super::super::System::Kernel::STRING,
3209}
3210#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
3211impl ::core::marker::Copy for NETLOGON_NETWORK_INFO {}
3212#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
3213impl ::core::clone::Clone for NETLOGON_NETWORK_INFO {
3214 fn clone(&self) -> Self {
3215 *self
3216 }
3217}
3218#[repr(C)]
3219#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
3220pub struct NETLOGON_SERVICE_INFO {
3221 pub Identity: NETLOGON_LOGON_IDENTITY_INFO,
3222 pub LmOwfPassword: super::super::super::System::PasswordManagement::LM_OWF_PASSWORD,
3223 pub NtOwfPassword: super::super::super::System::PasswordManagement::LM_OWF_PASSWORD,
3224}
3225#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
3226impl ::core::marker::Copy for NETLOGON_SERVICE_INFO {}
3227#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
3228impl ::core::clone::Clone for NETLOGON_SERVICE_INFO {
3229 fn clone(&self) -> Self {
3230 *self
3231 }
3232}
3233pub const NGC_DATA_FLAG_IS_CLOUD_TRUST_CRED: u32 = 8u32;
3234pub const NGC_DATA_FLAG_IS_SMARTCARD_DATA: u32 = 4u32;
3235pub const NGC_DATA_FLAG_KERB_CERTIFICATE_LOGON_FLAG_CHECK_DUPLICATES: u32 = 1u32;
3236pub const NGC_DATA_FLAG_KERB_CERTIFICATE_LOGON_FLAG_USE_CERTIFICATE_INFO: u32 = 2u32;
3237pub const NOTIFIER_FLAG_NEW_THREAD: u32 = 1u32;
3238pub const NOTIFIER_FLAG_ONE_SHOT: u32 = 2u32;
3239pub const NOTIFIER_FLAG_SECONDS: u32 = 2147483648u32;
3240pub const NOTIFIER_TYPE_HANDLE_WAIT: u32 = 2u32;
3241pub const NOTIFIER_TYPE_IMMEDIATE: u32 = 16u32;
3242pub const NOTIFIER_TYPE_INTERVAL: u32 = 1u32;
3243pub const NOTIFIER_TYPE_NOTIFY_EVENT: u32 = 4u32;
3244pub const NOTIFIER_TYPE_STATE_CHANGE: u32 = 3u32;
3245pub const NOTIFY_CLASS_DOMAIN_CHANGE: u32 = 3u32;
3246pub const NOTIFY_CLASS_PACKAGE_CHANGE: u32 = 1u32;
3247pub const NOTIFY_CLASS_REGISTRY_CHANGE: u32 = 4u32;
3248pub const NOTIFY_CLASS_ROLE_CHANGE: u32 = 2u32;
3249pub const NO_LONG_NAMES: u32 = 2u32;
3250pub const PER_USER_AUDIT_FAILURE_EXCLUDE: u32 = 8u32;
3251pub const PER_USER_AUDIT_FAILURE_INCLUDE: u32 = 4u32;
3252pub const PER_USER_AUDIT_NONE: u32 = 16u32;
3253pub const PER_USER_AUDIT_SUCCESS_EXCLUDE: u32 = 2u32;
3254pub const PER_USER_AUDIT_SUCCESS_INCLUDE: u32 = 1u32;
3255pub const PER_USER_POLICY_UNCHANGED: u32 = 0u32;
3256pub type PKSEC_CREATE_CONTEXT_LIST = unsafe extern "system" fn(r#type: KSEC_CONTEXT_TYPE) -> *mut ::core::ffi::c_void;
3257#[cfg(feature = "Win32_System_Kernel")]
3258pub type PKSEC_DEREFERENCE_LIST_ENTRY = unsafe extern "system" fn(entry: *const KSEC_LIST_ENTRY, delete: *mut u8);
3259#[cfg(feature = "Win32_System_Kernel")]
3260pub type PKSEC_INSERT_LIST_ENTRY = unsafe extern "system" fn(list: *const ::core::ffi::c_void, entry: *const KSEC_LIST_ENTRY);
3261pub type PKSEC_LOCATE_PKG_BY_ID = unsafe extern "system" fn(packageid: u32) -> *mut ::core::ffi::c_void;
3262#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
3263pub type PKSEC_REFERENCE_LIST_ENTRY = unsafe extern "system" fn(entry: *const KSEC_LIST_ENTRY, signature: u32, removenoref: super::super::super::Foundation::BOOLEAN) -> super::super::super::Foundation::NTSTATUS;
3264#[cfg(feature = "Win32_Foundation")]
3265pub type PKSEC_SERIALIZE_SCHANNEL_AUTH_DATA = unsafe extern "system" fn(pvauthdata: *const ::core::ffi::c_void, size: *mut u32, serializeddata: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
3266#[cfg(feature = "Win32_Foundation")]
3267pub type PKSEC_SERIALIZE_WINNT_AUTH_DATA = unsafe extern "system" fn(pvauthdata: *const ::core::ffi::c_void, size: *mut u32, serializeddata: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
3268#[repr(C)]
3269#[cfg(feature = "Win32_Foundation")]
3270pub struct PKU2U_CERTIFICATE_S4U_LOGON {
3271 pub MessageType: PKU2U_LOGON_SUBMIT_TYPE,
3272 pub Flags: u32,
3273 pub UserPrincipalName: super::super::super::Foundation::UNICODE_STRING,
3274 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
3275 pub CertificateLength: u32,
3276 pub Certificate: *mut u8,
3277}
3278#[cfg(feature = "Win32_Foundation")]
3279impl ::core::marker::Copy for PKU2U_CERTIFICATE_S4U_LOGON {}
3280#[cfg(feature = "Win32_Foundation")]
3281impl ::core::clone::Clone for PKU2U_CERTIFICATE_S4U_LOGON {
3282 fn clone(&self) -> Self {
3283 *self
3284 }
3285}
3286#[repr(C)]
3287pub struct PKU2U_CERT_BLOB {
3288 pub CertOffset: u32,
3289 pub CertLength: u16,
3290}
3291impl ::core::marker::Copy for PKU2U_CERT_BLOB {}
3292impl ::core::clone::Clone for PKU2U_CERT_BLOB {
3293 fn clone(&self) -> Self {
3294 *self
3295 }
3296}
3297#[repr(C)]
3298pub struct PKU2U_CREDUI_CONTEXT {
3299 pub Version: u64,
3300 pub cbHeaderLength: u16,
3301 pub cbStructureLength: u32,
3302 pub CertArrayCount: u16,
3303 pub CertArrayOffset: u32,
3304}
3305impl ::core::marker::Copy for PKU2U_CREDUI_CONTEXT {}
3306impl ::core::clone::Clone for PKU2U_CREDUI_CONTEXT {
3307 fn clone(&self) -> Self {
3308 *self
3309 }
3310}
3311pub type PKU2U_LOGON_SUBMIT_TYPE = i32;
3312pub const Pku2uCertificateS4ULogon: PKU2U_LOGON_SUBMIT_TYPE = 14i32;
3313#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
3314pub type PLSA_ADD_CREDENTIAL = unsafe extern "system" fn(logonid: *const super::super::super::Foundation::LUID, authenticationpackage: u32, primarykeyvalue: *const super::super::super::System::Kernel::STRING, credentials: *const super::super::super::System::Kernel::STRING) -> super::super::super::Foundation::NTSTATUS;
3315#[cfg(feature = "Win32_Foundation")]
3316pub type PLSA_ALLOCATE_CLIENT_BUFFER = unsafe extern "system" fn(clientrequest: *const *const ::core::ffi::c_void, lengthrequired: u32, clientbaseaddress: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
3317pub type PLSA_ALLOCATE_LSA_HEAP = unsafe extern "system" fn(length: u32) -> *mut ::core::ffi::c_void;
3318pub type PLSA_ALLOCATE_PRIVATE_HEAP = unsafe extern "system" fn(length: usize) -> *mut ::core::ffi::c_void;
3319pub type PLSA_ALLOCATE_SHARED_MEMORY = unsafe extern "system" fn(sharedmem: *const ::core::ffi::c_void, size: u32) -> *mut ::core::ffi::c_void;
3320#[cfg(feature = "Win32_Foundation")]
3321pub type PLSA_AP_CALL_PACKAGE = unsafe extern "system" fn(clientrequest: *const *const ::core::ffi::c_void, protocolsubmitbuffer: *const ::core::ffi::c_void, clientbufferbase: *const ::core::ffi::c_void, submitbufferlength: u32, protocolreturnbuffer: *mut *mut ::core::ffi::c_void, returnbufferlength: *mut u32, protocolstatus: *mut i32) -> super::super::super::Foundation::NTSTATUS;
3322#[cfg(feature = "Win32_Foundation")]
3323pub type PLSA_AP_CALL_PACKAGE_PASSTHROUGH = unsafe extern "system" fn(clientrequest: *const *const ::core::ffi::c_void, protocolsubmitbuffer: *const ::core::ffi::c_void, clientbufferbase: *const ::core::ffi::c_void, submitbufferlength: u32, protocolreturnbuffer: *mut *mut ::core::ffi::c_void, returnbufferlength: *mut u32, protocolstatus: *mut i32) -> super::super::super::Foundation::NTSTATUS;
3324#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
3325pub type PLSA_AP_INITIALIZE_PACKAGE = unsafe extern "system" fn(authenticationpackageid: u32, lsadispatchtable: *const LSA_DISPATCH_TABLE, database: *const super::super::super::System::Kernel::STRING, confidentiality: *const super::super::super::System::Kernel::STRING, authenticationpackagename: *mut *mut super::super::super::System::Kernel::STRING) -> super::super::super::Foundation::NTSTATUS;
3326#[cfg(feature = "Win32_Foundation")]
3327pub type PLSA_AP_LOGON_TERMINATED = unsafe extern "system" fn(logonid: *const super::super::super::Foundation::LUID);
3328#[cfg(feature = "Win32_Foundation")]
3329pub type PLSA_AP_LOGON_USER = unsafe extern "system" fn(
3330 clientrequest: *const *const ::core::ffi::c_void,
3331 logontype: SECURITY_LOGON_TYPE,
3332 authenticationinformation: *const ::core::ffi::c_void,
3333 clientauthenticationbase: *const ::core::ffi::c_void,
3334 authenticationinformationlength: u32,
3335 profilebuffer: *mut *mut ::core::ffi::c_void,
3336 profilebufferlength: *mut u32,
3337 logonid: *mut super::super::super::Foundation::LUID,
3338 substatus: *mut i32,
3339 tokeninformationtype: *mut LSA_TOKEN_INFORMATION_TYPE,
3340 tokeninformation: *mut *mut ::core::ffi::c_void,
3341 accountname: *mut *mut super::super::super::Foundation::UNICODE_STRING,
3342 authenticatingauthority: *mut *mut super::super::super::Foundation::UNICODE_STRING,
3343) -> super::super::super::Foundation::NTSTATUS;
3344#[cfg(feature = "Win32_Foundation")]
3345pub type PLSA_AP_LOGON_USER_EX = unsafe extern "system" fn(
3346 clientrequest: *const *const ::core::ffi::c_void,
3347 logontype: SECURITY_LOGON_TYPE,
3348 authenticationinformation: *const ::core::ffi::c_void,
3349 clientauthenticationbase: *const ::core::ffi::c_void,
3350 authenticationinformationlength: u32,
3351 profilebuffer: *mut *mut ::core::ffi::c_void,
3352 profilebufferlength: *mut u32,
3353 logonid: *mut super::super::super::Foundation::LUID,
3354 substatus: *mut i32,
3355 tokeninformationtype: *mut LSA_TOKEN_INFORMATION_TYPE,
3356 tokeninformation: *mut *mut ::core::ffi::c_void,
3357 accountname: *mut *mut super::super::super::Foundation::UNICODE_STRING,
3358 authenticatingauthority: *mut *mut super::super::super::Foundation::UNICODE_STRING,
3359 machinename: *mut *mut super::super::super::Foundation::UNICODE_STRING,
3360) -> super::super::super::Foundation::NTSTATUS;
3361#[cfg(feature = "Win32_Foundation")]
3362pub type PLSA_AP_LOGON_USER_EX2 = unsafe extern "system" fn(
3363 clientrequest: *const *const ::core::ffi::c_void,
3364 logontype: SECURITY_LOGON_TYPE,
3365 protocolsubmitbuffer: *const ::core::ffi::c_void,
3366 clientbufferbase: *const ::core::ffi::c_void,
3367 submitbuffersize: u32,
3368 profilebuffer: *mut *mut ::core::ffi::c_void,
3369 profilebuffersize: *mut u32,
3370 logonid: *mut super::super::super::Foundation::LUID,
3371 substatus: *mut i32,
3372 tokeninformationtype: *mut LSA_TOKEN_INFORMATION_TYPE,
3373 tokeninformation: *mut *mut ::core::ffi::c_void,
3374 accountname: *mut *mut super::super::super::Foundation::UNICODE_STRING,
3375 authenticatingauthority: *mut *mut super::super::super::Foundation::UNICODE_STRING,
3376 machinename: *mut *mut super::super::super::Foundation::UNICODE_STRING,
3377 primarycredentials: *mut SECPKG_PRIMARY_CRED,
3378 supplementalcredentials: *mut *mut SECPKG_SUPPLEMENTAL_CRED_ARRAY,
3379) -> super::super::super::Foundation::NTSTATUS;
3380#[cfg(feature = "Win32_Foundation")]
3381pub type PLSA_AP_LOGON_USER_EX3 = unsafe extern "system" fn(
3382 clientrequest: *const *const ::core::ffi::c_void,
3383 logontype: SECURITY_LOGON_TYPE,
3384 protocolsubmitbuffer: *const ::core::ffi::c_void,
3385 clientbufferbase: *const ::core::ffi::c_void,
3386 submitbuffersize: u32,
3387 surrogatelogon: *mut SECPKG_SURROGATE_LOGON,
3388 profilebuffer: *mut *mut ::core::ffi::c_void,
3389 profilebuffersize: *mut u32,
3390 logonid: *mut super::super::super::Foundation::LUID,
3391 substatus: *mut i32,
3392 tokeninformationtype: *mut LSA_TOKEN_INFORMATION_TYPE,
3393 tokeninformation: *mut *mut ::core::ffi::c_void,
3394 accountname: *mut *mut super::super::super::Foundation::UNICODE_STRING,
3395 authenticatingauthority: *mut *mut super::super::super::Foundation::UNICODE_STRING,
3396 machinename: *mut *mut super::super::super::Foundation::UNICODE_STRING,
3397 primarycredentials: *mut SECPKG_PRIMARY_CRED,
3398 supplementalcredentials: *mut *mut SECPKG_SUPPLEMENTAL_CRED_ARRAY,
3399) -> super::super::super::Foundation::NTSTATUS;
3400#[cfg(feature = "Win32_Foundation")]
3401pub type PLSA_AP_POST_LOGON_USER_SURROGATE = unsafe extern "system" fn(
3402 clientrequest: *const *const ::core::ffi::c_void,
3403 logontype: SECURITY_LOGON_TYPE,
3404 protocolsubmitbuffer: *const ::core::ffi::c_void,
3405 clientbufferbase: *const ::core::ffi::c_void,
3406 submitbuffersize: u32,
3407 surrogatelogon: *const SECPKG_SURROGATE_LOGON,
3408 profilebuffer: *const ::core::ffi::c_void,
3409 profilebuffersize: u32,
3410 logonid: *const super::super::super::Foundation::LUID,
3411 status: super::super::super::Foundation::NTSTATUS,
3412 substatus: super::super::super::Foundation::NTSTATUS,
3413 tokeninformationtype: LSA_TOKEN_INFORMATION_TYPE,
3414 tokeninformation: *const ::core::ffi::c_void,
3415 accountname: *const super::super::super::Foundation::UNICODE_STRING,
3416 authenticatingauthority: *const super::super::super::Foundation::UNICODE_STRING,
3417 machinename: *const super::super::super::Foundation::UNICODE_STRING,
3418 primarycredentials: *const SECPKG_PRIMARY_CRED,
3419 supplementalcredentials: *const SECPKG_SUPPLEMENTAL_CRED_ARRAY,
3420) -> super::super::super::Foundation::NTSTATUS;
3421#[cfg(feature = "Win32_Foundation")]
3422pub type PLSA_AP_PRE_LOGON_USER_SURROGATE = unsafe extern "system" fn(clientrequest: *const *const ::core::ffi::c_void, logontype: SECURITY_LOGON_TYPE, protocolsubmitbuffer: *const ::core::ffi::c_void, clientbufferbase: *const ::core::ffi::c_void, submitbuffersize: u32, surrogatelogon: *mut SECPKG_SURROGATE_LOGON, substatus: *mut i32) -> super::super::super::Foundation::NTSTATUS;
3423#[cfg(feature = "Win32_Foundation")]
3424pub type PLSA_AUDIT_ACCOUNT_LOGON = unsafe extern "system" fn(auditid: u32, success: super::super::super::Foundation::BOOLEAN, source: *const super::super::super::Foundation::UNICODE_STRING, clientname: *const super::super::super::Foundation::UNICODE_STRING, mappedname: *const super::super::super::Foundation::UNICODE_STRING, status: super::super::super::Foundation::NTSTATUS) -> super::super::super::Foundation::NTSTATUS;
3425#[cfg(feature = "Win32_Foundation")]
3426pub type PLSA_AUDIT_LOGON = unsafe extern "system" fn(
3427 status: super::super::super::Foundation::NTSTATUS,
3428 substatus: super::super::super::Foundation::NTSTATUS,
3429 accountname: *const super::super::super::Foundation::UNICODE_STRING,
3430 authenticatingauthority: *const super::super::super::Foundation::UNICODE_STRING,
3431 workstationname: *const super::super::super::Foundation::UNICODE_STRING,
3432 usersid: super::super::super::Foundation::PSID,
3433 logontype: SECURITY_LOGON_TYPE,
3434 tokensource: *const super::super::TOKEN_SOURCE,
3435 logonid: *const super::super::super::Foundation::LUID,
3436);
3437#[cfg(feature = "Win32_Foundation")]
3438pub type PLSA_AUDIT_LOGON_EX = unsafe extern "system" fn(
3439 status: super::super::super::Foundation::NTSTATUS,
3440 substatus: super::super::super::Foundation::NTSTATUS,
3441 accountname: *const super::super::super::Foundation::UNICODE_STRING,
3442 authenticatingauthority: *const super::super::super::Foundation::UNICODE_STRING,
3443 workstationname: *const super::super::super::Foundation::UNICODE_STRING,
3444 usersid: super::super::super::Foundation::PSID,
3445 logontype: SECURITY_LOGON_TYPE,
3446 impersonationlevel: super::super::SECURITY_IMPERSONATION_LEVEL,
3447 tokensource: *const super::super::TOKEN_SOURCE,
3448 logonid: *const super::super::super::Foundation::LUID,
3449);
3450#[cfg(feature = "Win32_Foundation")]
3451pub type PLSA_CALLBACK_FUNCTION = unsafe extern "system" fn(argument1: usize, argument2: usize, inputbuffer: *mut SecBuffer, outputbuffer: *mut SecBuffer) -> super::super::super::Foundation::NTSTATUS;
3452#[cfg(feature = "Win32_Foundation")]
3453pub type PLSA_CALL_PACKAGE = unsafe extern "system" fn(authenticationpackage: *const super::super::super::Foundation::UNICODE_STRING, protocolsubmitbuffer: *const ::core::ffi::c_void, submitbufferlength: u32, protocolreturnbuffer: *mut *mut ::core::ffi::c_void, returnbufferlength: *mut u32, protocolstatus: *mut i32) -> super::super::super::Foundation::NTSTATUS;
3454#[cfg(feature = "Win32_Foundation")]
3455pub type PLSA_CALL_PACKAGEEX = unsafe extern "system" fn(authenticationpackage: *const super::super::super::Foundation::UNICODE_STRING, clientbufferbase: *const ::core::ffi::c_void, protocolsubmitbuffer: *const ::core::ffi::c_void, submitbufferlength: u32, protocolreturnbuffer: *mut *mut ::core::ffi::c_void, returnbufferlength: *mut u32, protocolstatus: *mut i32) -> super::super::super::Foundation::NTSTATUS;
3456#[cfg(feature = "Win32_Foundation")]
3457pub type PLSA_CALL_PACKAGE_PASSTHROUGH = unsafe extern "system" fn(authenticationpackage: *const super::super::super::Foundation::UNICODE_STRING, clientbufferbase: *const ::core::ffi::c_void, protocolsubmitbuffer: *const ::core::ffi::c_void, submitbufferlength: u32, protocolreturnbuffer: *mut *mut ::core::ffi::c_void, returnbufferlength: *mut u32, protocolstatus: *mut i32) -> super::super::super::Foundation::NTSTATUS;
3458#[cfg(feature = "Win32_Foundation")]
3459pub type PLSA_CANCEL_NOTIFICATION = unsafe extern "system" fn(notifyhandle: super::super::super::Foundation::HANDLE) -> super::super::super::Foundation::NTSTATUS;
3460#[cfg(feature = "Win32_Foundation")]
3461pub type PLSA_CHECK_PROTECTED_USER_BY_TOKEN = unsafe extern "system" fn(usertoken: super::super::super::Foundation::HANDLE, protecteduser: *mut super::super::super::Foundation::BOOLEAN) -> super::super::super::Foundation::NTSTATUS;
3462#[cfg(feature = "Win32_Foundation")]
3463pub type PLSA_CLIENT_CALLBACK = unsafe extern "system" fn(callback: super::super::super::Foundation::PSTR, argument1: usize, argument2: usize, input: *const SecBuffer, output: *mut SecBuffer) -> super::super::super::Foundation::NTSTATUS;
3464#[cfg(feature = "Win32_Foundation")]
3465pub type PLSA_CLOSE_SAM_USER = unsafe extern "system" fn(userhandle: *const ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
3466#[cfg(feature = "Win32_Foundation")]
3467pub type PLSA_CONVERT_AUTH_DATA_TO_TOKEN = unsafe extern "system" fn(
3468 userauthdata: *const ::core::ffi::c_void,
3469 userauthdatasize: u32,
3470 impersonationlevel: super::super::SECURITY_IMPERSONATION_LEVEL,
3471 tokensource: *const super::super::TOKEN_SOURCE,
3472 logontype: SECURITY_LOGON_TYPE,
3473 authorityname: *const super::super::super::Foundation::UNICODE_STRING,
3474 token: *mut super::super::super::Foundation::HANDLE,
3475 logonid: *mut super::super::super::Foundation::LUID,
3476 accountname: *mut super::super::super::Foundation::UNICODE_STRING,
3477 substatus: *mut i32,
3478) -> super::super::super::Foundation::NTSTATUS;
3479#[cfg(feature = "Win32_Foundation")]
3480pub type PLSA_COPY_FROM_CLIENT_BUFFER = unsafe extern "system" fn(clientrequest: *const *const ::core::ffi::c_void, length: u32, buffertocopy: *mut ::core::ffi::c_void, clientbaseaddress: *const ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
3481#[cfg(feature = "Win32_Foundation")]
3482pub type PLSA_COPY_TO_CLIENT_BUFFER = unsafe extern "system" fn(clientrequest: *const *const ::core::ffi::c_void, length: u32, clientbaseaddress: *mut ::core::ffi::c_void, buffertocopy: *const ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
3483#[cfg(feature = "Win32_Foundation")]
3484pub type PLSA_CRACK_SINGLE_NAME = unsafe extern "system" fn(formatoffered: u32, performatgc: super::super::super::Foundation::BOOLEAN, nameinput: *const super::super::super::Foundation::UNICODE_STRING, prefix: *const super::super::super::Foundation::UNICODE_STRING, requestedformat: u32, crackedname: *mut super::super::super::Foundation::UNICODE_STRING, dnsdomainname: *mut super::super::super::Foundation::UNICODE_STRING, substatus: *mut u32) -> super::super::super::Foundation::NTSTATUS;
3485#[cfg(feature = "Win32_Foundation")]
3486pub type PLSA_CREATE_LOGON_SESSION = unsafe extern "system" fn(logonid: *mut super::super::super::Foundation::LUID) -> super::super::super::Foundation::NTSTATUS;
3487pub type PLSA_CREATE_SHARED_MEMORY = unsafe extern "system" fn(maxsize: u32, initialsize: u32) -> *mut ::core::ffi::c_void;
3488#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Threading"))]
3489pub type PLSA_CREATE_THREAD = unsafe extern "system" fn(securityattributes: *const super::super::SECURITY_ATTRIBUTES, stacksize: u32, startfunction: ::core::option::Option<super::super::super::System::Threading::LPTHREAD_START_ROUTINE>, threadparameter: *const ::core::ffi::c_void, creationflags: u32, threadid: *mut u32) -> super::super::super::Foundation::HANDLE;
3490#[cfg(feature = "Win32_Foundation")]
3491pub type PLSA_CREATE_TOKEN = unsafe extern "system" fn(
3492 logonid: *const super::super::super::Foundation::LUID,
3493 tokensource: *const super::super::TOKEN_SOURCE,
3494 logontype: SECURITY_LOGON_TYPE,
3495 impersonationlevel: super::super::SECURITY_IMPERSONATION_LEVEL,
3496 tokeninformationtype: LSA_TOKEN_INFORMATION_TYPE,
3497 tokeninformation: *const ::core::ffi::c_void,
3498 tokengroups: *const super::super::TOKEN_GROUPS,
3499 accountname: *const super::super::super::Foundation::UNICODE_STRING,
3500 authorityname: *const super::super::super::Foundation::UNICODE_STRING,
3501 workstation: *const super::super::super::Foundation::UNICODE_STRING,
3502 profilepath: *const super::super::super::Foundation::UNICODE_STRING,
3503 token: *mut super::super::super::Foundation::HANDLE,
3504 substatus: *mut i32,
3505) -> super::super::super::Foundation::NTSTATUS;
3506#[cfg(feature = "Win32_Foundation")]
3507pub type PLSA_CREATE_TOKEN_EX = unsafe extern "system" fn(
3508 logonid: *const super::super::super::Foundation::LUID,
3509 tokensource: *const super::super::TOKEN_SOURCE,
3510 logontype: SECURITY_LOGON_TYPE,
3511 impersonationlevel: super::super::SECURITY_IMPERSONATION_LEVEL,
3512 tokeninformationtype: LSA_TOKEN_INFORMATION_TYPE,
3513 tokeninformation: *const ::core::ffi::c_void,
3514 tokengroups: *const super::super::TOKEN_GROUPS,
3515 workstation: *const super::super::super::Foundation::UNICODE_STRING,
3516 profilepath: *const super::super::super::Foundation::UNICODE_STRING,
3517 sessioninformation: *const ::core::ffi::c_void,
3518 sessioninformationtype: SECPKG_SESSIONINFO_TYPE,
3519 token: *mut super::super::super::Foundation::HANDLE,
3520 substatus: *mut i32,
3521) -> super::super::super::Foundation::NTSTATUS;
3522#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
3523pub type PLSA_DELETE_CREDENTIAL = unsafe extern "system" fn(logonid: *const super::super::super::Foundation::LUID, authenticationpackage: u32, primarykeyvalue: *const super::super::super::System::Kernel::STRING) -> super::super::super::Foundation::NTSTATUS;
3524#[cfg(feature = "Win32_Foundation")]
3525pub type PLSA_DELETE_LOGON_SESSION = unsafe extern "system" fn(logonid: *const super::super::super::Foundation::LUID) -> super::super::super::Foundation::NTSTATUS;
3526#[cfg(feature = "Win32_Foundation")]
3527pub type PLSA_DELETE_SHARED_MEMORY = unsafe extern "system" fn(sharedmem: *const ::core::ffi::c_void) -> super::super::super::Foundation::BOOLEAN;
3528#[cfg(feature = "Win32_Foundation")]
3529pub type PLSA_DUPLICATE_HANDLE = unsafe extern "system" fn(sourcehandle: super::super::super::Foundation::HANDLE, destionationhandle: *mut super::super::super::Foundation::HANDLE) -> super::super::super::Foundation::NTSTATUS;
3530#[cfg(feature = "Win32_Foundation")]
3531pub type PLSA_EXPAND_AUTH_DATA_FOR_DOMAIN = unsafe extern "system" fn(userauthdata: *const u8, userauthdatasize: u32, reserved: *const ::core::ffi::c_void, expandedauthdata: *mut *mut u8, expandedauthdatasize: *mut u32) -> super::super::super::Foundation::NTSTATUS;
3532#[cfg(feature = "Win32_Foundation")]
3533pub type PLSA_FREE_CLIENT_BUFFER = unsafe extern "system" fn(clientrequest: *const *const ::core::ffi::c_void, clientbaseaddress: *const ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
3534pub type PLSA_FREE_LSA_HEAP = unsafe extern "system" fn(base: *const ::core::ffi::c_void);
3535pub type PLSA_FREE_PRIVATE_HEAP = unsafe extern "system" fn(base: *const ::core::ffi::c_void);
3536pub type PLSA_FREE_SHARED_MEMORY = unsafe extern "system" fn(sharedmem: *const ::core::ffi::c_void, memory: *mut ::core::ffi::c_void);
3537#[cfg(feature = "Win32_Foundation")]
3538pub type PLSA_GET_APP_MODE_INFO = unsafe extern "system" fn(userfunction: *mut u32, argument1: *mut usize, argument2: *mut usize, userdata: *mut SecBuffer, returntolsa: *mut super::super::super::Foundation::BOOLEAN) -> super::super::super::Foundation::NTSTATUS;
3539#[cfg(feature = "Win32_Foundation")]
3540pub type PLSA_GET_AUTH_DATA_FOR_USER = unsafe extern "system" fn(name: *const super::super::super::Foundation::UNICODE_STRING, nametype: SECPKG_NAME_TYPE, prefix: *const super::super::super::Foundation::UNICODE_STRING, userauthdata: *mut *mut u8, userauthdatasize: *mut u32, userflatname: *mut super::super::super::Foundation::UNICODE_STRING) -> super::super::super::Foundation::NTSTATUS;
3541#[cfg(feature = "Win32_Foundation")]
3542pub type PLSA_GET_CALL_INFO = unsafe extern "system" fn(info: *mut SECPKG_CALL_INFO) -> super::super::super::Foundation::BOOLEAN;
3543#[cfg(feature = "Win32_Foundation")]
3544pub type PLSA_GET_CLIENT_INFO = unsafe extern "system" fn(clientinfo: *mut SECPKG_CLIENT_INFO) -> super::super::super::Foundation::NTSTATUS;
3545#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
3546pub type PLSA_GET_CREDENTIALS = unsafe extern "system" fn(logonid: *const super::super::super::Foundation::LUID, authenticationpackage: u32, querycontext: *mut u32, retrieveallcredentials: super::super::super::Foundation::BOOLEAN, primarykeyvalue: *const super::super::super::System::Kernel::STRING, primarykeylength: *mut u32, credentials: *const super::super::super::System::Kernel::STRING) -> super::super::super::Foundation::NTSTATUS;
3547#[cfg(feature = "Win32_Foundation")]
3548pub type PLSA_GET_EXTENDED_CALL_FLAGS = unsafe extern "system" fn(flags: *mut u32) -> super::super::super::Foundation::NTSTATUS;
3549#[cfg(feature = "Win32_Foundation")]
3550pub type PLSA_GET_SERVICE_ACCOUNT_PASSWORD = unsafe extern "system" fn(
3551 accountname: *const super::super::super::Foundation::UNICODE_STRING,
3552 domainname: *const super::super::super::Foundation::UNICODE_STRING,
3553 credfetch: CRED_FETCH,
3554 filetimeexpiry: *mut super::super::super::Foundation::FILETIME,
3555 currentpassword: *mut super::super::super::Foundation::UNICODE_STRING,
3556 previouspassword: *mut super::super::super::Foundation::UNICODE_STRING,
3557 filetimecurrpwdvalidforoutbound: *mut super::super::super::Foundation::FILETIME,
3558) -> super::super::super::Foundation::NTSTATUS;
3559#[cfg(feature = "Win32_Foundation")]
3560pub type PLSA_GET_USER_AUTH_DATA = unsafe extern "system" fn(userhandle: *const ::core::ffi::c_void, userauthdata: *mut *mut u8, userauthdatasize: *mut u32) -> super::super::super::Foundation::NTSTATUS;
3561#[cfg(feature = "Win32_Foundation")]
3562pub type PLSA_GET_USER_CREDENTIALS = unsafe extern "system" fn(userhandle: *const ::core::ffi::c_void, primarycreds: *mut *mut ::core::ffi::c_void, primarycredssize: *mut u32, supplementalcreds: *mut *mut ::core::ffi::c_void, supplementalcredssize: *mut u32) -> super::super::super::Foundation::NTSTATUS;
3563#[cfg(feature = "Win32_Foundation")]
3564pub type PLSA_IMPERSONATE_CLIENT = unsafe extern "system" fn() -> super::super::super::Foundation::NTSTATUS;
3565pub type PLSA_LOCATE_PKG_BY_ID = unsafe extern "system" fn(packgeid: u32) -> *mut ::core::ffi::c_void;
3566#[cfg(feature = "Win32_Foundation")]
3567pub type PLSA_MAP_BUFFER = unsafe extern "system" fn(inputbuffer: *const SecBuffer, outputbuffer: *mut SecBuffer) -> super::super::super::Foundation::NTSTATUS;
3568#[cfg(feature = "Win32_Foundation")]
3569pub type PLSA_OPEN_SAM_USER = unsafe extern "system" fn(name: *const super::super::super::Foundation::UNICODE_STRING, nametype: SECPKG_NAME_TYPE, prefix: *const super::super::super::Foundation::UNICODE_STRING, allowguest: super::super::super::Foundation::BOOLEAN, reserved: u32, userhandle: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
3570#[cfg(feature = "Win32_Foundation")]
3571pub type PLSA_OPEN_TOKEN_BY_LOGON_ID = unsafe extern "system" fn(logonid: *const super::super::super::Foundation::LUID, rettokenhandle: *mut super::super::super::Foundation::HANDLE) -> super::super::super::Foundation::NTSTATUS;
3572pub type PLSA_PROTECT_MEMORY = unsafe extern "system" fn(buffer: *mut ::core::ffi::c_void, buffersize: u32);
3573#[cfg(feature = "Win32_Foundation")]
3574pub type PLSA_QUERY_CLIENT_REQUEST = unsafe extern "system" fn(clientrequest: *const *const ::core::ffi::c_void, querytype: u32, replybuffer: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
3575#[cfg(feature = "Win32_Foundation")]
3576pub type PLSA_REDIRECTED_LOGON_CALLBACK = unsafe extern "system" fn(redirectedlogonhandle: super::super::super::Foundation::HANDLE, buffer: *mut ::core::ffi::c_void, bufferlength: u32, returnbuffer: *mut *mut ::core::ffi::c_void, returnbufferlength: *mut u32) -> super::super::super::Foundation::NTSTATUS;
3577#[cfg(feature = "Win32_Foundation")]
3578pub type PLSA_REDIRECTED_LOGON_CLEANUP_CALLBACK = unsafe extern "system" fn(redirectedlogonhandle: super::super::super::Foundation::HANDLE);
3579#[cfg(feature = "Win32_Foundation")]
3580pub type PLSA_REDIRECTED_LOGON_GET_LOGON_CREDS = unsafe extern "system" fn(redirectedlogonhandle: super::super::super::Foundation::HANDLE, logonbuffer: *mut *mut u8, logonbufferlength: *mut u32) -> super::super::super::Foundation::NTSTATUS;
3581#[cfg(feature = "Win32_Foundation")]
3582pub type PLSA_REDIRECTED_LOGON_GET_SUPP_CREDS = unsafe extern "system" fn(redirectedlogonhandle: super::super::super::Foundation::HANDLE, supplementalcredentials: *mut *mut SECPKG_SUPPLEMENTAL_CRED_ARRAY) -> super::super::super::Foundation::NTSTATUS;
3583#[cfg(feature = "Win32_Foundation")]
3584pub type PLSA_REDIRECTED_LOGON_INIT = unsafe extern "system" fn(redirectedlogonhandle: super::super::super::Foundation::HANDLE, packagename: *const super::super::super::Foundation::UNICODE_STRING, sessionid: u32, logonid: *const super::super::super::Foundation::LUID) -> super::super::super::Foundation::NTSTATUS;
3585#[cfg(feature = "Win32_Foundation")]
3586pub type PLSA_REGISTER_CALLBACK = unsafe extern "system" fn(callbackid: u32, callback: ::core::option::Option<PLSA_CALLBACK_FUNCTION>) -> super::super::super::Foundation::NTSTATUS;
3587#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Threading"))]
3588pub type PLSA_REGISTER_NOTIFICATION = unsafe extern "system" fn(startfunction: ::core::option::Option<super::super::super::System::Threading::LPTHREAD_START_ROUTINE>, parameter: *const ::core::ffi::c_void, notificationtype: u32, notificationclass: u32, notificationflags: u32, intervalminutes: u32, waitevent: super::super::super::Foundation::HANDLE) -> super::super::super::Foundation::HANDLE;
3589#[cfg(feature = "Win32_Foundation")]
3590pub type PLSA_SAVE_SUPPLEMENTAL_CREDENTIALS = unsafe extern "system" fn(logonid: *const super::super::super::Foundation::LUID, supplementalcredsize: u32, supplementalcreds: *const ::core::ffi::c_void, synchronous: super::super::super::Foundation::BOOLEAN) -> super::super::super::Foundation::NTSTATUS;
3591#[cfg(feature = "Win32_Foundation")]
3592pub type PLSA_SET_APP_MODE_INFO = unsafe extern "system" fn(userfunction: u32, argument1: usize, argument2: usize, userdata: *const SecBuffer, returntolsa: super::super::super::Foundation::BOOLEAN) -> super::super::super::Foundation::NTSTATUS;
3593#[cfg(feature = "Win32_Foundation")]
3594pub type PLSA_UNLOAD_PACKAGE = unsafe extern "system" fn() -> super::super::super::Foundation::NTSTATUS;
3595#[cfg(feature = "Win32_Foundation")]
3596pub type PLSA_UPDATE_PRIMARY_CREDENTIALS = unsafe extern "system" fn(primarycredentials: *const SECPKG_PRIMARY_CRED, credentials: *const SECPKG_SUPPLEMENTAL_CRED_ARRAY) -> super::super::super::Foundation::NTSTATUS;
3597#[repr(C)]
3598#[cfg(feature = "Win32_Foundation")]
3599pub struct POLICY_ACCOUNT_DOMAIN_INFO {
3600 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
3601 pub DomainSid: super::super::super::Foundation::PSID,
3602}
3603#[cfg(feature = "Win32_Foundation")]
3604impl ::core::marker::Copy for POLICY_ACCOUNT_DOMAIN_INFO {}
3605#[cfg(feature = "Win32_Foundation")]
3606impl ::core::clone::Clone for POLICY_ACCOUNT_DOMAIN_INFO {
3607 fn clone(&self) -> Self {
3608 *self
3609 }
3610}
3611#[repr(C)]
3612pub struct POLICY_AUDIT_CATEGORIES_INFO {
3613 pub MaximumCategoryCount: u32,
3614 pub SubCategoriesInfo: *mut POLICY_AUDIT_SUBCATEGORIES_INFO,
3615}
3616impl ::core::marker::Copy for POLICY_AUDIT_CATEGORIES_INFO {}
3617impl ::core::clone::Clone for POLICY_AUDIT_CATEGORIES_INFO {
3618 fn clone(&self) -> Self {
3619 *self
3620 }
3621}
3622#[repr(C)]
3623#[cfg(feature = "Win32_Foundation")]
3624pub struct POLICY_AUDIT_EVENTS_INFO {
3625 pub AuditingMode: super::super::super::Foundation::BOOLEAN,
3626 pub EventAuditingOptions: *mut u32,
3627 pub MaximumAuditEventCount: u32,
3628}
3629#[cfg(feature = "Win32_Foundation")]
3630impl ::core::marker::Copy for POLICY_AUDIT_EVENTS_INFO {}
3631#[cfg(feature = "Win32_Foundation")]
3632impl ::core::clone::Clone for POLICY_AUDIT_EVENTS_INFO {
3633 fn clone(&self) -> Self {
3634 *self
3635 }
3636}
3637pub const POLICY_AUDIT_EVENT_FAILURE: i32 = 2i32;
3638pub const POLICY_AUDIT_EVENT_NONE: i32 = 4i32;
3639pub const POLICY_AUDIT_EVENT_SUCCESS: i32 = 1i32;
3640pub type POLICY_AUDIT_EVENT_TYPE = i32;
3641pub const AuditCategorySystem: POLICY_AUDIT_EVENT_TYPE = 0i32;
3642pub const AuditCategoryLogon: POLICY_AUDIT_EVENT_TYPE = 1i32;
3643pub const AuditCategoryObjectAccess: POLICY_AUDIT_EVENT_TYPE = 2i32;
3644pub const AuditCategoryPrivilegeUse: POLICY_AUDIT_EVENT_TYPE = 3i32;
3645pub const AuditCategoryDetailedTracking: POLICY_AUDIT_EVENT_TYPE = 4i32;
3646pub const AuditCategoryPolicyChange: POLICY_AUDIT_EVENT_TYPE = 5i32;
3647pub const AuditCategoryAccountManagement: POLICY_AUDIT_EVENT_TYPE = 6i32;
3648pub const AuditCategoryDirectoryServiceAccess: POLICY_AUDIT_EVENT_TYPE = 7i32;
3649pub const AuditCategoryAccountLogon: POLICY_AUDIT_EVENT_TYPE = 8i32;
3650pub const POLICY_AUDIT_EVENT_UNCHANGED: i32 = 0i32;
3651#[repr(C)]
3652#[cfg(feature = "Win32_Foundation")]
3653pub struct POLICY_AUDIT_FULL_QUERY_INFO {
3654 pub ShutDownOnFull: super::super::super::Foundation::BOOLEAN,
3655 pub LogIsFull: super::super::super::Foundation::BOOLEAN,
3656}
3657#[cfg(feature = "Win32_Foundation")]
3658impl ::core::marker::Copy for POLICY_AUDIT_FULL_QUERY_INFO {}
3659#[cfg(feature = "Win32_Foundation")]
3660impl ::core::clone::Clone for POLICY_AUDIT_FULL_QUERY_INFO {
3661 fn clone(&self) -> Self {
3662 *self
3663 }
3664}
3665#[repr(C)]
3666#[cfg(feature = "Win32_Foundation")]
3667pub struct POLICY_AUDIT_FULL_SET_INFO {
3668 pub ShutDownOnFull: super::super::super::Foundation::BOOLEAN,
3669}
3670#[cfg(feature = "Win32_Foundation")]
3671impl ::core::marker::Copy for POLICY_AUDIT_FULL_SET_INFO {}
3672#[cfg(feature = "Win32_Foundation")]
3673impl ::core::clone::Clone for POLICY_AUDIT_FULL_SET_INFO {
3674 fn clone(&self) -> Self {
3675 *self
3676 }
3677}
3678pub const POLICY_AUDIT_LOG_ADMIN: i32 = 512i32;
3679#[repr(C)]
3680#[cfg(feature = "Win32_Foundation")]
3681pub struct POLICY_AUDIT_LOG_INFO {
3682 pub AuditLogPercentFull: u32,
3683 pub MaximumLogSize: u32,
3684 pub AuditRetentionPeriod: i64,
3685 pub AuditLogFullShutdownInProgress: super::super::super::Foundation::BOOLEAN,
3686 pub TimeToShutdown: i64,
3687 pub NextAuditRecordId: u32,
3688}
3689#[cfg(feature = "Win32_Foundation")]
3690impl ::core::marker::Copy for POLICY_AUDIT_LOG_INFO {}
3691#[cfg(feature = "Win32_Foundation")]
3692impl ::core::clone::Clone for POLICY_AUDIT_LOG_INFO {
3693 fn clone(&self) -> Self {
3694 *self
3695 }
3696}
3697#[repr(C)]
3698#[cfg(feature = "Win32_Foundation")]
3699pub struct POLICY_AUDIT_SID_ARRAY {
3700 pub UsersCount: u32,
3701 pub UserSidArray: *mut super::super::super::Foundation::PSID,
3702}
3703#[cfg(feature = "Win32_Foundation")]
3704impl ::core::marker::Copy for POLICY_AUDIT_SID_ARRAY {}
3705#[cfg(feature = "Win32_Foundation")]
3706impl ::core::clone::Clone for POLICY_AUDIT_SID_ARRAY {
3707 fn clone(&self) -> Self {
3708 *self
3709 }
3710}
3711#[repr(C)]
3712pub struct POLICY_AUDIT_SUBCATEGORIES_INFO {
3713 pub MaximumSubCategoryCount: u32,
3714 pub EventAuditingOptions: *mut u32,
3715}
3716impl ::core::marker::Copy for POLICY_AUDIT_SUBCATEGORIES_INFO {}
3717impl ::core::clone::Clone for POLICY_AUDIT_SUBCATEGORIES_INFO {
3718 fn clone(&self) -> Self {
3719 *self
3720 }
3721}
3722pub const POLICY_CREATE_ACCOUNT: i32 = 16i32;
3723pub const POLICY_CREATE_PRIVILEGE: i32 = 64i32;
3724pub const POLICY_CREATE_SECRET: i32 = 32i32;
3725#[repr(C)]
3726pub struct POLICY_DEFAULT_QUOTA_INFO {
3727 pub QuotaLimits: super::super::QUOTA_LIMITS,
3728}
3729impl ::core::marker::Copy for POLICY_DEFAULT_QUOTA_INFO {}
3730impl ::core::clone::Clone for POLICY_DEFAULT_QUOTA_INFO {
3731 fn clone(&self) -> Self {
3732 *self
3733 }
3734}
3735#[repr(C)]
3736#[cfg(feature = "Win32_Foundation")]
3737pub struct POLICY_DNS_DOMAIN_INFO {
3738 pub Name: super::super::super::Foundation::UNICODE_STRING,
3739 pub DnsDomainName: super::super::super::Foundation::UNICODE_STRING,
3740 pub DnsForestName: super::super::super::Foundation::UNICODE_STRING,
3741 pub DomainGuid: ::windows_sys::core::GUID,
3742 pub Sid: super::super::super::Foundation::PSID,
3743}
3744#[cfg(feature = "Win32_Foundation")]
3745impl ::core::marker::Copy for POLICY_DNS_DOMAIN_INFO {}
3746#[cfg(feature = "Win32_Foundation")]
3747impl ::core::clone::Clone for POLICY_DNS_DOMAIN_INFO {
3748 fn clone(&self) -> Self {
3749 *self
3750 }
3751}
3752#[repr(C)]
3753pub struct POLICY_DOMAIN_EFS_INFO {
3754 pub InfoLength: u32,
3755 pub EfsBlob: *mut u8,
3756}
3757impl ::core::marker::Copy for POLICY_DOMAIN_EFS_INFO {}
3758impl ::core::clone::Clone for POLICY_DOMAIN_EFS_INFO {
3759 fn clone(&self) -> Self {
3760 *self
3761 }
3762}
3763pub type POLICY_DOMAIN_INFORMATION_CLASS = i32;
3764pub const PolicyDomainEfsInformation: POLICY_DOMAIN_INFORMATION_CLASS = 2i32;
3765pub const PolicyDomainKerberosTicketInformation: POLICY_DOMAIN_INFORMATION_CLASS = 3i32;
3766#[repr(C)]
3767pub struct POLICY_DOMAIN_KERBEROS_TICKET_INFO {
3768 pub AuthenticationOptions: u32,
3769 pub MaxServiceTicketAge: i64,
3770 pub MaxTicketAge: i64,
3771 pub MaxRenewAge: i64,
3772 pub MaxClockSkew: i64,
3773 pub Reserved: i64,
3774}
3775impl ::core::marker::Copy for POLICY_DOMAIN_KERBEROS_TICKET_INFO {}
3776impl ::core::clone::Clone for POLICY_DOMAIN_KERBEROS_TICKET_INFO {
3777 fn clone(&self) -> Self {
3778 *self
3779 }
3780}
3781pub const POLICY_GET_PRIVATE_INFORMATION: i32 = 4i32;
3782pub type POLICY_INFORMATION_CLASS = i32;
3783pub const PolicyAuditLogInformation: POLICY_INFORMATION_CLASS = 1i32;
3784pub const PolicyAuditEventsInformation: POLICY_INFORMATION_CLASS = 2i32;
3785pub const PolicyPrimaryDomainInformation: POLICY_INFORMATION_CLASS = 3i32;
3786pub const PolicyPdAccountInformation: POLICY_INFORMATION_CLASS = 4i32;
3787pub const PolicyAccountDomainInformation: POLICY_INFORMATION_CLASS = 5i32;
3788pub const PolicyLsaServerRoleInformation: POLICY_INFORMATION_CLASS = 6i32;
3789pub const PolicyReplicaSourceInformation: POLICY_INFORMATION_CLASS = 7i32;
3790pub const PolicyDefaultQuotaInformation: POLICY_INFORMATION_CLASS = 8i32;
3791pub const PolicyModificationInformation: POLICY_INFORMATION_CLASS = 9i32;
3792pub const PolicyAuditFullSetInformation: POLICY_INFORMATION_CLASS = 10i32;
3793pub const PolicyAuditFullQueryInformation: POLICY_INFORMATION_CLASS = 11i32;
3794pub const PolicyDnsDomainInformation: POLICY_INFORMATION_CLASS = 12i32;
3795pub const PolicyDnsDomainInformationInt: POLICY_INFORMATION_CLASS = 13i32;
3796pub const PolicyLocalAccountDomainInformation: POLICY_INFORMATION_CLASS = 14i32;
3797pub const PolicyMachineAccountInformation: POLICY_INFORMATION_CLASS = 15i32;
3798pub const PolicyLastEntry: POLICY_INFORMATION_CLASS = 16i32;
3799pub const POLICY_KERBEROS_VALIDATE_CLIENT: u32 = 128u32;
3800pub const POLICY_LOOKUP_NAMES: i32 = 2048i32;
3801pub type POLICY_LSA_SERVER_ROLE = i32;
3802pub const PolicyServerRoleBackup: POLICY_LSA_SERVER_ROLE = 2i32;
3803pub const PolicyServerRolePrimary: POLICY_LSA_SERVER_ROLE = 3i32;
3804#[repr(C)]
3805pub struct POLICY_LSA_SERVER_ROLE_INFO {
3806 pub LsaServerRole: POLICY_LSA_SERVER_ROLE,
3807}
3808impl ::core::marker::Copy for POLICY_LSA_SERVER_ROLE_INFO {}
3809impl ::core::clone::Clone for POLICY_LSA_SERVER_ROLE_INFO {
3810 fn clone(&self) -> Self {
3811 *self
3812 }
3813}
3814#[repr(C)]
3815#[cfg(feature = "Win32_Foundation")]
3816pub struct POLICY_MACHINE_ACCT_INFO {
3817 pub Rid: u32,
3818 pub Sid: super::super::super::Foundation::PSID,
3819}
3820#[cfg(feature = "Win32_Foundation")]
3821impl ::core::marker::Copy for POLICY_MACHINE_ACCT_INFO {}
3822#[cfg(feature = "Win32_Foundation")]
3823impl ::core::clone::Clone for POLICY_MACHINE_ACCT_INFO {
3824 fn clone(&self) -> Self {
3825 *self
3826 }
3827}
3828#[repr(C)]
3829pub struct POLICY_MODIFICATION_INFO {
3830 pub ModifiedId: i64,
3831 pub DatabaseCreationTime: i64,
3832}
3833impl ::core::marker::Copy for POLICY_MODIFICATION_INFO {}
3834impl ::core::clone::Clone for POLICY_MODIFICATION_INFO {
3835 fn clone(&self) -> Self {
3836 *self
3837 }
3838}
3839pub const POLICY_NOTIFICATION: i32 = 4096i32;
3840pub type POLICY_NOTIFICATION_INFORMATION_CLASS = i32;
3841pub const PolicyNotifyAuditEventsInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = 1i32;
3842pub const PolicyNotifyAccountDomainInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = 2i32;
3843pub const PolicyNotifyServerRoleInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = 3i32;
3844pub const PolicyNotifyDnsDomainInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = 4i32;
3845pub const PolicyNotifyDomainEfsInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = 5i32;
3846pub const PolicyNotifyDomainKerberosTicketInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = 6i32;
3847pub const PolicyNotifyMachineAccountPasswordInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = 7i32;
3848pub const PolicyNotifyGlobalSaclInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = 8i32;
3849pub const PolicyNotifyMax: POLICY_NOTIFICATION_INFORMATION_CLASS = 9i32;
3850#[repr(C)]
3851#[cfg(feature = "Win32_Foundation")]
3852pub struct POLICY_PD_ACCOUNT_INFO {
3853 pub Name: super::super::super::Foundation::UNICODE_STRING,
3854}
3855#[cfg(feature = "Win32_Foundation")]
3856impl ::core::marker::Copy for POLICY_PD_ACCOUNT_INFO {}
3857#[cfg(feature = "Win32_Foundation")]
3858impl ::core::clone::Clone for POLICY_PD_ACCOUNT_INFO {
3859 fn clone(&self) -> Self {
3860 *self
3861 }
3862}
3863#[repr(C)]
3864#[cfg(feature = "Win32_Foundation")]
3865pub struct POLICY_PRIMARY_DOMAIN_INFO {
3866 pub Name: super::super::super::Foundation::UNICODE_STRING,
3867 pub Sid: super::super::super::Foundation::PSID,
3868}
3869#[cfg(feature = "Win32_Foundation")]
3870impl ::core::marker::Copy for POLICY_PRIMARY_DOMAIN_INFO {}
3871#[cfg(feature = "Win32_Foundation")]
3872impl ::core::clone::Clone for POLICY_PRIMARY_DOMAIN_INFO {
3873 fn clone(&self) -> Self {
3874 *self
3875 }
3876}
3877pub const POLICY_QOS_ALLOW_LOCAL_ROOT_CERT_STORE: u32 = 32u32;
3878pub const POLICY_QOS_DHCP_SERVER_ALLOWED: u32 = 128u32;
3879pub const POLICY_QOS_INBOUND_CONFIDENTIALITY: u32 = 16u32;
3880pub const POLICY_QOS_INBOUND_INTEGRITY: u32 = 8u32;
3881pub const POLICY_QOS_OUTBOUND_CONFIDENTIALITY: u32 = 4u32;
3882pub const POLICY_QOS_OUTBOUND_INTEGRITY: u32 = 2u32;
3883pub const POLICY_QOS_RAS_SERVER_ALLOWED: u32 = 64u32;
3884pub const POLICY_QOS_SCHANNEL_REQUIRED: u32 = 1u32;
3885#[repr(C)]
3886#[cfg(feature = "Win32_Foundation")]
3887pub struct POLICY_REPLICA_SOURCE_INFO {
3888 pub ReplicaSource: super::super::super::Foundation::UNICODE_STRING,
3889 pub ReplicaAccountName: super::super::super::Foundation::UNICODE_STRING,
3890}
3891#[cfg(feature = "Win32_Foundation")]
3892impl ::core::marker::Copy for POLICY_REPLICA_SOURCE_INFO {}
3893#[cfg(feature = "Win32_Foundation")]
3894impl ::core::clone::Clone for POLICY_REPLICA_SOURCE_INFO {
3895 fn clone(&self) -> Self {
3896 *self
3897 }
3898}
3899pub const POLICY_SERVER_ADMIN: i32 = 1024i32;
3900pub const POLICY_SET_AUDIT_REQUIREMENTS: i32 = 256i32;
3901pub const POLICY_SET_DEFAULT_QUOTA_LIMITS: i32 = 128i32;
3902pub const POLICY_TRUST_ADMIN: i32 = 8i32;
3903pub const POLICY_VIEW_AUDIT_INFORMATION: i32 = 2i32;
3904pub const POLICY_VIEW_LOCAL_INFORMATION: i32 = 1i32;
3905pub const PRIMARY_CRED_ARSO_LOGON: u32 = 2097152u32;
3906pub const PRIMARY_CRED_AUTH_ID: u32 = 512u32;
3907pub const PRIMARY_CRED_CACHED_INTERACTIVE_LOGON: u32 = 262144u32;
3908pub const PRIMARY_CRED_CACHED_LOGON: u32 = 8u32;
3909pub const PRIMARY_CRED_CLEAR_PASSWORD: u32 = 1u32;
3910pub const PRIMARY_CRED_DO_NOT_SPLIT: u32 = 1024u32;
3911pub const PRIMARY_CRED_ENCRYPTED_CREDGUARD_PASSWORD: u32 = 131072u32;
3912pub const PRIMARY_CRED_ENTERPRISE_INTERNET_USER: u32 = 65536u32;
3913pub const PRIMARY_CRED_EX: u32 = 4096u32;
3914pub const PRIMARY_CRED_INTERACTIVE_FIDO_LOGON: u32 = 1048576u32;
3915pub const PRIMARY_CRED_INTERACTIVE_NGC_LOGON: u32 = 524288u32;
3916pub const PRIMARY_CRED_INTERACTIVE_SMARTCARD_LOGON: u32 = 64u32;
3917pub const PRIMARY_CRED_INTERNET_USER: u32 = 256u32;
3918pub const PRIMARY_CRED_LOGON_LUA: u32 = 32u32;
3919pub const PRIMARY_CRED_LOGON_NO_TCB: u32 = 16u32;
3920pub const PRIMARY_CRED_LOGON_PACKAGE_SHIFT: u32 = 24u32;
3921pub const PRIMARY_CRED_OWF_PASSWORD: u32 = 2u32;
3922pub const PRIMARY_CRED_PACKAGE_MASK: u32 = 4278190080u32;
3923pub const PRIMARY_CRED_PACKED_CREDS: u32 = 32768u32;
3924pub const PRIMARY_CRED_PROTECTED_USER: u32 = 2048u32;
3925pub const PRIMARY_CRED_REFRESH_NEEDED: u32 = 128u32;
3926pub const PRIMARY_CRED_RESTRICTED_TS: u32 = 16384u32;
3927pub const PRIMARY_CRED_SUPPLEMENTAL: u32 = 4194304u32;
3928pub const PRIMARY_CRED_TRANSFER: u32 = 8192u32;
3929pub const PRIMARY_CRED_UPDATE: u32 = 4u32;
3930pub type PSAM_CREDENTIAL_UPDATE_FREE_ROUTINE = unsafe extern "system" fn(p: *const ::core::ffi::c_void);
3931#[cfg(feature = "Win32_Foundation")]
3932pub type PSAM_CREDENTIAL_UPDATE_NOTIFY_ROUTINE = unsafe extern "system" fn(
3933 clearpassword: *const super::super::super::Foundation::UNICODE_STRING,
3934 oldcredentials: *const ::core::ffi::c_void,
3935 oldcredentialsize: u32,
3936 useraccountcontrol: u32,
3937 upn: *const super::super::super::Foundation::UNICODE_STRING,
3938 username: *const super::super::super::Foundation::UNICODE_STRING,
3939 netbiosdomainname: *const super::super::super::Foundation::UNICODE_STRING,
3940 dnsdomainname: *const super::super::super::Foundation::UNICODE_STRING,
3941 newcredentials: *mut *mut ::core::ffi::c_void,
3942 newcredentialsize: *mut u32,
3943) -> super::super::super::Foundation::NTSTATUS;
3944#[cfg(feature = "Win32_Foundation")]
3945pub type PSAM_CREDENTIAL_UPDATE_REGISTER_MAPPED_ENTRYPOINTS_ROUTINE = unsafe extern "system" fn(table: *mut SAM_REGISTER_MAPPING_TABLE) -> super::super::super::Foundation::NTSTATUS;
3946#[cfg(feature = "Win32_Foundation")]
3947pub type PSAM_CREDENTIAL_UPDATE_REGISTER_ROUTINE = unsafe extern "system" fn(credentialname: *mut super::super::super::Foundation::UNICODE_STRING) -> super::super::super::Foundation::BOOLEAN;
3948#[cfg(feature = "Win32_Foundation")]
3949pub type PSAM_INIT_NOTIFICATION_ROUTINE = unsafe extern "system" fn() -> super::super::super::Foundation::BOOLEAN;
3950#[cfg(feature = "Win32_Foundation")]
3951pub type PSAM_PASSWORD_FILTER_ROUTINE = unsafe extern "system" fn(accountname: *const super::super::super::Foundation::UNICODE_STRING, fullname: *const super::super::super::Foundation::UNICODE_STRING, password: *const super::super::super::Foundation::UNICODE_STRING, setoperation: super::super::super::Foundation::BOOLEAN) -> super::super::super::Foundation::BOOLEAN;
3952#[cfg(feature = "Win32_Foundation")]
3953pub type PSAM_PASSWORD_NOTIFICATION_ROUTINE = unsafe extern "system" fn(username: *mut super::super::super::Foundation::UNICODE_STRING, relativeid: u32, newpassword: *mut super::super::super::Foundation::UNICODE_STRING) -> super::super::super::Foundation::NTSTATUS;
3954#[repr(C)]
3955pub struct PctPublicKey {
3956 pub Type: u32,
3957 pub cbKey: u32,
3958 pub pKey: [u8; 1],
3959}
3960impl ::core::marker::Copy for PctPublicKey {}
3961impl ::core::clone::Clone for PctPublicKey {
3962 fn clone(&self) -> Self {
3963 *self
3964 }
3965}
3966#[cfg(feature = "Win32_Security_Credentials")]
3967pub type QUERY_CONTEXT_ATTRIBUTES_EX_FN_A = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void, param3: u32) -> i32;
3968#[cfg(feature = "Win32_Security_Credentials")]
3969pub type QUERY_CONTEXT_ATTRIBUTES_EX_FN_W = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void, param3: u32) -> i32;
3970#[cfg(feature = "Win32_Security_Credentials")]
3971pub type QUERY_CONTEXT_ATTRIBUTES_FN_A = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void) -> i32;
3972#[cfg(feature = "Win32_Security_Credentials")]
3973pub type QUERY_CONTEXT_ATTRIBUTES_FN_W = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void) -> i32;
3974#[cfg(feature = "Win32_Security_Credentials")]
3975pub type QUERY_CREDENTIALS_ATTRIBUTES_EX_FN_A = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void, param3: u32) -> i32;
3976#[cfg(feature = "Win32_Security_Credentials")]
3977pub type QUERY_CREDENTIALS_ATTRIBUTES_EX_FN_W = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void, param3: u32) -> i32;
3978#[cfg(feature = "Win32_Security_Credentials")]
3979pub type QUERY_CREDENTIALS_ATTRIBUTES_FN_A = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void) -> i32;
3980#[cfg(feature = "Win32_Security_Credentials")]
3981pub type QUERY_CREDENTIALS_ATTRIBUTES_FN_W = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void) -> i32;
3982#[cfg(feature = "Win32_Security_Credentials")]
3983pub type QUERY_SECURITY_CONTEXT_TOKEN_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: *mut *mut ::core::ffi::c_void) -> i32;
3984pub type QUERY_SECURITY_PACKAGE_INFO_FN_A = unsafe extern "system" fn(param0: *mut i8, param1: *mut *mut SecPkgInfoA) -> i32;
3985pub type QUERY_SECURITY_PACKAGE_INFO_FN_W = unsafe extern "system" fn(param0: *mut u16, param1: *mut *mut SecPkgInfoW) -> i32;
3986pub const RCRED_CRED_EXISTS: u32 = 1u32;
3987pub const RCRED_STATUS_NOCRED: u32 = 0u32;
3988pub const RCRED_STATUS_UNKNOWN_ISSUER: u32 = 2u32;
3989#[cfg(feature = "Win32_Security_Credentials")]
3990pub type REVERT_SECURITY_CONTEXT_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle) -> i32;
3991pub const RTL_ENCRYPT_MEMORY_SIZE: u32 = 8u32;
3992pub const RTL_ENCRYPT_OPTION_CROSS_PROCESS: u32 = 1u32;
3993pub const RTL_ENCRYPT_OPTION_FOR_SYSTEM: u32 = 4u32;
3994pub const RTL_ENCRYPT_OPTION_SAME_LOGON: u32 = 2u32;
3995pub const SAM_DAYS_PER_WEEK: u32 = 7u32;
3996#[repr(C)]
3997#[cfg(feature = "Win32_Foundation")]
3998pub struct SAM_REGISTER_MAPPING_ELEMENT {
3999 pub Original: super::super::super::Foundation::PSTR,
4000 pub Mapped: super::super::super::Foundation::PSTR,
4001 pub Continuable: super::super::super::Foundation::BOOLEAN,
4002}
4003#[cfg(feature = "Win32_Foundation")]
4004impl ::core::marker::Copy for SAM_REGISTER_MAPPING_ELEMENT {}
4005#[cfg(feature = "Win32_Foundation")]
4006impl ::core::clone::Clone for SAM_REGISTER_MAPPING_ELEMENT {
4007 fn clone(&self) -> Self {
4008 *self
4009 }
4010}
4011#[repr(C)]
4012#[cfg(feature = "Win32_Foundation")]
4013pub struct SAM_REGISTER_MAPPING_LIST {
4014 pub Count: u32,
4015 pub Elements: *mut SAM_REGISTER_MAPPING_ELEMENT,
4016}
4017#[cfg(feature = "Win32_Foundation")]
4018impl ::core::marker::Copy for SAM_REGISTER_MAPPING_LIST {}
4019#[cfg(feature = "Win32_Foundation")]
4020impl ::core::clone::Clone for SAM_REGISTER_MAPPING_LIST {
4021 fn clone(&self) -> Self {
4022 *self
4023 }
4024}
4025#[repr(C)]
4026#[cfg(feature = "Win32_Foundation")]
4027pub struct SAM_REGISTER_MAPPING_TABLE {
4028 pub Count: u32,
4029 pub Lists: *mut SAM_REGISTER_MAPPING_LIST,
4030}
4031#[cfg(feature = "Win32_Foundation")]
4032impl ::core::marker::Copy for SAM_REGISTER_MAPPING_TABLE {}
4033#[cfg(feature = "Win32_Foundation")]
4034impl ::core::clone::Clone for SAM_REGISTER_MAPPING_TABLE {
4035 fn clone(&self) -> Self {
4036 *self
4037 }
4038}
4039pub type SASL_AUTHZID_STATE = i32;
4040pub const Sasl_AuthZIDForbidden: SASL_AUTHZID_STATE = 0i32;
4041pub const Sasl_AuthZIDProcessed: SASL_AUTHZID_STATE = 1i32;
4042pub const SASL_OPTION_AUTHZ_PROCESSING: u32 = 4u32;
4043pub const SASL_OPTION_AUTHZ_STRING: u32 = 3u32;
4044pub const SASL_OPTION_RECV_SIZE: u32 = 2u32;
4045pub const SASL_OPTION_SEND_SIZE: u32 = 1u32;
4046pub const SCHANNEL_ALERT: u32 = 2u32;
4047#[repr(C)]
4048pub struct SCHANNEL_ALERT_TOKEN {
4049 pub dwTokenType: u32,
4050 pub dwAlertType: SCHANNEL_ALERT_TOKEN_ALERT_TYPE,
4051 pub dwAlertNumber: u32,
4052}
4053impl ::core::marker::Copy for SCHANNEL_ALERT_TOKEN {}
4054impl ::core::clone::Clone for SCHANNEL_ALERT_TOKEN {
4055 fn clone(&self) -> Self {
4056 *self
4057 }
4058}
4059pub type SCHANNEL_ALERT_TOKEN_ALERT_TYPE = u32;
4060pub const TLS1_ALERT_WARNING: SCHANNEL_ALERT_TOKEN_ALERT_TYPE = 1u32;
4061pub const TLS1_ALERT_FATAL: SCHANNEL_ALERT_TOKEN_ALERT_TYPE = 2u32;
4062#[repr(C)]
4063pub struct SCHANNEL_CERT_HASH {
4064 pub dwLength: u32,
4065 pub dwFlags: u32,
4066 pub hProv: usize,
4067 pub ShaHash: [u8; 20],
4068}
4069impl ::core::marker::Copy for SCHANNEL_CERT_HASH {}
4070impl ::core::clone::Clone for SCHANNEL_CERT_HASH {
4071 fn clone(&self) -> Self {
4072 *self
4073 }
4074}
4075#[repr(C)]
4076pub struct SCHANNEL_CERT_HASH_STORE {
4077 pub dwLength: u32,
4078 pub dwFlags: u32,
4079 pub hProv: usize,
4080 pub ShaHash: [u8; 20],
4081 pub pwszStoreName: [u16; 128],
4082}
4083impl ::core::marker::Copy for SCHANNEL_CERT_HASH_STORE {}
4084impl ::core::clone::Clone for SCHANNEL_CERT_HASH_STORE {
4085 fn clone(&self) -> Self {
4086 *self
4087 }
4088}
4089#[repr(C)]
4090pub struct SCHANNEL_CLIENT_SIGNATURE {
4091 pub cbLength: u32,
4092 pub aiHash: u32,
4093 pub cbHash: u32,
4094 pub HashValue: [u8; 36],
4095 pub CertThumbprint: [u8; 20],
4096}
4097impl ::core::marker::Copy for SCHANNEL_CLIENT_SIGNATURE {}
4098impl ::core::clone::Clone for SCHANNEL_CLIENT_SIGNATURE {
4099 fn clone(&self) -> Self {
4100 *self
4101 }
4102}
4103#[repr(C)]
4104#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Cryptography"))]
4105pub struct SCHANNEL_CRED {
4106 pub dwVersion: u32,
4107 pub cCreds: u32,
4108 pub paCred: *mut *mut super::super::Cryptography::CERT_CONTEXT,
4109 pub hRootStore: *mut ::core::ffi::c_void,
4110 pub cMappers: u32,
4111 pub aphMappers: *mut *mut _HMAPPER,
4112 pub cSupportedAlgs: u32,
4113 pub palgSupportedAlgs: *mut u32,
4114 pub grbitEnabledProtocols: u32,
4115 pub dwMinimumCipherStrength: u32,
4116 pub dwMaximumCipherStrength: u32,
4117 pub dwSessionLifespan: u32,
4118 pub dwFlags: SCHANNEL_CRED_FLAGS,
4119 pub dwCredFormat: u32,
4120}
4121#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Cryptography"))]
4122impl ::core::marker::Copy for SCHANNEL_CRED {}
4123#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Cryptography"))]
4124impl ::core::clone::Clone for SCHANNEL_CRED {
4125 fn clone(&self) -> Self {
4126 *self
4127 }
4128}
4129pub type SCHANNEL_CRED_FLAGS = u32;
4130pub const SCH_CRED_AUTO_CRED_VALIDATION: SCHANNEL_CRED_FLAGS = 32u32;
4131pub const SCH_CRED_CACHE_ONLY_URL_RETRIEVAL_ON_CREATE: SCHANNEL_CRED_FLAGS = 131072u32;
4132pub const SCH_DISABLE_RECONNECTS: SCHANNEL_CRED_FLAGS = 128u32;
4133pub const SCH_CRED_IGNORE_NO_REVOCATION_CHECK: SCHANNEL_CRED_FLAGS = 2048u32;
4134pub const SCH_CRED_IGNORE_REVOCATION_OFFLINE: SCHANNEL_CRED_FLAGS = 4096u32;
4135pub const SCH_CRED_MANUAL_CRED_VALIDATION: SCHANNEL_CRED_FLAGS = 8u32;
4136pub const SCH_CRED_NO_DEFAULT_CREDS: SCHANNEL_CRED_FLAGS = 16u32;
4137pub const SCH_CRED_NO_SERVERNAME_CHECK: SCHANNEL_CRED_FLAGS = 4u32;
4138pub const SCH_CRED_NO_SYSTEM_MAPPER: SCHANNEL_CRED_FLAGS = 2u32;
4139pub const SCH_CRED_REVOCATION_CHECK_CHAIN: SCHANNEL_CRED_FLAGS = 512u32;
4140pub const SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT: SCHANNEL_CRED_FLAGS = 1024u32;
4141pub const SCH_CRED_REVOCATION_CHECK_END_CERT: SCHANNEL_CRED_FLAGS = 256u32;
4142pub const SCH_CRED_USE_DEFAULT_CREDS: SCHANNEL_CRED_FLAGS = 64u32;
4143pub const SCH_SEND_AUX_RECORD: SCHANNEL_CRED_FLAGS = 2097152u32;
4144pub const SCH_SEND_ROOT_CERT: SCHANNEL_CRED_FLAGS = 262144u32;
4145pub const SCH_USE_STRONG_CRYPTO: SCHANNEL_CRED_FLAGS = 4194304u32;
4146pub const SCH_USE_PRESHAREDKEY_ONLY: SCHANNEL_CRED_FLAGS = 8388608u32;
4147pub const SCHANNEL_CRED_VERSION: u32 = 4u32;
4148pub const SCHANNEL_RENEGOTIATE: u32 = 0u32;
4149pub const SCHANNEL_SECRET_PRIVKEY: u32 = 2u32;
4150pub const SCHANNEL_SECRET_TYPE_CAPI: u32 = 1u32;
4151pub const SCHANNEL_SESSION: u32 = 3u32;
4152#[repr(C)]
4153pub struct SCHANNEL_SESSION_TOKEN {
4154 pub dwTokenType: u32,
4155 pub dwFlags: SCHANNEL_SESSION_TOKEN_FLAGS,
4156}
4157impl ::core::marker::Copy for SCHANNEL_SESSION_TOKEN {}
4158impl ::core::clone::Clone for SCHANNEL_SESSION_TOKEN {
4159 fn clone(&self) -> Self {
4160 *self
4161 }
4162}
4163pub type SCHANNEL_SESSION_TOKEN_FLAGS = u32;
4164pub const SSL_SESSION_ENABLE_RECONNECTS: SCHANNEL_SESSION_TOKEN_FLAGS = 1u32;
4165pub const SSL_SESSION_DISABLE_RECONNECTS: SCHANNEL_SESSION_TOKEN_FLAGS = 2u32;
4166pub const SCHANNEL_SHUTDOWN: u32 = 1u32;
4167pub const SCH_ALLOW_NULL_ENCRYPTION: u32 = 33554432u32;
4168#[repr(C)]
4169pub struct SCH_CRED {
4170 pub dwVersion: u32,
4171 pub cCreds: u32,
4172 pub paSecret: *mut *mut ::core::ffi::c_void,
4173 pub paPublic: *mut *mut ::core::ffi::c_void,
4174 pub cMappers: u32,
4175 pub aphMappers: *mut *mut _HMAPPER,
4176}
4177impl ::core::marker::Copy for SCH_CRED {}
4178impl ::core::clone::Clone for SCH_CRED {
4179 fn clone(&self) -> Self {
4180 *self
4181 }
4182}
4183pub const SCH_CREDENTIALS_VERSION: u32 = 5u32;
4184pub const SCH_CRED_CACHE_ONLY_URL_RETRIEVAL: u32 = 32768u32;
4185pub const SCH_CRED_CERT_CONTEXT: u32 = 3u32;
4186pub const SCH_CRED_DEFERRED_CRED_VALIDATION: u32 = 67108864u32;
4187pub const SCH_CRED_DISABLE_RECONNECTS: u32 = 128u32;
4188pub const SCH_CRED_FORMAT_CERT_CONTEXT: u32 = 0u32;
4189pub const SCH_CRED_FORMAT_CERT_HASH: u32 = 1u32;
4190pub const SCH_CRED_FORMAT_CERT_HASH_STORE: u32 = 2u32;
4191pub const SCH_CRED_MAX_STORE_NAME_SIZE: u32 = 128u32;
4192pub const SCH_CRED_MAX_SUPPORTED_ALGS: u32 = 256u32;
4193pub const SCH_CRED_MAX_SUPPORTED_ALPN_IDS: u32 = 16u32;
4194pub const SCH_CRED_MAX_SUPPORTED_CERTS: u32 = 100u32;
4195pub const SCH_CRED_MAX_SUPPORTED_CHAINING_MODES: u32 = 16u32;
4196pub const SCH_CRED_MAX_SUPPORTED_CRYPTO_SETTINGS: u32 = 16u32;
4197pub const SCH_CRED_MAX_SUPPORTED_PARAMETERS: u32 = 16u32;
4198pub const SCH_CRED_MEMORY_STORE_CERT: u32 = 65536u32;
4199#[repr(C)]
4200pub struct SCH_CRED_PUBLIC_CERTCHAIN {
4201 pub dwType: u32,
4202 pub cbCertChain: u32,
4203 pub pCertChain: *mut u8,
4204}
4205impl ::core::marker::Copy for SCH_CRED_PUBLIC_CERTCHAIN {}
4206impl ::core::clone::Clone for SCH_CRED_PUBLIC_CERTCHAIN {
4207 fn clone(&self) -> Self {
4208 *self
4209 }
4210}
4211pub const SCH_CRED_RESTRICTED_ROOTS: u32 = 8192u32;
4212pub const SCH_CRED_REVOCATION_CHECK_CACHE_ONLY: u32 = 16384u32;
4213#[repr(C)]
4214pub struct SCH_CRED_SECRET_CAPI {
4215 pub dwType: u32,
4216 pub hProv: usize,
4217}
4218impl ::core::marker::Copy for SCH_CRED_SECRET_CAPI {}
4219impl ::core::clone::Clone for SCH_CRED_SECRET_CAPI {
4220 fn clone(&self) -> Self {
4221 *self
4222 }
4223}
4224#[repr(C)]
4225#[cfg(feature = "Win32_Foundation")]
4226pub struct SCH_CRED_SECRET_PRIVKEY {
4227 pub dwType: u32,
4228 pub pPrivateKey: *mut u8,
4229 pub cbPrivateKey: u32,
4230 pub pszPassword: super::super::super::Foundation::PSTR,
4231}
4232#[cfg(feature = "Win32_Foundation")]
4233impl ::core::marker::Copy for SCH_CRED_SECRET_PRIVKEY {}
4234#[cfg(feature = "Win32_Foundation")]
4235impl ::core::clone::Clone for SCH_CRED_SECRET_PRIVKEY {
4236 fn clone(&self) -> Self {
4237 *self
4238 }
4239}
4240pub const SCH_CRED_SNI_CREDENTIAL: u32 = 524288u32;
4241pub const SCH_CRED_SNI_ENABLE_OCSP: u32 = 1048576u32;
4242pub const SCH_CRED_V1: u32 = 1u32;
4243pub const SCH_CRED_V2: u32 = 2u32;
4244pub const SCH_CRED_V3: u32 = 3u32;
4245pub const SCH_CRED_VERSION: u32 = 2u32;
4246pub const SCH_CRED_X509_CAPI: u32 = 2u32;
4247pub const SCH_CRED_X509_CERTCHAIN: u32 = 1u32;
4248#[repr(C)]
4249pub struct SCH_EXTENSION_DATA {
4250 pub ExtensionType: u16,
4251 pub pExtData: *mut u8,
4252 pub cbExtData: u32,
4253}
4254impl ::core::marker::Copy for SCH_EXTENSION_DATA {}
4255impl ::core::clone::Clone for SCH_EXTENSION_DATA {
4256 fn clone(&self) -> Self {
4257 *self
4258 }
4259}
4260pub const SCH_MACHINE_CERT_HASH: u32 = 1u32;
4261pub const SCH_MAX_EXT_SUBSCRIPTIONS: u32 = 2u32;
4262pub const SCH_USE_DTLS_ONLY: u32 = 16777216u32;
4263pub const SECBUFFER_ALERT: u32 = 17u32;
4264pub const SECBUFFER_APPLICATION_PROTOCOLS: u32 = 18u32;
4265pub const SECBUFFER_ATTRMASK: u32 = 4026531840u32;
4266pub const SECBUFFER_CHANGE_PASS_RESPONSE: u32 = 15u32;
4267pub const SECBUFFER_CHANNEL_BINDINGS: u32 = 14u32;
4268pub const SECBUFFER_DATA: u32 = 1u32;
4269pub const SECBUFFER_DTLS_MTU: u32 = 24u32;
4270pub const SECBUFFER_EMPTY: u32 = 0u32;
4271pub const SECBUFFER_EXTRA: u32 = 5u32;
4272pub const SECBUFFER_FLAGS: u32 = 27u32;
4273pub const SECBUFFER_KERNEL_MAP: u32 = 536870912u32;
4274pub const SECBUFFER_MECHLIST: u32 = 11u32;
4275pub const SECBUFFER_MECHLIST_SIGNATURE: u32 = 12u32;
4276pub const SECBUFFER_MISSING: u32 = 4u32;
4277pub const SECBUFFER_NEGOTIATION_INFO: u32 = 8u32;
4278pub const SECBUFFER_PADDING: u32 = 9u32;
4279pub const SECBUFFER_PKG_PARAMS: u32 = 3u32;
4280pub const SECBUFFER_PRESHARED_KEY: u32 = 22u32;
4281pub const SECBUFFER_PRESHARED_KEY_IDENTITY: u32 = 23u32;
4282pub const SECBUFFER_READONLY: u32 = 2147483648u32;
4283pub const SECBUFFER_READONLY_WITH_CHECKSUM: u32 = 268435456u32;
4284pub const SECBUFFER_RESERVED: u32 = 1610612736u32;
4285pub const SECBUFFER_SEND_GENERIC_TLS_EXTENSION: u32 = 25u32;
4286pub const SECBUFFER_SRTP_MASTER_KEY_IDENTIFIER: u32 = 20u32;
4287pub const SECBUFFER_SRTP_PROTECTION_PROFILES: u32 = 19u32;
4288pub const SECBUFFER_STREAM: u32 = 10u32;
4289pub const SECBUFFER_STREAM_HEADER: u32 = 7u32;
4290pub const SECBUFFER_STREAM_TRAILER: u32 = 6u32;
4291pub const SECBUFFER_SUBSCRIBE_GENERIC_TLS_EXTENSION: u32 = 26u32;
4292pub const SECBUFFER_TARGET: u32 = 13u32;
4293pub const SECBUFFER_TARGET_HOST: u32 = 16u32;
4294pub const SECBUFFER_TOKEN: u32 = 2u32;
4295pub const SECBUFFER_TOKEN_BINDING: u32 = 21u32;
4296pub const SECBUFFER_TRAFFIC_SECRETS: u32 = 28u32;
4297pub const SECBUFFER_UNMAPPED: u32 = 1073741824u32;
4298pub const SECBUFFER_VERSION: u32 = 0u32;
4299pub const SECPKGCONTEXT_CIPHERINFO_V1: u32 = 1u32;
4300pub const SECPKGCONTEXT_CONNECTION_INFO_EX_V1: u32 = 1u32;
4301pub const SECPKG_ANSI_ATTRIBUTE: u32 = 0u32;
4302#[repr(C)]
4303#[cfg(feature = "Win32_Foundation")]
4304pub struct SECPKG_APP_MODE_INFO {
4305 pub UserFunction: u32,
4306 pub Argument1: usize,
4307 pub Argument2: usize,
4308 pub UserData: SecBuffer,
4309 pub ReturnToLsa: super::super::super::Foundation::BOOLEAN,
4310}
4311#[cfg(feature = "Win32_Foundation")]
4312impl ::core::marker::Copy for SECPKG_APP_MODE_INFO {}
4313#[cfg(feature = "Win32_Foundation")]
4314impl ::core::clone::Clone for SECPKG_APP_MODE_INFO {
4315 fn clone(&self) -> Self {
4316 *self
4317 }
4318}
4319pub type SECPKG_ATTR = u32;
4320pub const SECPKG_ATTR_C_ACCESS_TOKEN: SECPKG_ATTR = 2147483666u32;
4321pub const SECPKG_ATTR_C_FULL_ACCESS_TOKEN: SECPKG_ATTR = 2147483778u32;
4322pub const SECPKG_ATTR_CERT_TRUST_STATUS: SECPKG_ATTR = 2147483780u32;
4323pub const SECPKG_ATTR_CREDS: SECPKG_ATTR = 2147483776u32;
4324pub const SECPKG_ATTR_CREDS_2: SECPKG_ATTR = 2147483782u32;
4325pub const SECPKG_ATTR_NEGOTIATION_PACKAGE: SECPKG_ATTR = 2147483777u32;
4326pub const SECPKG_ATTR_PACKAGE_INFO: SECPKG_ATTR = 10u32;
4327pub const SECPKG_ATTR_SERVER_AUTH_FLAGS: SECPKG_ATTR = 2147483779u32;
4328pub const SECPKG_ATTR_SIZES: SECPKG_ATTR = 0u32;
4329pub const SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTES: SECPKG_ATTR = 124u32;
4330pub const SECPKG_ATTR_APP_DATA: SECPKG_ATTR = 94u32;
4331pub const SECPKG_ATTR_EAP_PRF_INFO: SECPKG_ATTR = 101u32;
4332pub const SECPKG_ATTR_EARLY_START: SECPKG_ATTR = 105u32;
4333pub const SECPKG_ATTR_DTLS_MTU: SECPKG_ATTR = 34u32;
4334pub const SECPKG_ATTR_KEYING_MATERIAL_INFO: SECPKG_ATTR = 106u32;
4335pub const SECPKG_ATTR_ACCESS_TOKEN: SECPKG_ATTR = 18u32;
4336pub const SECPKG_ATTR_AUTHORITY: SECPKG_ATTR = 6u32;
4337pub const SECPKG_ATTR_CLIENT_SPECIFIED_TARGET: SECPKG_ATTR = 27u32;
4338pub const SECPKG_ATTR_CONNECTION_INFO: SECPKG_ATTR = 90u32;
4339pub const SECPKG_ATTR_DCE_INFO: SECPKG_ATTR = 3u32;
4340pub const SECPKG_ATTR_ENDPOINT_BINDINGS: SECPKG_ATTR = 26u32;
4341pub const SECPKG_ATTR_EAP_KEY_BLOCK: SECPKG_ATTR = 91u32;
4342pub const SECPKG_ATTR_FLAGS: SECPKG_ATTR = 14u32;
4343pub const SECPKG_ATTR_ISSUER_LIST_EX: SECPKG_ATTR = 89u32;
4344pub const SECPKG_ATTR_KEY_INFO: SECPKG_ATTR = 5u32;
4345pub const SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS: SECPKG_ATTR = 30u32;
4346pub const SECPKG_ATTR_LIFESPAN: SECPKG_ATTR = 2u32;
4347pub const SECPKG_ATTR_LOCAL_CERT_CONTEXT: SECPKG_ATTR = 84u32;
4348pub const SECPKG_ATTR_LOCAL_CRED: SECPKG_ATTR = 82u32;
4349pub const SECPKG_ATTR_NAMES: SECPKG_ATTR = 1u32;
4350pub const SECPKG_ATTR_NATIVE_NAMES: SECPKG_ATTR = 13u32;
4351pub const SECPKG_ATTR_NEGOTIATION_INFO: SECPKG_ATTR = 12u32;
4352pub const SECPKG_ATTR_PASSWORD_EXPIRY: SECPKG_ATTR = 8u32;
4353pub const SECPKG_ATTR_REMOTE_CERT_CONTEXT: SECPKG_ATTR = 83u32;
4354pub const SECPKG_ATTR_ROOT_STORE: SECPKG_ATTR = 85u32;
4355pub const SECPKG_ATTR_SESSION_KEY: SECPKG_ATTR = 9u32;
4356pub const SECPKG_ATTR_SESSION_INFO: SECPKG_ATTR = 93u32;
4357pub const SECPKG_ATTR_STREAM_SIZES: SECPKG_ATTR = 4u32;
4358pub const SECPKG_ATTR_SUPPORTED_SIGNATURES: SECPKG_ATTR = 102u32;
4359pub const SECPKG_ATTR_TARGET_INFORMATION: SECPKG_ATTR = 17u32;
4360pub const SECPKG_ATTR_UNIQUE_BINDINGS: SECPKG_ATTR = 25u32;
4361pub const SECPKG_ATTR_APPLICATION_PROTOCOL: u32 = 35u32;
4362pub const SECPKG_ATTR_AUTHENTICATION_ID: u32 = 20u32;
4363pub const SECPKG_ATTR_CC_POLICY_RESULT: u32 = 97u32;
4364pub const SECPKG_ATTR_CERT_CHECK_RESULT: u32 = 113u32;
4365pub const SECPKG_ATTR_CERT_CHECK_RESULT_INPROC: u32 = 114u32;
4366pub const SECPKG_ATTR_CIPHER_INFO: u32 = 100u32;
4367pub const SECPKG_ATTR_CIPHER_STRENGTHS: u32 = 87u32;
4368pub const SECPKG_ATTR_CLIENT_CERT_POLICY: u32 = 96u32;
4369pub const SECPKG_ATTR_CONNECTION_INFO_EX: u32 = 110u32;
4370pub const SECPKG_ATTR_CONTEXT_DELETED: u32 = 33u32;
4371pub const SECPKG_ATTR_CREDENTIAL_NAME: u32 = 16u32;
4372pub const SECPKG_ATTR_ISSUER_LIST: u32 = 80u32;
4373pub const SECPKG_ATTR_IS_LOOPBACK: u32 = 37u32;
4374pub const SECPKG_ATTR_KEYING_MATERIAL: u32 = 107u32;
4375pub const SECPKG_ATTR_KEYING_MATERIAL_INPROC: u32 = 112u32;
4376pub const SECPKG_ATTR_KEYING_MATERIAL_TOKEN_BINDING: u32 = 111u32;
4377pub type SECPKG_ATTR_LCT_STATUS = i32;
4378pub const SecPkgAttrLastClientTokenYes: SECPKG_ATTR_LCT_STATUS = 0i32;
4379pub const SecPkgAttrLastClientTokenNo: SECPKG_ATTR_LCT_STATUS = 1i32;
4380pub const SecPkgAttrLastClientTokenMaybe: SECPKG_ATTR_LCT_STATUS = 2i32;
4381pub const SECPKG_ATTR_LOCAL_CERT_INFO: u32 = 99u32;
4382pub const SECPKG_ATTR_LOGOFF_TIME: u32 = 21u32;
4383pub const SECPKG_ATTR_MAPPED_CRED_ATTR: u32 = 92u32;
4384pub const SECPKG_ATTR_NEGOTIATED_TLS_EXTENSIONS: u32 = 36u32;
4385pub const SECPKG_ATTR_NEGO_INFO_FLAG_NO_KERBEROS: u32 = 1u32;
4386pub const SECPKG_ATTR_NEGO_INFO_FLAG_NO_NTLM: u32 = 2u32;
4387pub const SECPKG_ATTR_NEGO_KEYS: u32 = 22u32;
4388pub const SECPKG_ATTR_NEGO_PKG_INFO: u32 = 31u32;
4389pub const SECPKG_ATTR_NEGO_STATUS: u32 = 32u32;
4390pub const SECPKG_ATTR_PROMPTING_NEEDED: u32 = 24u32;
4391pub const SECPKG_ATTR_PROTO_INFO: u32 = 7u32;
4392pub const SECPKG_ATTR_REMOTE_CERTIFICATES: u32 = 95u32;
4393pub const SECPKG_ATTR_REMOTE_CERT_CHAIN: u32 = 103u32;
4394pub const SECPKG_ATTR_REMOTE_CRED: u32 = 81u32;
4395pub const SECPKG_ATTR_SASL_CONTEXT: u32 = 65536u32;
4396pub const SECPKG_ATTR_SESSION_TICKET_KEYS: u32 = 115u32;
4397pub const SECPKG_ATTR_SRTP_PARAMETERS: u32 = 108u32;
4398pub const SECPKG_ATTR_SUPPORTED_ALGS: u32 = 86u32;
4399pub const SECPKG_ATTR_SUPPORTED_PROTOCOLS: u32 = 88u32;
4400pub const SECPKG_ATTR_TARGET: u32 = 19u32;
4401pub const SECPKG_ATTR_THUNK_ALL: u32 = 65536u32;
4402pub const SECPKG_ATTR_TOKEN_BINDING: u32 = 109u32;
4403pub const SECPKG_ATTR_UI_INFO: u32 = 104u32;
4404pub const SECPKG_ATTR_USER_FLAGS: u32 = 11u32;
4405pub const SECPKG_ATTR_USE_NCRYPT: u32 = 98u32;
4406pub const SECPKG_ATTR_USE_VALIDATED: u32 = 15u32;
4407#[repr(C)]
4408pub struct SECPKG_BYTE_VECTOR {
4409 pub ByteArrayOffset: u32,
4410 pub ByteArrayLength: u16,
4411}
4412impl ::core::marker::Copy for SECPKG_BYTE_VECTOR {}
4413impl ::core::clone::Clone for SECPKG_BYTE_VECTOR {
4414 fn clone(&self) -> Self {
4415 *self
4416 }
4417}
4418pub const SECPKG_CALLFLAGS_APPCONTAINER: u32 = 1u32;
4419pub const SECPKG_CALLFLAGS_APPCONTAINER_AUTHCAPABLE: u32 = 2u32;
4420pub const SECPKG_CALLFLAGS_APPCONTAINER_UPNCAPABLE: u32 = 8u32;
4421pub const SECPKG_CALLFLAGS_FORCE_SUPPLIED: u32 = 4u32;
4422pub const SECPKG_CALL_ANSI: u32 = 2u32;
4423pub const SECPKG_CALL_ASYNC_UPDATE: u32 = 4096u32;
4424pub const SECPKG_CALL_BUFFER_MARSHAL: u32 = 65536u32;
4425pub const SECPKG_CALL_CLEANUP: u32 = 32u32;
4426pub const SECPKG_CALL_CLOUDAP_CONNECT: u32 = 262144u32;
4427#[repr(C)]
4428pub struct SECPKG_CALL_INFO {
4429 pub ProcessId: u32,
4430 pub ThreadId: u32,
4431 pub Attributes: u32,
4432 pub CallCount: u32,
4433 pub MechOid: *mut ::core::ffi::c_void,
4434}
4435impl ::core::marker::Copy for SECPKG_CALL_INFO {}
4436impl ::core::clone::Clone for SECPKG_CALL_INFO {
4437 fn clone(&self) -> Self {
4438 *self
4439 }
4440}
4441pub const SECPKG_CALL_IN_PROC: u32 = 16u32;
4442pub const SECPKG_CALL_IS_TCB: u32 = 512u32;
4443pub const SECPKG_CALL_KERNEL_MODE: u32 = 1u32;
4444pub const SECPKG_CALL_NEGO: u32 = 16384u32;
4445pub const SECPKG_CALL_NEGO_EXTENDER: u32 = 32768u32;
4446pub const SECPKG_CALL_NETWORK_ONLY: u32 = 1024u32;
4447pub type SECPKG_CALL_PACKAGE_MESSAGE_TYPE = i32;
4448pub const SecPkgCallPackageMinMessage: SECPKG_CALL_PACKAGE_MESSAGE_TYPE = 1024i32;
4449pub const SecPkgCallPackagePinDcMessage: SECPKG_CALL_PACKAGE_MESSAGE_TYPE = 1024i32;
4450pub const SecPkgCallPackageUnpinAllDcsMessage: SECPKG_CALL_PACKAGE_MESSAGE_TYPE = 1025i32;
4451pub const SecPkgCallPackageTransferCredMessage: SECPKG_CALL_PACKAGE_MESSAGE_TYPE = 1026i32;
4452pub const SecPkgCallPackageMaxMessage: SECPKG_CALL_PACKAGE_MESSAGE_TYPE = 1026i32;
4453#[repr(C)]
4454#[cfg(feature = "Win32_Foundation")]
4455pub struct SECPKG_CALL_PACKAGE_PIN_DC_REQUEST {
4456 pub MessageType: u32,
4457 pub Flags: u32,
4458 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
4459 pub DcName: super::super::super::Foundation::UNICODE_STRING,
4460 pub DcFlags: u32,
4461}
4462#[cfg(feature = "Win32_Foundation")]
4463impl ::core::marker::Copy for SECPKG_CALL_PACKAGE_PIN_DC_REQUEST {}
4464#[cfg(feature = "Win32_Foundation")]
4465impl ::core::clone::Clone for SECPKG_CALL_PACKAGE_PIN_DC_REQUEST {
4466 fn clone(&self) -> Self {
4467 *self
4468 }
4469}
4470#[repr(C)]
4471#[cfg(feature = "Win32_Foundation")]
4472pub struct SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST {
4473 pub MessageType: u32,
4474 pub OriginLogonId: super::super::super::Foundation::LUID,
4475 pub DestinationLogonId: super::super::super::Foundation::LUID,
4476 pub Flags: u32,
4477}
4478#[cfg(feature = "Win32_Foundation")]
4479impl ::core::marker::Copy for SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST {}
4480#[cfg(feature = "Win32_Foundation")]
4481impl ::core::clone::Clone for SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST {
4482 fn clone(&self) -> Self {
4483 *self
4484 }
4485}
4486pub const SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST_FLAG_CLEANUP_CREDENTIALS: u32 = 2u32;
4487pub const SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST_FLAG_OPTIMISTIC_LOGON: u32 = 1u32;
4488pub const SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST_FLAG_TO_SSO_SESSION: u32 = 4u32;
4489#[repr(C)]
4490pub struct SECPKG_CALL_PACKAGE_UNPIN_ALL_DCS_REQUEST {
4491 pub MessageType: u32,
4492 pub Flags: u32,
4493}
4494impl ::core::marker::Copy for SECPKG_CALL_PACKAGE_UNPIN_ALL_DCS_REQUEST {}
4495impl ::core::clone::Clone for SECPKG_CALL_PACKAGE_UNPIN_ALL_DCS_REQUEST {
4496 fn clone(&self) -> Self {
4497 *self
4498 }
4499}
4500pub const SECPKG_CALL_PROCESS_TERM: u32 = 256u32;
4501pub const SECPKG_CALL_RECURSIVE: u32 = 8u32;
4502pub const SECPKG_CALL_SYSTEM_PROC: u32 = 8192u32;
4503pub const SECPKG_CALL_THREAD_TERM: u32 = 128u32;
4504pub const SECPKG_CALL_UNLOCK: u32 = 131072u32;
4505pub const SECPKG_CALL_URGENT: u32 = 4u32;
4506pub const SECPKG_CALL_WINLOGON: u32 = 2048u32;
4507pub const SECPKG_CALL_WOWA32: u32 = 262144u32;
4508pub const SECPKG_CALL_WOWCLIENT: u32 = 64u32;
4509pub const SECPKG_CALL_WOWX86: u32 = 64u32;
4510#[repr(C)]
4511#[cfg(feature = "Win32_Foundation")]
4512pub struct SECPKG_CLIENT_INFO {
4513 pub LogonId: super::super::super::Foundation::LUID,
4514 pub ProcessID: u32,
4515 pub ThreadID: u32,
4516 pub HasTcbPrivilege: super::super::super::Foundation::BOOLEAN,
4517 pub Impersonating: super::super::super::Foundation::BOOLEAN,
4518 pub Restricted: super::super::super::Foundation::BOOLEAN,
4519 pub ClientFlags: u8,
4520 pub ImpersonationLevel: super::super::SECURITY_IMPERSONATION_LEVEL,
4521 pub ClientToken: super::super::super::Foundation::HANDLE,
4522}
4523#[cfg(feature = "Win32_Foundation")]
4524impl ::core::marker::Copy for SECPKG_CLIENT_INFO {}
4525#[cfg(feature = "Win32_Foundation")]
4526impl ::core::clone::Clone for SECPKG_CLIENT_INFO {
4527 fn clone(&self) -> Self {
4528 *self
4529 }
4530}
4531pub const SECPKG_CLIENT_PROCESS_TERMINATED: u32 = 1u32;
4532pub const SECPKG_CLIENT_THREAD_TERMINATED: u32 = 2u32;
4533#[repr(C)]
4534pub struct SECPKG_CONTEXT_THUNKS {
4535 pub InfoLevelCount: u32,
4536 pub Levels: [u32; 1],
4537}
4538impl ::core::marker::Copy for SECPKG_CONTEXT_THUNKS {}
4539impl ::core::clone::Clone for SECPKG_CONTEXT_THUNKS {
4540 fn clone(&self) -> Self {
4541 *self
4542 }
4543}
4544pub type SECPKG_CRED = u32;
4545pub const SECPKG_CRED_INBOUND: SECPKG_CRED = 1u32;
4546pub const SECPKG_CRED_OUTBOUND: SECPKG_CRED = 2u32;
4547#[repr(C)]
4548#[cfg(feature = "Win32_Foundation")]
4549pub struct SECPKG_CREDENTIAL {
4550 pub Version: u64,
4551 pub cbHeaderLength: u16,
4552 pub cbStructureLength: u32,
4553 pub ClientProcess: u32,
4554 pub ClientThread: u32,
4555 pub LogonId: super::super::super::Foundation::LUID,
4556 pub ClientToken: super::super::super::Foundation::HANDLE,
4557 pub SessionId: u32,
4558 pub ModifiedId: super::super::super::Foundation::LUID,
4559 pub fCredentials: u32,
4560 pub Flags: u32,
4561 pub PrincipalName: SECPKG_BYTE_VECTOR,
4562 pub PackageList: SECPKG_BYTE_VECTOR,
4563 pub MarshaledSuppliedCreds: SECPKG_BYTE_VECTOR,
4564}
4565#[cfg(feature = "Win32_Foundation")]
4566impl ::core::marker::Copy for SECPKG_CREDENTIAL {}
4567#[cfg(feature = "Win32_Foundation")]
4568impl ::core::clone::Clone for SECPKG_CREDENTIAL {
4569 fn clone(&self) -> Self {
4570 *self
4571 }
4572}
4573pub const SECPKG_CREDENTIAL_ATTRIBUTE: u32 = 0u32;
4574pub const SECPKG_CREDENTIAL_FLAGS_CALLER_HAS_TCB: u32 = 1u32;
4575pub const SECPKG_CREDENTIAL_FLAGS_CREDMAN_CRED: u32 = 2u32;
4576pub const SECPKG_CREDENTIAL_VERSION: u32 = 201u32;
4577pub const SECPKG_CRED_ATTR_CERT: u32 = 4u32;
4578pub const SECPKG_CRED_ATTR_KDC_PROXY_SETTINGS: u32 = 3u32;
4579pub const SECPKG_CRED_ATTR_NAMES: u32 = 1u32;
4580pub const SECPKG_CRED_ATTR_PAC_BYPASS: u32 = 5u32;
4581pub const SECPKG_CRED_ATTR_SSI_PROVIDER: u32 = 2u32;
4582pub const SECPKG_CRED_AUTOLOGON_RESTRICTED: u32 = 16u32;
4583pub const SECPKG_CRED_BOTH: u32 = 3u32;
4584pub type SECPKG_CRED_CLASS = i32;
4585pub const SecPkgCredClass_None: SECPKG_CRED_CLASS = 0i32;
4586pub const SecPkgCredClass_Ephemeral: SECPKG_CRED_CLASS = 10i32;
4587pub const SecPkgCredClass_PersistedGeneric: SECPKG_CRED_CLASS = 20i32;
4588pub const SecPkgCredClass_PersistedSpecific: SECPKG_CRED_CLASS = 30i32;
4589pub const SecPkgCredClass_Explicit: SECPKG_CRED_CLASS = 40i32;
4590pub const SECPKG_CRED_DEFAULT: u32 = 4u32;
4591pub const SECPKG_CRED_PROCESS_POLICY_ONLY: u32 = 32u32;
4592pub const SECPKG_CRED_RESERVED: u32 = 4026531840u32;
4593#[repr(C)]
4594#[cfg(feature = "Win32_Foundation")]
4595pub struct SECPKG_DLL_FUNCTIONS {
4596 pub AllocateHeap: PLSA_ALLOCATE_LSA_HEAP,
4597 pub FreeHeap: PLSA_FREE_LSA_HEAP,
4598 pub RegisterCallback: PLSA_REGISTER_CALLBACK,
4599 pub LocatePackageById: PLSA_LOCATE_PKG_BY_ID,
4600}
4601#[cfg(feature = "Win32_Foundation")]
4602impl ::core::marker::Copy for SECPKG_DLL_FUNCTIONS {}
4603#[cfg(feature = "Win32_Foundation")]
4604impl ::core::clone::Clone for SECPKG_DLL_FUNCTIONS {
4605 fn clone(&self) -> Self {
4606 *self
4607 }
4608}
4609#[repr(C)]
4610pub struct SECPKG_EVENT_NOTIFY {
4611 pub EventClass: u32,
4612 pub Reserved: u32,
4613 pub EventDataSize: u32,
4614 pub EventData: *mut ::core::ffi::c_void,
4615 pub PackageParameter: *mut ::core::ffi::c_void,
4616}
4617impl ::core::marker::Copy for SECPKG_EVENT_NOTIFY {}
4618impl ::core::clone::Clone for SECPKG_EVENT_NOTIFY {
4619 fn clone(&self) -> Self {
4620 *self
4621 }
4622}
4623#[repr(C)]
4624#[cfg(feature = "Win32_Foundation")]
4625pub struct SECPKG_EVENT_PACKAGE_CHANGE {
4626 pub ChangeType: SECPKG_PACKAGE_CHANGE_TYPE,
4627 pub PackageId: usize,
4628 pub PackageName: super::super::super::Foundation::UNICODE_STRING,
4629}
4630#[cfg(feature = "Win32_Foundation")]
4631impl ::core::marker::Copy for SECPKG_EVENT_PACKAGE_CHANGE {}
4632#[cfg(feature = "Win32_Foundation")]
4633impl ::core::clone::Clone for SECPKG_EVENT_PACKAGE_CHANGE {
4634 fn clone(&self) -> Self {
4635 *self
4636 }
4637}
4638#[repr(C)]
4639pub struct SECPKG_EVENT_ROLE_CHANGE {
4640 pub PreviousRole: u32,
4641 pub NewRole: u32,
4642}
4643impl ::core::marker::Copy for SECPKG_EVENT_ROLE_CHANGE {}
4644impl ::core::clone::Clone for SECPKG_EVENT_ROLE_CHANGE {
4645 fn clone(&self) -> Self {
4646 *self
4647 }
4648}
4649#[repr(C)]
4650#[cfg(feature = "Win32_Foundation")]
4651pub struct SECPKG_EXTENDED_INFORMATION {
4652 pub Class: SECPKG_EXTENDED_INFORMATION_CLASS,
4653 pub Info: SECPKG_EXTENDED_INFORMATION_0,
4654}
4655#[cfg(feature = "Win32_Foundation")]
4656impl ::core::marker::Copy for SECPKG_EXTENDED_INFORMATION {}
4657#[cfg(feature = "Win32_Foundation")]
4658impl ::core::clone::Clone for SECPKG_EXTENDED_INFORMATION {
4659 fn clone(&self) -> Self {
4660 *self
4661 }
4662}
4663#[repr(C)]
4664#[cfg(feature = "Win32_Foundation")]
4665pub union SECPKG_EXTENDED_INFORMATION_0 {
4666 pub GssInfo: SECPKG_GSS_INFO,
4667 pub ContextThunks: SECPKG_CONTEXT_THUNKS,
4668 pub MutualAuthLevel: SECPKG_MUTUAL_AUTH_LEVEL,
4669 pub WowClientDll: SECPKG_WOW_CLIENT_DLL,
4670 pub ExtraOids: SECPKG_EXTRA_OIDS,
4671 pub Nego2Info: SECPKG_NEGO2_INFO,
4672}
4673#[cfg(feature = "Win32_Foundation")]
4674impl ::core::marker::Copy for SECPKG_EXTENDED_INFORMATION_0 {}
4675#[cfg(feature = "Win32_Foundation")]
4676impl ::core::clone::Clone for SECPKG_EXTENDED_INFORMATION_0 {
4677 fn clone(&self) -> Self {
4678 *self
4679 }
4680}
4681pub type SECPKG_EXTENDED_INFORMATION_CLASS = i32;
4682pub const SecpkgGssInfo: SECPKG_EXTENDED_INFORMATION_CLASS = 1i32;
4683pub const SecpkgContextThunks: SECPKG_EXTENDED_INFORMATION_CLASS = 2i32;
4684pub const SecpkgMutualAuthLevel: SECPKG_EXTENDED_INFORMATION_CLASS = 3i32;
4685pub const SecpkgWowClientDll: SECPKG_EXTENDED_INFORMATION_CLASS = 4i32;
4686pub const SecpkgExtraOids: SECPKG_EXTENDED_INFORMATION_CLASS = 5i32;
4687pub const SecpkgMaxInfo: SECPKG_EXTENDED_INFORMATION_CLASS = 6i32;
4688pub const SecpkgNego2Info: SECPKG_EXTENDED_INFORMATION_CLASS = 7i32;
4689#[repr(C)]
4690pub struct SECPKG_EXTRA_OIDS {
4691 pub OidCount: u32,
4692 pub Oids: [SECPKG_SERIALIZED_OID; 1],
4693}
4694impl ::core::marker::Copy for SECPKG_EXTRA_OIDS {}
4695impl ::core::clone::Clone for SECPKG_EXTRA_OIDS {
4696 fn clone(&self) -> Self {
4697 *self
4698 }
4699}
4700pub const SECPKG_FLAG_ACCEPT_WIN32_NAME: u32 = 512u32;
4701pub const SECPKG_FLAG_APPCONTAINER_CHECKS: u32 = 8388608u32;
4702pub const SECPKG_FLAG_APPCONTAINER_PASSTHROUGH: u32 = 4194304u32;
4703pub const SECPKG_FLAG_APPLY_LOOPBACK: u32 = 33554432u32;
4704pub const SECPKG_FLAG_ASCII_BUFFERS: u32 = 16384u32;
4705pub const SECPKG_FLAG_CLIENT_ONLY: u32 = 64u32;
4706pub const SECPKG_FLAG_CONNECTION: u32 = 16u32;
4707pub const SECPKG_FLAG_CREDENTIAL_ISOLATION_ENABLED: u32 = 16777216u32;
4708pub const SECPKG_FLAG_DATAGRAM: u32 = 8u32;
4709pub const SECPKG_FLAG_DELEGATION: u32 = 131072u32;
4710pub const SECPKG_FLAG_EXTENDED_ERROR: u32 = 128u32;
4711pub const SECPKG_FLAG_FRAGMENT: u32 = 32768u32;
4712pub const SECPKG_FLAG_GSS_COMPATIBLE: u32 = 4096u32;
4713pub const SECPKG_FLAG_IMPERSONATION: u32 = 256u32;
4714pub const SECPKG_FLAG_INTEGRITY: u32 = 1u32;
4715pub const SECPKG_FLAG_LOGON: u32 = 8192u32;
4716pub const SECPKG_FLAG_MULTI_REQUIRED: u32 = 32u32;
4717pub const SECPKG_FLAG_MUTUAL_AUTH: u32 = 65536u32;
4718pub const SECPKG_FLAG_NEGOTIABLE: u32 = 2048u32;
4719pub const SECPKG_FLAG_NEGOTIABLE2: u32 = 2097152u32;
4720pub const SECPKG_FLAG_NEGO_EXTENDER: u32 = 1048576u32;
4721pub const SECPKG_FLAG_PRIVACY: u32 = 2u32;
4722pub const SECPKG_FLAG_READONLY_WITH_CHECKSUM: u32 = 262144u32;
4723pub const SECPKG_FLAG_RESTRICTED_TOKENS: u32 = 524288u32;
4724pub const SECPKG_FLAG_STREAM: u32 = 1024u32;
4725pub const SECPKG_FLAG_TOKEN_ONLY: u32 = 4u32;
4726#[repr(C)]
4727#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
4728pub struct SECPKG_FUNCTION_TABLE {
4729 pub InitializePackage: PLSA_AP_INITIALIZE_PACKAGE,
4730 pub LogonUserA: PLSA_AP_LOGON_USER,
4731 pub CallPackage: PLSA_AP_CALL_PACKAGE,
4732 pub LogonTerminated: PLSA_AP_LOGON_TERMINATED,
4733 pub CallPackageUntrusted: PLSA_AP_CALL_PACKAGE,
4734 pub CallPackagePassthrough: PLSA_AP_CALL_PACKAGE_PASSTHROUGH,
4735 pub LogonUserExA: PLSA_AP_LOGON_USER_EX,
4736 pub LogonUserEx2: PLSA_AP_LOGON_USER_EX2,
4737 pub Initialize: SpInitializeFn,
4738 pub Shutdown: SpShutdownFn,
4739 pub GetInfo: SpGetInfoFn,
4740 pub AcceptCredentials: SpAcceptCredentialsFn,
4741 pub AcquireCredentialsHandleA: SpAcquireCredentialsHandleFn,
4742 pub QueryCredentialsAttributesA: SpQueryCredentialsAttributesFn,
4743 pub FreeCredentialsHandle: SpFreeCredentialsHandleFn,
4744 pub SaveCredentials: SpSaveCredentialsFn,
4745 pub GetCredentials: SpGetCredentialsFn,
4746 pub DeleteCredentials: SpDeleteCredentialsFn,
4747 pub InitLsaModeContext: SpInitLsaModeContextFn,
4748 pub AcceptLsaModeContext: SpAcceptLsaModeContextFn,
4749 pub DeleteContext: SpDeleteContextFn,
4750 pub ApplyControlToken: SpApplyControlTokenFn,
4751 pub GetUserInfo: SpGetUserInfoFn,
4752 pub GetExtendedInformation: SpGetExtendedInformationFn,
4753 pub QueryContextAttributesA: SpQueryContextAttributesFn,
4754 pub AddCredentialsA: SpAddCredentialsFn,
4755 pub SetExtendedInformation: SpSetExtendedInformationFn,
4756 pub SetContextAttributesA: SpSetContextAttributesFn,
4757 pub SetCredentialsAttributesA: SpSetCredentialsAttributesFn,
4758 pub ChangeAccountPasswordA: SpChangeAccountPasswordFn,
4759 pub QueryMetaData: SpQueryMetaDataFn,
4760 pub ExchangeMetaData: SpExchangeMetaDataFn,
4761 pub GetCredUIContext: SpGetCredUIContextFn,
4762 pub UpdateCredentials: SpUpdateCredentialsFn,
4763 pub ValidateTargetInfo: SpValidateTargetInfoFn,
4764 pub PostLogonUser: LSA_AP_POST_LOGON_USER,
4765 pub GetRemoteCredGuardLogonBuffer: SpGetRemoteCredGuardLogonBufferFn,
4766 pub GetRemoteCredGuardSupplementalCreds: SpGetRemoteCredGuardSupplementalCredsFn,
4767 pub GetTbalSupplementalCreds: SpGetTbalSupplementalCredsFn,
4768 pub LogonUserEx3: PLSA_AP_LOGON_USER_EX3,
4769 pub PreLogonUserSurrogate: PLSA_AP_PRE_LOGON_USER_SURROGATE,
4770 pub PostLogonUserSurrogate: PLSA_AP_POST_LOGON_USER_SURROGATE,
4771}
4772#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
4773impl ::core::marker::Copy for SECPKG_FUNCTION_TABLE {}
4774#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
4775impl ::core::clone::Clone for SECPKG_FUNCTION_TABLE {
4776 fn clone(&self) -> Self {
4777 *self
4778 }
4779}
4780#[repr(C)]
4781pub struct SECPKG_GSS_INFO {
4782 pub EncodedIdLength: u32,
4783 pub EncodedId: [u8; 4],
4784}
4785impl ::core::marker::Copy for SECPKG_GSS_INFO {}
4786impl ::core::clone::Clone for SECPKG_GSS_INFO {
4787 fn clone(&self) -> Self {
4788 *self
4789 }
4790}
4791pub const SECPKG_ID_NONE: u32 = 65535u32;
4792pub const SECPKG_INTERFACE_VERSION: u32 = 65536u32;
4793pub const SECPKG_INTERFACE_VERSION_10: u32 = 33554432u32;
4794pub const SECPKG_INTERFACE_VERSION_2: u32 = 131072u32;
4795pub const SECPKG_INTERFACE_VERSION_3: u32 = 262144u32;
4796pub const SECPKG_INTERFACE_VERSION_4: u32 = 524288u32;
4797pub const SECPKG_INTERFACE_VERSION_5: u32 = 1048576u32;
4798pub const SECPKG_INTERFACE_VERSION_6: u32 = 2097152u32;
4799pub const SECPKG_INTERFACE_VERSION_7: u32 = 4194304u32;
4800pub const SECPKG_INTERFACE_VERSION_8: u32 = 8388608u32;
4801pub const SECPKG_INTERFACE_VERSION_9: u32 = 16777216u32;
4802#[repr(C)]
4803#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4804pub struct SECPKG_KERNEL_FUNCTIONS {
4805 pub AllocateHeap: PLSA_ALLOCATE_LSA_HEAP,
4806 pub FreeHeap: PLSA_FREE_LSA_HEAP,
4807 pub CreateContextList: PKSEC_CREATE_CONTEXT_LIST,
4808 pub InsertListEntry: PKSEC_INSERT_LIST_ENTRY,
4809 pub ReferenceListEntry: PKSEC_REFERENCE_LIST_ENTRY,
4810 pub DereferenceListEntry: PKSEC_DEREFERENCE_LIST_ENTRY,
4811 pub SerializeWinntAuthData: PKSEC_SERIALIZE_WINNT_AUTH_DATA,
4812 pub SerializeSchannelAuthData: PKSEC_SERIALIZE_SCHANNEL_AUTH_DATA,
4813 pub LocatePackageById: PKSEC_LOCATE_PKG_BY_ID,
4814}
4815#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4816impl ::core::marker::Copy for SECPKG_KERNEL_FUNCTIONS {}
4817#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4818impl ::core::clone::Clone for SECPKG_KERNEL_FUNCTIONS {
4819 fn clone(&self) -> Self {
4820 *self
4821 }
4822}
4823#[repr(C)]
4824#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4825pub struct SECPKG_KERNEL_FUNCTION_TABLE {
4826 pub Initialize: KspInitPackageFn,
4827 pub DeleteContext: KspDeleteContextFn,
4828 pub InitContext: KspInitContextFn,
4829 pub MapHandle: KspMapHandleFn,
4830 pub Sign: KspMakeSignatureFn,
4831 pub Verify: KspVerifySignatureFn,
4832 pub Seal: KspSealMessageFn,
4833 pub Unseal: KspUnsealMessageFn,
4834 pub GetToken: KspGetTokenFn,
4835 pub QueryAttributes: KspQueryAttributesFn,
4836 pub CompleteToken: KspCompleteTokenFn,
4837 pub ExportContext: SpExportSecurityContextFn,
4838 pub ImportContext: SpImportSecurityContextFn,
4839 pub SetPackagePagingMode: KspSetPagingModeFn,
4840 pub SerializeAuthData: KspSerializeAuthDataFn,
4841}
4842#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4843impl ::core::marker::Copy for SECPKG_KERNEL_FUNCTION_TABLE {}
4844#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4845impl ::core::clone::Clone for SECPKG_KERNEL_FUNCTION_TABLE {
4846 fn clone(&self) -> Self {
4847 *self
4848 }
4849}
4850pub const SECPKG_MAX_OID_LENGTH: u32 = 32u32;
4851#[repr(C)]
4852pub struct SECPKG_MUTUAL_AUTH_LEVEL {
4853 pub MutualAuthLevel: u32,
4854}
4855impl ::core::marker::Copy for SECPKG_MUTUAL_AUTH_LEVEL {}
4856impl ::core::clone::Clone for SECPKG_MUTUAL_AUTH_LEVEL {
4857 fn clone(&self) -> Self {
4858 *self
4859 }
4860}
4861pub type SECPKG_NAME_TYPE = i32;
4862pub const SecNameSamCompatible: SECPKG_NAME_TYPE = 0i32;
4863pub const SecNameAlternateId: SECPKG_NAME_TYPE = 1i32;
4864pub const SecNameFlat: SECPKG_NAME_TYPE = 2i32;
4865pub const SecNameDN: SECPKG_NAME_TYPE = 3i32;
4866pub const SecNameSPN: SECPKG_NAME_TYPE = 4i32;
4867#[repr(C)]
4868pub struct SECPKG_NEGO2_INFO {
4869 pub AuthScheme: [u8; 16],
4870 pub PackageFlags: u32,
4871}
4872impl ::core::marker::Copy for SECPKG_NEGO2_INFO {}
4873impl ::core::clone::Clone for SECPKG_NEGO2_INFO {
4874 fn clone(&self) -> Self {
4875 *self
4876 }
4877}
4878pub const SECPKG_NEGOTIATION_COMPLETE: u32 = 0u32;
4879pub const SECPKG_NEGOTIATION_DIRECT: u32 = 3u32;
4880pub const SECPKG_NEGOTIATION_IN_PROGRESS: u32 = 2u32;
4881pub const SECPKG_NEGOTIATION_OPTIMISTIC: u32 = 1u32;
4882pub const SECPKG_NEGOTIATION_TRY_MULTICRED: u32 = 4u32;
4883pub const SECPKG_OPTIONS_PERMANENT: u32 = 1u32;
4884pub type SECPKG_PACKAGE_CHANGE_TYPE = u32;
4885pub const SECPKG_PACKAGE_CHANGE_LOAD: SECPKG_PACKAGE_CHANGE_TYPE = 0u32;
4886pub const SECPKG_PACKAGE_CHANGE_UNLOAD: SECPKG_PACKAGE_CHANGE_TYPE = 1u32;
4887pub const SECPKG_PACKAGE_CHANGE_SELECT: SECPKG_PACKAGE_CHANGE_TYPE = 2u32;
4888#[repr(C)]
4889#[cfg(feature = "Win32_Foundation")]
4890pub struct SECPKG_PARAMETERS {
4891 pub Version: u32,
4892 pub MachineState: u32,
4893 pub SetupMode: u32,
4894 pub DomainSid: super::super::super::Foundation::PSID,
4895 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
4896 pub DnsDomainName: super::super::super::Foundation::UNICODE_STRING,
4897 pub DomainGuid: ::windows_sys::core::GUID,
4898}
4899#[cfg(feature = "Win32_Foundation")]
4900impl ::core::marker::Copy for SECPKG_PARAMETERS {}
4901#[cfg(feature = "Win32_Foundation")]
4902impl ::core::clone::Clone for SECPKG_PARAMETERS {
4903 fn clone(&self) -> Self {
4904 *self
4905 }
4906}
4907#[repr(C)]
4908#[cfg(feature = "Win32_Foundation")]
4909pub struct SECPKG_POST_LOGON_USER_INFO {
4910 pub Flags: u32,
4911 pub LogonId: super::super::super::Foundation::LUID,
4912 pub LinkedLogonId: super::super::super::Foundation::LUID,
4913}
4914#[cfg(feature = "Win32_Foundation")]
4915impl ::core::marker::Copy for SECPKG_POST_LOGON_USER_INFO {}
4916#[cfg(feature = "Win32_Foundation")]
4917impl ::core::clone::Clone for SECPKG_POST_LOGON_USER_INFO {
4918 fn clone(&self) -> Self {
4919 *self
4920 }
4921}
4922#[repr(C)]
4923#[cfg(feature = "Win32_Foundation")]
4924pub struct SECPKG_PRIMARY_CRED {
4925 pub LogonId: super::super::super::Foundation::LUID,
4926 pub DownlevelName: super::super::super::Foundation::UNICODE_STRING,
4927 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
4928 pub Password: super::super::super::Foundation::UNICODE_STRING,
4929 pub OldPassword: super::super::super::Foundation::UNICODE_STRING,
4930 pub UserSid: super::super::super::Foundation::PSID,
4931 pub Flags: u32,
4932 pub DnsDomainName: super::super::super::Foundation::UNICODE_STRING,
4933 pub Upn: super::super::super::Foundation::UNICODE_STRING,
4934 pub LogonServer: super::super::super::Foundation::UNICODE_STRING,
4935 pub Spare1: super::super::super::Foundation::UNICODE_STRING,
4936 pub Spare2: super::super::super::Foundation::UNICODE_STRING,
4937 pub Spare3: super::super::super::Foundation::UNICODE_STRING,
4938 pub Spare4: super::super::super::Foundation::UNICODE_STRING,
4939}
4940#[cfg(feature = "Win32_Foundation")]
4941impl ::core::marker::Copy for SECPKG_PRIMARY_CRED {}
4942#[cfg(feature = "Win32_Foundation")]
4943impl ::core::clone::Clone for SECPKG_PRIMARY_CRED {
4944 fn clone(&self) -> Self {
4945 *self
4946 }
4947}
4948#[repr(C)]
4949#[cfg(feature = "Win32_Foundation")]
4950pub struct SECPKG_PRIMARY_CRED_EX {
4951 pub LogonId: super::super::super::Foundation::LUID,
4952 pub DownlevelName: super::super::super::Foundation::UNICODE_STRING,
4953 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
4954 pub Password: super::super::super::Foundation::UNICODE_STRING,
4955 pub OldPassword: super::super::super::Foundation::UNICODE_STRING,
4956 pub UserSid: super::super::super::Foundation::PSID,
4957 pub Flags: u32,
4958 pub DnsDomainName: super::super::super::Foundation::UNICODE_STRING,
4959 pub Upn: super::super::super::Foundation::UNICODE_STRING,
4960 pub LogonServer: super::super::super::Foundation::UNICODE_STRING,
4961 pub Spare1: super::super::super::Foundation::UNICODE_STRING,
4962 pub Spare2: super::super::super::Foundation::UNICODE_STRING,
4963 pub Spare3: super::super::super::Foundation::UNICODE_STRING,
4964 pub Spare4: super::super::super::Foundation::UNICODE_STRING,
4965 pub PackageId: usize,
4966 pub PrevLogonId: super::super::super::Foundation::LUID,
4967 pub FlagsEx: u32,
4968}
4969#[cfg(feature = "Win32_Foundation")]
4970impl ::core::marker::Copy for SECPKG_PRIMARY_CRED_EX {}
4971#[cfg(feature = "Win32_Foundation")]
4972impl ::core::clone::Clone for SECPKG_PRIMARY_CRED_EX {
4973 fn clone(&self) -> Self {
4974 *self
4975 }
4976}
4977pub const SECPKG_PRIMARY_CRED_EX_FLAGS_EX_DELEGATION_TOKEN: u32 = 1u32;
4978#[repr(C)]
4979#[cfg(feature = "Win32_Foundation")]
4980pub struct SECPKG_REDIRECTED_LOGON_BUFFER {
4981 pub RedirectedLogonGuid: ::windows_sys::core::GUID,
4982 pub RedirectedLogonHandle: super::super::super::Foundation::HANDLE,
4983 pub Init: PLSA_REDIRECTED_LOGON_INIT,
4984 pub Callback: PLSA_REDIRECTED_LOGON_CALLBACK,
4985 pub CleanupCallback: PLSA_REDIRECTED_LOGON_CLEANUP_CALLBACK,
4986 pub GetLogonCreds: PLSA_REDIRECTED_LOGON_GET_LOGON_CREDS,
4987 pub GetSupplementalCreds: PLSA_REDIRECTED_LOGON_GET_SUPP_CREDS,
4988}
4989#[cfg(feature = "Win32_Foundation")]
4990impl ::core::marker::Copy for SECPKG_REDIRECTED_LOGON_BUFFER {}
4991#[cfg(feature = "Win32_Foundation")]
4992impl ::core::clone::Clone for SECPKG_REDIRECTED_LOGON_BUFFER {
4993 fn clone(&self) -> Self {
4994 *self
4995 }
4996}
4997#[repr(C)]
4998pub struct SECPKG_SERIALIZED_OID {
4999 pub OidLength: u32,
5000 pub OidAttributes: u32,
5001 pub OidValue: [u8; 32],
5002}
5003impl ::core::marker::Copy for SECPKG_SERIALIZED_OID {}
5004impl ::core::clone::Clone for SECPKG_SERIALIZED_OID {
5005 fn clone(&self) -> Self {
5006 *self
5007 }
5008}
5009pub type SECPKG_SESSIONINFO_TYPE = i32;
5010pub const SecSessionPrimaryCred: SECPKG_SESSIONINFO_TYPE = 0i32;
5011#[repr(C)]
5012pub struct SECPKG_SHORT_VECTOR {
5013 pub ShortArrayOffset: u32,
5014 pub ShortArrayCount: u16,
5015}
5016impl ::core::marker::Copy for SECPKG_SHORT_VECTOR {}
5017impl ::core::clone::Clone for SECPKG_SHORT_VECTOR {
5018 fn clone(&self) -> Self {
5019 *self
5020 }
5021}
5022pub const SECPKG_STATE_CRED_ISOLATION_ENABLED: u32 = 32u32;
5023pub const SECPKG_STATE_DOMAIN_CONTROLLER: u32 = 4u32;
5024pub const SECPKG_STATE_ENCRYPTION_PERMITTED: u32 = 1u32;
5025pub const SECPKG_STATE_RESERVED_1: u32 = 2147483648u32;
5026pub const SECPKG_STATE_STANDALONE: u32 = 16u32;
5027pub const SECPKG_STATE_STRONG_ENCRYPTION_PERMITTED: u32 = 2u32;
5028pub const SECPKG_STATE_WORKSTATION: u32 = 8u32;
5029#[repr(C)]
5030#[cfg(feature = "Win32_Foundation")]
5031pub struct SECPKG_SUPPLEMENTAL_CRED {
5032 pub PackageName: super::super::super::Foundation::UNICODE_STRING,
5033 pub CredentialSize: u32,
5034 pub Credentials: *mut u8,
5035}
5036#[cfg(feature = "Win32_Foundation")]
5037impl ::core::marker::Copy for SECPKG_SUPPLEMENTAL_CRED {}
5038#[cfg(feature = "Win32_Foundation")]
5039impl ::core::clone::Clone for SECPKG_SUPPLEMENTAL_CRED {
5040 fn clone(&self) -> Self {
5041 *self
5042 }
5043}
5044#[repr(C)]
5045#[cfg(feature = "Win32_Foundation")]
5046pub struct SECPKG_SUPPLEMENTAL_CRED_ARRAY {
5047 pub CredentialCount: u32,
5048 pub Credentials: [SECPKG_SUPPLEMENTAL_CRED; 1],
5049}
5050#[cfg(feature = "Win32_Foundation")]
5051impl ::core::marker::Copy for SECPKG_SUPPLEMENTAL_CRED_ARRAY {}
5052#[cfg(feature = "Win32_Foundation")]
5053impl ::core::clone::Clone for SECPKG_SUPPLEMENTAL_CRED_ARRAY {
5054 fn clone(&self) -> Self {
5055 *self
5056 }
5057}
5058#[repr(C)]
5059pub struct SECPKG_SUPPLIED_CREDENTIAL {
5060 pub cbHeaderLength: u16,
5061 pub cbStructureLength: u16,
5062 pub UserName: SECPKG_SHORT_VECTOR,
5063 pub DomainName: SECPKG_SHORT_VECTOR,
5064 pub PackedCredentials: SECPKG_BYTE_VECTOR,
5065 pub CredFlags: u32,
5066}
5067impl ::core::marker::Copy for SECPKG_SUPPLIED_CREDENTIAL {}
5068impl ::core::clone::Clone for SECPKG_SUPPLIED_CREDENTIAL {
5069 fn clone(&self) -> Self {
5070 *self
5071 }
5072}
5073#[repr(C)]
5074#[cfg(feature = "Win32_Foundation")]
5075pub struct SECPKG_SURROGATE_LOGON {
5076 pub Version: u32,
5077 pub SurrogateLogonID: super::super::super::Foundation::LUID,
5078 pub EntryCount: u32,
5079 pub Entries: *mut SECPKG_SURROGATE_LOGON_ENTRY,
5080}
5081#[cfg(feature = "Win32_Foundation")]
5082impl ::core::marker::Copy for SECPKG_SURROGATE_LOGON {}
5083#[cfg(feature = "Win32_Foundation")]
5084impl ::core::clone::Clone for SECPKG_SURROGATE_LOGON {
5085 fn clone(&self) -> Self {
5086 *self
5087 }
5088}
5089#[repr(C)]
5090pub struct SECPKG_SURROGATE_LOGON_ENTRY {
5091 pub Type: ::windows_sys::core::GUID,
5092 pub Data: *mut ::core::ffi::c_void,
5093}
5094impl ::core::marker::Copy for SECPKG_SURROGATE_LOGON_ENTRY {}
5095impl ::core::clone::Clone for SECPKG_SURROGATE_LOGON_ENTRY {
5096 fn clone(&self) -> Self {
5097 *self
5098 }
5099}
5100pub const SECPKG_SURROGATE_LOGON_VERSION_1: u32 = 1u32;
5101#[repr(C)]
5102#[cfg(feature = "Win32_Foundation")]
5103pub struct SECPKG_TARGETINFO {
5104 pub DomainSid: super::super::super::Foundation::PSID,
5105 pub ComputerName: super::super::super::Foundation::PWSTR,
5106}
5107#[cfg(feature = "Win32_Foundation")]
5108impl ::core::marker::Copy for SECPKG_TARGETINFO {}
5109#[cfg(feature = "Win32_Foundation")]
5110impl ::core::clone::Clone for SECPKG_TARGETINFO {
5111 fn clone(&self) -> Self {
5112 *self
5113 }
5114}
5115pub const SECPKG_UNICODE_ATTRIBUTE: u32 = 2147483648u32;
5116#[repr(C)]
5117#[cfg(feature = "Win32_Foundation")]
5118pub struct SECPKG_USER_FUNCTION_TABLE {
5119 pub InstanceInit: SpInstanceInitFn,
5120 pub InitUserModeContext: SpInitUserModeContextFn,
5121 pub MakeSignature: SpMakeSignatureFn,
5122 pub VerifySignature: SpVerifySignatureFn,
5123 pub SealMessage: SpSealMessageFn,
5124 pub UnsealMessage: SpUnsealMessageFn,
5125 pub GetContextToken: SpGetContextTokenFn,
5126 pub QueryContextAttributesA: SpQueryContextAttributesFn,
5127 pub CompleteAuthToken: SpCompleteAuthTokenFn,
5128 pub DeleteUserModeContext: SpDeleteContextFn,
5129 pub FormatCredentials: SpFormatCredentialsFn,
5130 pub MarshallSupplementalCreds: SpMarshallSupplementalCredsFn,
5131 pub ExportContext: SpExportSecurityContextFn,
5132 pub ImportContext: SpImportSecurityContextFn,
5133 pub MarshalAttributeData: SpMarshalAttributeDataFn,
5134}
5135#[cfg(feature = "Win32_Foundation")]
5136impl ::core::marker::Copy for SECPKG_USER_FUNCTION_TABLE {}
5137#[cfg(feature = "Win32_Foundation")]
5138impl ::core::clone::Clone for SECPKG_USER_FUNCTION_TABLE {
5139 fn clone(&self) -> Self {
5140 *self
5141 }
5142}
5143#[repr(C)]
5144#[cfg(feature = "Win32_Foundation")]
5145pub struct SECPKG_WOW_CLIENT_DLL {
5146 pub WowClientDllPath: super::super::super::Foundation::UNICODE_STRING,
5147}
5148#[cfg(feature = "Win32_Foundation")]
5149impl ::core::marker::Copy for SECPKG_WOW_CLIENT_DLL {}
5150#[cfg(feature = "Win32_Foundation")]
5151impl ::core::clone::Clone for SECPKG_WOW_CLIENT_DLL {
5152 fn clone(&self) -> Self {
5153 *self
5154 }
5155}
5156pub const SECQOP_WRAP_NO_ENCRYPT: u32 = 2147483649u32;
5157pub const SECQOP_WRAP_OOB_DATA: u32 = 1073741824u32;
5158pub const SECRET_QUERY_VALUE: i32 = 2i32;
5159pub const SECRET_SET_VALUE: i32 = 1i32;
5160#[repr(C)]
5161#[cfg(feature = "Win32_Foundation")]
5162pub struct SECURITY_LOGON_SESSION_DATA {
5163 pub Size: u32,
5164 pub LogonId: super::super::super::Foundation::LUID,
5165 pub UserName: super::super::super::Foundation::UNICODE_STRING,
5166 pub LogonDomain: super::super::super::Foundation::UNICODE_STRING,
5167 pub AuthenticationPackage: super::super::super::Foundation::UNICODE_STRING,
5168 pub LogonType: u32,
5169 pub Session: u32,
5170 pub Sid: super::super::super::Foundation::PSID,
5171 pub LogonTime: i64,
5172 pub LogonServer: super::super::super::Foundation::UNICODE_STRING,
5173 pub DnsDomainName: super::super::super::Foundation::UNICODE_STRING,
5174 pub Upn: super::super::super::Foundation::UNICODE_STRING,
5175 pub UserFlags: u32,
5176 pub LastLogonInfo: LSA_LAST_INTER_LOGON_INFO,
5177 pub LogonScript: super::super::super::Foundation::UNICODE_STRING,
5178 pub ProfilePath: super::super::super::Foundation::UNICODE_STRING,
5179 pub HomeDirectory: super::super::super::Foundation::UNICODE_STRING,
5180 pub HomeDirectoryDrive: super::super::super::Foundation::UNICODE_STRING,
5181 pub LogoffTime: i64,
5182 pub KickOffTime: i64,
5183 pub PasswordLastSet: i64,
5184 pub PasswordCanChange: i64,
5185 pub PasswordMustChange: i64,
5186}
5187#[cfg(feature = "Win32_Foundation")]
5188impl ::core::marker::Copy for SECURITY_LOGON_SESSION_DATA {}
5189#[cfg(feature = "Win32_Foundation")]
5190impl ::core::clone::Clone for SECURITY_LOGON_SESSION_DATA {
5191 fn clone(&self) -> Self {
5192 *self
5193 }
5194}
5195#[repr(transparent)]
5196pub struct SECURITY_LOGON_TYPE(pub i32);
5197impl SECURITY_LOGON_TYPE {
5198 pub const UndefinedLogonType: Self = Self(0i32);
5199 pub const Interactive: Self = Self(2i32);
5200 pub const Network: Self = Self(3i32);
5201 pub const Batch: Self = Self(4i32);
5202 pub const Service: Self = Self(5i32);
5203 pub const Proxy: Self = Self(6i32);
5204 pub const Unlock: Self = Self(7i32);
5205 pub const NetworkCleartext: Self = Self(8i32);
5206 pub const NewCredentials: Self = Self(9i32);
5207 pub const RemoteInteractive: Self = Self(10i32);
5208 pub const CachedInteractive: Self = Self(11i32);
5209 pub const CachedRemoteInteractive: Self = Self(12i32);
5210 pub const CachedUnlock: Self = Self(13i32);
5211}
5212impl ::core::marker::Copy for SECURITY_LOGON_TYPE {}
5213impl ::core::clone::Clone for SECURITY_LOGON_TYPE {
5214 fn clone(&self) -> Self {
5215 *self
5216 }
5217}
5218pub const SECURITY_NATIVE_DREP: u32 = 16u32;
5219pub const SECURITY_NETWORK_DREP: u32 = 0u32;
5220#[repr(C)]
5221pub struct SECURITY_PACKAGE_OPTIONS {
5222 pub Size: u32,
5223 pub Type: SECURITY_PACKAGE_OPTIONS_TYPE,
5224 pub Flags: u32,
5225 pub SignatureSize: u32,
5226 pub Signature: *mut ::core::ffi::c_void,
5227}
5228impl ::core::marker::Copy for SECURITY_PACKAGE_OPTIONS {}
5229impl ::core::clone::Clone for SECURITY_PACKAGE_OPTIONS {
5230 fn clone(&self) -> Self {
5231 *self
5232 }
5233}
5234pub type SECURITY_PACKAGE_OPTIONS_TYPE = u32;
5235pub const SECPKG_OPTIONS_TYPE_UNKNOWN: SECURITY_PACKAGE_OPTIONS_TYPE = 0u32;
5236pub const SECPKG_OPTIONS_TYPE_LSA: SECURITY_PACKAGE_OPTIONS_TYPE = 1u32;
5237pub const SECPKG_OPTIONS_TYPE_SSPI: SECURITY_PACKAGE_OPTIONS_TYPE = 2u32;
5238pub const SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION: u32 = 1u32;
5239pub const SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_2: u32 = 2u32;
5240pub const SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_3: u32 = 3u32;
5241pub const SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_4: u32 = 4u32;
5242pub const SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_5: u32 = 5u32;
5243#[repr(C)]
5244#[cfg(feature = "Win32_Foundation")]
5245pub struct SECURITY_USER_DATA {
5246 pub UserName: super::super::super::Foundation::UNICODE_STRING,
5247 pub LogonDomainName: super::super::super::Foundation::UNICODE_STRING,
5248 pub LogonServer: super::super::super::Foundation::UNICODE_STRING,
5249 pub pSid: super::super::super::Foundation::PSID,
5250}
5251#[cfg(feature = "Win32_Foundation")]
5252impl ::core::marker::Copy for SECURITY_USER_DATA {}
5253#[cfg(feature = "Win32_Foundation")]
5254impl ::core::clone::Clone for SECURITY_USER_DATA {
5255 fn clone(&self) -> Self {
5256 *self
5257 }
5258}
5259#[repr(C)]
5260pub struct SEC_APPLICATION_PROTOCOLS {
5261 pub ProtocolListsSize: u32,
5262 pub ProtocolLists: [SEC_APPLICATION_PROTOCOL_LIST; 1],
5263}
5264impl ::core::marker::Copy for SEC_APPLICATION_PROTOCOLS {}
5265impl ::core::clone::Clone for SEC_APPLICATION_PROTOCOLS {
5266 fn clone(&self) -> Self {
5267 *self
5268 }
5269}
5270#[repr(C)]
5271pub struct SEC_APPLICATION_PROTOCOL_LIST {
5272 pub ProtoNegoExt: SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT,
5273 pub ProtocolListSize: u16,
5274 pub ProtocolList: [u8; 1],
5275}
5276impl ::core::marker::Copy for SEC_APPLICATION_PROTOCOL_LIST {}
5277impl ::core::clone::Clone for SEC_APPLICATION_PROTOCOL_LIST {
5278 fn clone(&self) -> Self {
5279 *self
5280 }
5281}
5282pub type SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT = i32;
5283pub const SecApplicationProtocolNegotiationExt_None: SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT = 0i32;
5284pub const SecApplicationProtocolNegotiationExt_NPN: SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT = 1i32;
5285pub const SecApplicationProtocolNegotiationExt_ALPN: SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT = 2i32;
5286pub type SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS = i32;
5287pub const SecApplicationProtocolNegotiationStatus_None: SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS = 0i32;
5288pub const SecApplicationProtocolNegotiationStatus_Success: SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS = 1i32;
5289pub const SecApplicationProtocolNegotiationStatus_SelectedClientOnly: SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS = 2i32;
5290#[repr(C)]
5291pub struct SEC_CHANNEL_BINDINGS {
5292 pub dwInitiatorAddrType: u32,
5293 pub cbInitiatorLength: u32,
5294 pub dwInitiatorOffset: u32,
5295 pub dwAcceptorAddrType: u32,
5296 pub cbAcceptorLength: u32,
5297 pub dwAcceptorOffset: u32,
5298 pub cbApplicationDataLength: u32,
5299 pub dwApplicationDataOffset: u32,
5300}
5301impl ::core::marker::Copy for SEC_CHANNEL_BINDINGS {}
5302impl ::core::clone::Clone for SEC_CHANNEL_BINDINGS {
5303 fn clone(&self) -> Self {
5304 *self
5305 }
5306}
5307#[repr(C)]
5308pub struct SEC_DTLS_MTU {
5309 pub PathMTU: u16,
5310}
5311impl ::core::marker::Copy for SEC_DTLS_MTU {}
5312impl ::core::clone::Clone for SEC_DTLS_MTU {
5313 fn clone(&self) -> Self {
5314 *self
5315 }
5316}
5317#[repr(C)]
5318pub struct SEC_FLAGS {
5319 pub Flags: u64,
5320}
5321impl ::core::marker::Copy for SEC_FLAGS {}
5322impl ::core::clone::Clone for SEC_FLAGS {
5323 fn clone(&self) -> Self {
5324 *self
5325 }
5326}
5327pub type SEC_GET_KEY_FN = unsafe extern "system" fn(arg: *mut ::core::ffi::c_void, principal: *mut ::core::ffi::c_void, keyver: u32, key: *mut *mut ::core::ffi::c_void, status: *mut i32);
5328#[repr(C)]
5329pub struct SEC_NEGOTIATION_INFO {
5330 pub Size: u32,
5331 pub NameLength: u32,
5332 pub Name: *mut u16,
5333 pub Reserved: *mut ::core::ffi::c_void,
5334}
5335impl ::core::marker::Copy for SEC_NEGOTIATION_INFO {}
5336impl ::core::clone::Clone for SEC_NEGOTIATION_INFO {
5337 fn clone(&self) -> Self {
5338 *self
5339 }
5340}
5341#[repr(C)]
5342pub struct SEC_PRESHAREDKEY {
5343 pub KeySize: u16,
5344 pub Key: [u8; 1],
5345}
5346impl ::core::marker::Copy for SEC_PRESHAREDKEY {}
5347impl ::core::clone::Clone for SEC_PRESHAREDKEY {
5348 fn clone(&self) -> Self {
5349 *self
5350 }
5351}
5352#[repr(C)]
5353pub struct SEC_PRESHAREDKEY_IDENTITY {
5354 pub KeyIdentitySize: u16,
5355 pub KeyIdentity: [u8; 1],
5356}
5357impl ::core::marker::Copy for SEC_PRESHAREDKEY_IDENTITY {}
5358impl ::core::clone::Clone for SEC_PRESHAREDKEY_IDENTITY {
5359 fn clone(&self) -> Self {
5360 *self
5361 }
5362}
5363#[repr(C)]
5364pub struct SEC_SRTP_MASTER_KEY_IDENTIFIER {
5365 pub MasterKeyIdentifierSize: u8,
5366 pub MasterKeyIdentifier: [u8; 1],
5367}
5368impl ::core::marker::Copy for SEC_SRTP_MASTER_KEY_IDENTIFIER {}
5369impl ::core::clone::Clone for SEC_SRTP_MASTER_KEY_IDENTIFIER {
5370 fn clone(&self) -> Self {
5371 *self
5372 }
5373}
5374#[repr(C)]
5375pub struct SEC_SRTP_PROTECTION_PROFILES {
5376 pub ProfilesSize: u16,
5377 pub ProfilesList: [u16; 1],
5378}
5379impl ::core::marker::Copy for SEC_SRTP_PROTECTION_PROFILES {}
5380impl ::core::clone::Clone for SEC_SRTP_PROTECTION_PROFILES {
5381 fn clone(&self) -> Self {
5382 *self
5383 }
5384}
5385#[repr(C)]
5386pub struct SEC_TOKEN_BINDING {
5387 pub MajorVersion: u8,
5388 pub MinorVersion: u8,
5389 pub KeyParametersSize: u16,
5390 pub KeyParameters: [u8; 1],
5391}
5392impl ::core::marker::Copy for SEC_TOKEN_BINDING {}
5393impl ::core::clone::Clone for SEC_TOKEN_BINDING {
5394 fn clone(&self) -> Self {
5395 *self
5396 }
5397}
5398#[repr(C)]
5399pub struct SEC_TRAFFIC_SECRETS {
5400 pub SymmetricAlgId: [u16; 64],
5401 pub ChainingMode: [u16; 64],
5402 pub HashAlgId: [u16; 64],
5403 pub KeySize: u16,
5404 pub IvSize: u16,
5405 pub MsgSequenceStart: u16,
5406 pub MsgSequenceEnd: u16,
5407 pub TrafficSecretType: SEC_TRAFFIC_SECRET_TYPE,
5408 pub TrafficSecretSize: u16,
5409 pub TrafficSecret: [u8; 1],
5410}
5411impl ::core::marker::Copy for SEC_TRAFFIC_SECRETS {}
5412impl ::core::clone::Clone for SEC_TRAFFIC_SECRETS {
5413 fn clone(&self) -> Self {
5414 *self
5415 }
5416}
5417pub type SEC_TRAFFIC_SECRET_TYPE = i32;
5418pub const SecTrafficSecret_None: SEC_TRAFFIC_SECRET_TYPE = 0i32;
5419pub const SecTrafficSecret_Client: SEC_TRAFFIC_SECRET_TYPE = 1i32;
5420pub const SecTrafficSecret_Server: SEC_TRAFFIC_SECRET_TYPE = 2i32;
5421#[repr(C)]
5422pub struct SEC_WINNT_AUTH_IDENTITY32 {
5423 pub User: u32,
5424 pub UserLength: u32,
5425 pub Domain: u32,
5426 pub DomainLength: u32,
5427 pub Password: u32,
5428 pub PasswordLength: u32,
5429 pub Flags: u32,
5430}
5431impl ::core::marker::Copy for SEC_WINNT_AUTH_IDENTITY32 {}
5432impl ::core::clone::Clone for SEC_WINNT_AUTH_IDENTITY32 {
5433 fn clone(&self) -> Self {
5434 *self
5435 }
5436}
5437pub const SEC_WINNT_AUTH_IDENTITY_ENCRYPT_FOR_SYSTEM: u32 = 4u32;
5438pub const SEC_WINNT_AUTH_IDENTITY_ENCRYPT_SAME_LOGON: u32 = 1u32;
5439pub const SEC_WINNT_AUTH_IDENTITY_ENCRYPT_SAME_PROCESS: u32 = 2u32;
5440#[repr(C)]
5441pub struct SEC_WINNT_AUTH_IDENTITY_EX2 {
5442 pub Version: u32,
5443 pub cbHeaderLength: u16,
5444 pub cbStructureLength: u32,
5445 pub UserOffset: u32,
5446 pub UserLength: u16,
5447 pub DomainOffset: u32,
5448 pub DomainLength: u16,
5449 pub PackedCredentialsOffset: u32,
5450 pub PackedCredentialsLength: u16,
5451 pub Flags: u32,
5452 pub PackageListOffset: u32,
5453 pub PackageListLength: u16,
5454}
5455impl ::core::marker::Copy for SEC_WINNT_AUTH_IDENTITY_EX2 {}
5456impl ::core::clone::Clone for SEC_WINNT_AUTH_IDENTITY_EX2 {
5457 fn clone(&self) -> Self {
5458 *self
5459 }
5460}
5461#[repr(C)]
5462pub struct SEC_WINNT_AUTH_IDENTITY_EX32 {
5463 pub Version: u32,
5464 pub Length: u32,
5465 pub User: u32,
5466 pub UserLength: u32,
5467 pub Domain: u32,
5468 pub DomainLength: u32,
5469 pub Password: u32,
5470 pub PasswordLength: u32,
5471 pub Flags: u32,
5472 pub PackageList: u32,
5473 pub PackageListLength: u32,
5474}
5475impl ::core::marker::Copy for SEC_WINNT_AUTH_IDENTITY_EX32 {}
5476impl ::core::clone::Clone for SEC_WINNT_AUTH_IDENTITY_EX32 {
5477 fn clone(&self) -> Self {
5478 *self
5479 }
5480}
5481#[repr(C)]
5482pub struct SEC_WINNT_AUTH_IDENTITY_EXA {
5483 pub Version: u32,
5484 pub Length: u32,
5485 pub User: *mut u8,
5486 pub UserLength: u32,
5487 pub Domain: *mut u8,
5488 pub DomainLength: u32,
5489 pub Password: *mut u8,
5490 pub PasswordLength: u32,
5491 pub Flags: u32,
5492 pub PackageList: *mut u8,
5493 pub PackageListLength: u32,
5494}
5495impl ::core::marker::Copy for SEC_WINNT_AUTH_IDENTITY_EXA {}
5496impl ::core::clone::Clone for SEC_WINNT_AUTH_IDENTITY_EXA {
5497 fn clone(&self) -> Self {
5498 *self
5499 }
5500}
5501#[repr(C)]
5502pub struct SEC_WINNT_AUTH_IDENTITY_EXW {
5503 pub Version: u32,
5504 pub Length: u32,
5505 pub User: *mut u16,
5506 pub UserLength: u32,
5507 pub Domain: *mut u16,
5508 pub DomainLength: u32,
5509 pub Password: *mut u16,
5510 pub PasswordLength: u32,
5511 pub Flags: u32,
5512 pub PackageList: *mut u16,
5513 pub PackageListLength: u32,
5514}
5515impl ::core::marker::Copy for SEC_WINNT_AUTH_IDENTITY_EXW {}
5516impl ::core::clone::Clone for SEC_WINNT_AUTH_IDENTITY_EXW {
5517 fn clone(&self) -> Self {
5518 *self
5519 }
5520}
5521pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_ID_PROVIDER: u32 = 524288u32;
5522pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_NULL_DOMAIN: u32 = 262144u32;
5523pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_NULL_USER: u32 = 131072u32;
5524pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_PROCESS_ENCRYPTED: u32 = 16u32;
5525pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_RESERVED: u32 = 65536u32;
5526pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_CREDPROV_DO_NOT_LOAD: u32 = 268435456u32;
5527pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_CREDPROV_DO_NOT_SAVE: u32 = 2147483648u32;
5528pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_NO_CHECKBOX: u32 = 536870912u32;
5529pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_SAVE_CRED_BY_CALLER: u32 = 2147483648u32;
5530pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_SAVE_CRED_CHECKED: u32 = 1073741824u32;
5531pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_USE_MASK: u32 = 4278190080u32;
5532pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SYSTEM_ENCRYPTED: u32 = 128u32;
5533pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SYSTEM_PROTECTED: u32 = 32u32;
5534pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_USER_PROTECTED: u32 = 64u32;
5535#[repr(C)]
5536#[cfg(feature = "Win32_System_Rpc")]
5537pub union SEC_WINNT_AUTH_IDENTITY_INFO {
5538 pub AuthIdExw: SEC_WINNT_AUTH_IDENTITY_EXW,
5539 pub AuthIdExa: SEC_WINNT_AUTH_IDENTITY_EXA,
5540 pub AuthId_a: super::super::super::System::Rpc::SEC_WINNT_AUTH_IDENTITY_A,
5541 pub AuthId_w: super::super::super::System::Rpc::SEC_WINNT_AUTH_IDENTITY_W,
5542 pub AuthIdEx2: SEC_WINNT_AUTH_IDENTITY_EX2,
5543}
5544#[cfg(feature = "Win32_System_Rpc")]
5545impl ::core::marker::Copy for SEC_WINNT_AUTH_IDENTITY_INFO {}
5546#[cfg(feature = "Win32_System_Rpc")]
5547impl ::core::clone::Clone for SEC_WINNT_AUTH_IDENTITY_INFO {
5548 fn clone(&self) -> Self {
5549 *self
5550 }
5551}
5552pub const SEC_WINNT_AUTH_IDENTITY_MARSHALLED: u32 = 4u32;
5553pub const SEC_WINNT_AUTH_IDENTITY_ONLY: u32 = 8u32;
5554pub const SEC_WINNT_AUTH_IDENTITY_VERSION: u32 = 512u32;
5555pub const SEC_WINNT_AUTH_IDENTITY_VERSION_2: u32 = 513u32;
5556#[repr(C)]
5557pub struct SEND_GENERIC_TLS_EXTENSION {
5558 pub ExtensionType: u16,
5559 pub HandshakeType: u16,
5560 pub Flags: u32,
5561 pub BufferSize: u16,
5562 pub Buffer: [u8; 1],
5563}
5564impl ::core::marker::Copy for SEND_GENERIC_TLS_EXTENSION {}
5565impl ::core::clone::Clone for SEND_GENERIC_TLS_EXTENSION {
5566 fn clone(&self) -> Self {
5567 *self
5568 }
5569}
5570pub const SESSION_TICKET_INFO_V0: u32 = 0u32;
5571pub const SESSION_TICKET_INFO_VERSION: u32 = 0u32;
5572#[cfg(feature = "Win32_Security_Credentials")]
5573pub type SET_CONTEXT_ATTRIBUTES_FN_A = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void, param3: u32) -> i32;
5574#[cfg(feature = "Win32_Security_Credentials")]
5575pub type SET_CONTEXT_ATTRIBUTES_FN_W = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void, param3: u32) -> i32;
5576#[cfg(feature = "Win32_Security_Credentials")]
5577pub type SET_CREDENTIALS_ATTRIBUTES_FN_A = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void, param3: u32) -> i32;
5578#[cfg(feature = "Win32_Security_Credentials")]
5579pub type SET_CREDENTIALS_ATTRIBUTES_FN_W = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void, param3: u32) -> i32;
5580#[repr(C)]
5581#[cfg(feature = "Win32_Foundation")]
5582pub struct SE_ADT_ACCESS_REASON {
5583 pub AccessMask: u32,
5584 pub AccessReasons: [u32; 32],
5585 pub ObjectTypeIndex: u32,
5586 pub AccessGranted: u32,
5587 pub SecurityDescriptor: *mut super::super::SECURITY_DESCRIPTOR,
5588}
5589#[cfg(feature = "Win32_Foundation")]
5590impl ::core::marker::Copy for SE_ADT_ACCESS_REASON {}
5591#[cfg(feature = "Win32_Foundation")]
5592impl ::core::clone::Clone for SE_ADT_ACCESS_REASON {
5593 fn clone(&self) -> Self {
5594 *self
5595 }
5596}
5597#[repr(C)]
5598pub struct SE_ADT_CLAIMS {
5599 pub Length: u32,
5600 pub Claims: *mut ::core::ffi::c_void,
5601}
5602impl ::core::marker::Copy for SE_ADT_CLAIMS {}
5603impl ::core::clone::Clone for SE_ADT_CLAIMS {
5604 fn clone(&self) -> Self {
5605 *self
5606 }
5607}
5608pub const SE_ADT_OBJECT_ONLY: u32 = 1u32;
5609#[repr(C)]
5610pub struct SE_ADT_OBJECT_TYPE {
5611 pub ObjectType: ::windows_sys::core::GUID,
5612 pub Flags: u16,
5613 pub Level: u16,
5614 pub AccessMask: u32,
5615}
5616impl ::core::marker::Copy for SE_ADT_OBJECT_TYPE {}
5617impl ::core::clone::Clone for SE_ADT_OBJECT_TYPE {
5618 fn clone(&self) -> Self {
5619 *self
5620 }
5621}
5622pub const SE_ADT_PARAMETERS_SELF_RELATIVE: u32 = 1u32;
5623pub const SE_ADT_PARAMETERS_SEND_TO_LSA: u32 = 2u32;
5624#[repr(C)]
5625pub struct SE_ADT_PARAMETER_ARRAY {
5626 pub CategoryId: u32,
5627 pub AuditId: u32,
5628 pub ParameterCount: u32,
5629 pub Length: u32,
5630 pub FlatSubCategoryId: u16,
5631 pub Type: u16,
5632 pub Flags: u32,
5633 pub Parameters: [SE_ADT_PARAMETER_ARRAY_ENTRY; 32],
5634}
5635impl ::core::marker::Copy for SE_ADT_PARAMETER_ARRAY {}
5636impl ::core::clone::Clone for SE_ADT_PARAMETER_ARRAY {
5637 fn clone(&self) -> Self {
5638 *self
5639 }
5640}
5641#[repr(C)]
5642pub struct SE_ADT_PARAMETER_ARRAY_ENTRY {
5643 pub Type: SE_ADT_PARAMETER_TYPE,
5644 pub Length: u32,
5645 pub Data: [usize; 2],
5646 pub Address: *mut ::core::ffi::c_void,
5647}
5648impl ::core::marker::Copy for SE_ADT_PARAMETER_ARRAY_ENTRY {}
5649impl ::core::clone::Clone for SE_ADT_PARAMETER_ARRAY_ENTRY {
5650 fn clone(&self) -> Self {
5651 *self
5652 }
5653}
5654#[repr(C)]
5655pub struct SE_ADT_PARAMETER_ARRAY_EX {
5656 pub CategoryId: u32,
5657 pub AuditId: u32,
5658 pub Version: u32,
5659 pub ParameterCount: u32,
5660 pub Length: u32,
5661 pub FlatSubCategoryId: u16,
5662 pub Type: u16,
5663 pub Flags: u32,
5664 pub Parameters: [SE_ADT_PARAMETER_ARRAY_ENTRY; 32],
5665}
5666impl ::core::marker::Copy for SE_ADT_PARAMETER_ARRAY_EX {}
5667impl ::core::clone::Clone for SE_ADT_PARAMETER_ARRAY_EX {
5668 fn clone(&self) -> Self {
5669 *self
5670 }
5671}
5672pub const SE_ADT_PARAMETER_EXTENSIBLE_AUDIT: u32 = 4u32;
5673pub const SE_ADT_PARAMETER_GENERIC_AUDIT: u32 = 8u32;
5674pub type SE_ADT_PARAMETER_TYPE = i32;
5675pub const SeAdtParmTypeNone: SE_ADT_PARAMETER_TYPE = 0i32;
5676pub const SeAdtParmTypeString: SE_ADT_PARAMETER_TYPE = 1i32;
5677pub const SeAdtParmTypeFileSpec: SE_ADT_PARAMETER_TYPE = 2i32;
5678pub const SeAdtParmTypeUlong: SE_ADT_PARAMETER_TYPE = 3i32;
5679pub const SeAdtParmTypeSid: SE_ADT_PARAMETER_TYPE = 4i32;
5680pub const SeAdtParmTypeLogonId: SE_ADT_PARAMETER_TYPE = 5i32;
5681pub const SeAdtParmTypeNoLogonId: SE_ADT_PARAMETER_TYPE = 6i32;
5682pub const SeAdtParmTypeAccessMask: SE_ADT_PARAMETER_TYPE = 7i32;
5683pub const SeAdtParmTypePrivs: SE_ADT_PARAMETER_TYPE = 8i32;
5684pub const SeAdtParmTypeObjectTypes: SE_ADT_PARAMETER_TYPE = 9i32;
5685pub const SeAdtParmTypeHexUlong: SE_ADT_PARAMETER_TYPE = 10i32;
5686pub const SeAdtParmTypePtr: SE_ADT_PARAMETER_TYPE = 11i32;
5687pub const SeAdtParmTypeTime: SE_ADT_PARAMETER_TYPE = 12i32;
5688pub const SeAdtParmTypeGuid: SE_ADT_PARAMETER_TYPE = 13i32;
5689pub const SeAdtParmTypeLuid: SE_ADT_PARAMETER_TYPE = 14i32;
5690pub const SeAdtParmTypeHexInt64: SE_ADT_PARAMETER_TYPE = 15i32;
5691pub const SeAdtParmTypeStringList: SE_ADT_PARAMETER_TYPE = 16i32;
5692pub const SeAdtParmTypeSidList: SE_ADT_PARAMETER_TYPE = 17i32;
5693pub const SeAdtParmTypeDuration: SE_ADT_PARAMETER_TYPE = 18i32;
5694pub const SeAdtParmTypeUserAccountControl: SE_ADT_PARAMETER_TYPE = 19i32;
5695pub const SeAdtParmTypeNoUac: SE_ADT_PARAMETER_TYPE = 20i32;
5696pub const SeAdtParmTypeMessage: SE_ADT_PARAMETER_TYPE = 21i32;
5697pub const SeAdtParmTypeDateTime: SE_ADT_PARAMETER_TYPE = 22i32;
5698pub const SeAdtParmTypeSockAddr: SE_ADT_PARAMETER_TYPE = 23i32;
5699pub const SeAdtParmTypeSD: SE_ADT_PARAMETER_TYPE = 24i32;
5700pub const SeAdtParmTypeLogonHours: SE_ADT_PARAMETER_TYPE = 25i32;
5701pub const SeAdtParmTypeLogonIdNoSid: SE_ADT_PARAMETER_TYPE = 26i32;
5702pub const SeAdtParmTypeUlongNoConv: SE_ADT_PARAMETER_TYPE = 27i32;
5703pub const SeAdtParmTypeSockAddrNoPort: SE_ADT_PARAMETER_TYPE = 28i32;
5704pub const SeAdtParmTypeAccessReason: SE_ADT_PARAMETER_TYPE = 29i32;
5705pub const SeAdtParmTypeStagingReason: SE_ADT_PARAMETER_TYPE = 30i32;
5706pub const SeAdtParmTypeResourceAttribute: SE_ADT_PARAMETER_TYPE = 31i32;
5707pub const SeAdtParmTypeClaims: SE_ADT_PARAMETER_TYPE = 32i32;
5708pub const SeAdtParmTypeLogonIdAsSid: SE_ADT_PARAMETER_TYPE = 33i32;
5709pub const SeAdtParmTypeMultiSzString: SE_ADT_PARAMETER_TYPE = 34i32;
5710pub const SeAdtParmTypeLogonIdEx: SE_ADT_PARAMETER_TYPE = 35i32;
5711pub const SE_ADT_PARAMETER_WRITE_SYNCHRONOUS: u32 = 16u32;
5712pub const SE_ADT_POLICY_AUDIT_EVENT_TYPE_EX_BEGIN: u32 = 100u32;
5713pub const SE_MAX_AUDIT_PARAMETERS: u32 = 32u32;
5714pub const SE_MAX_GENERIC_AUDIT_PARAMETERS: u32 = 28u32;
5715pub type SLDATATYPE = u32;
5716pub const SL_DATA_NONE: SLDATATYPE = 0u32;
5717pub const SL_DATA_SZ: SLDATATYPE = 1u32;
5718pub const SL_DATA_DWORD: SLDATATYPE = 4u32;
5719pub const SL_DATA_BINARY: SLDATATYPE = 3u32;
5720pub const SL_DATA_MULTI_SZ: SLDATATYPE = 7u32;
5721pub const SL_DATA_SUM: SLDATATYPE = 100u32;
5722pub type SLIDTYPE = i32;
5723pub const SL_ID_APPLICATION: SLIDTYPE = 0i32;
5724pub const SL_ID_PRODUCT_SKU: SLIDTYPE = 1i32;
5725pub const SL_ID_LICENSE_FILE: SLIDTYPE = 2i32;
5726pub const SL_ID_LICENSE: SLIDTYPE = 3i32;
5727pub const SL_ID_PKEY: SLIDTYPE = 4i32;
5728pub const SL_ID_ALL_LICENSES: SLIDTYPE = 5i32;
5729pub const SL_ID_ALL_LICENSE_FILES: SLIDTYPE = 6i32;
5730pub const SL_ID_STORE_TOKEN: SLIDTYPE = 7i32;
5731pub const SL_ID_LAST: SLIDTYPE = 8i32;
5732pub type SLLICENSINGSTATUS = i32;
5733pub const SL_LICENSING_STATUS_UNLICENSED: SLLICENSINGSTATUS = 0i32;
5734pub const SL_LICENSING_STATUS_LICENSED: SLLICENSINGSTATUS = 1i32;
5735pub const SL_LICENSING_STATUS_IN_GRACE_PERIOD: SLLICENSINGSTATUS = 2i32;
5736pub const SL_LICENSING_STATUS_NOTIFICATION: SLLICENSINGSTATUS = 3i32;
5737pub const SL_LICENSING_STATUS_LAST: SLLICENSINGSTATUS = 4i32;
5738pub type SLREFERRALTYPE = i32;
5739pub const SL_REFERRALTYPE_SKUID: SLREFERRALTYPE = 0i32;
5740pub const SL_REFERRALTYPE_APPID: SLREFERRALTYPE = 1i32;
5741pub const SL_REFERRALTYPE_OVERRIDE_SKUID: SLREFERRALTYPE = 2i32;
5742pub const SL_REFERRALTYPE_OVERRIDE_APPID: SLREFERRALTYPE = 3i32;
5743pub const SL_REFERRALTYPE_BEST_MATCH: SLREFERRALTYPE = 4i32;
5744#[repr(C)]
5745pub struct SL_ACTIVATION_INFO_HEADER {
5746 pub cbSize: u32,
5747 pub r#type: SL_ACTIVATION_TYPE,
5748}
5749impl ::core::marker::Copy for SL_ACTIVATION_INFO_HEADER {}
5750impl ::core::clone::Clone for SL_ACTIVATION_INFO_HEADER {
5751 fn clone(&self) -> Self {
5752 *self
5753 }
5754}
5755pub type SL_ACTIVATION_TYPE = i32;
5756pub const SL_ACTIVATION_TYPE_DEFAULT: SL_ACTIVATION_TYPE = 0i32;
5757pub const SL_ACTIVATION_TYPE_ACTIVE_DIRECTORY: SL_ACTIVATION_TYPE = 1i32;
5758#[repr(C)]
5759#[cfg(feature = "Win32_Foundation")]
5760pub struct SL_AD_ACTIVATION_INFO {
5761 pub header: SL_ACTIVATION_INFO_HEADER,
5762 pub pwszProductKey: super::super::super::Foundation::PWSTR,
5763 pub pwszActivationObjectName: super::super::super::Foundation::PWSTR,
5764}
5765#[cfg(feature = "Win32_Foundation")]
5766impl ::core::marker::Copy for SL_AD_ACTIVATION_INFO {}
5767#[cfg(feature = "Win32_Foundation")]
5768impl ::core::clone::Clone for SL_AD_ACTIVATION_INFO {
5769 fn clone(&self) -> Self {
5770 *self
5771 }
5772}
5773pub const SL_CLIENTAPI_ZONE: u32 = 61440u32;
5774pub const SL_E_ACTIVATION_IN_PROGRESS: ::windows_sys::core::HRESULT = -1073422296i32;
5775pub const SL_E_APPLICATION_POLICIES_MISSING: ::windows_sys::core::HRESULT = -1073418126i32;
5776pub const SL_E_APPLICATION_POLICIES_NOT_LOADED: ::windows_sys::core::HRESULT = -1073418125i32;
5777pub const SL_E_AUTHN_CANT_VERIFY: ::windows_sys::core::HRESULT = -1073418118i32;
5778pub const SL_E_AUTHN_CHALLENGE_NOT_SET: ::windows_sys::core::HRESULT = -1073418119i32;
5779pub const SL_E_AUTHN_MISMATCHED_KEY: ::windows_sys::core::HRESULT = -1073418120i32;
5780pub const SL_E_AUTHN_WRONG_VERSION: ::windows_sys::core::HRESULT = -1073418121i32;
5781pub const SL_E_BASE_SKU_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -1073418155i32;
5782pub const SL_E_BIOS_KEY: ::windows_sys::core::HRESULT = -1073417707i32;
5783pub const SL_E_BLOCKED_PRODUCT_KEY: ::windows_sys::core::HRESULT = -1073418159i32;
5784pub const SL_E_CHPA_ACTCONFIG_ID_NOT_FOUND: ::windows_sys::core::HRESULT = -1073430519i32;
5785pub const SL_E_CHPA_BINDING_MAPPING_NOT_FOUND: ::windows_sys::core::HRESULT = -1073430522i32;
5786pub const SL_E_CHPA_BINDING_NOT_FOUND: ::windows_sys::core::HRESULT = -1073430523i32;
5787pub const SL_E_CHPA_BUSINESS_RULE_INPUT_NOT_FOUND: ::windows_sys::core::HRESULT = -1073428736i32;
5788pub const SL_E_CHPA_DATABASE_ERROR: ::windows_sys::core::HRESULT = -1073430509i32;
5789pub const SL_E_CHPA_DIGITALMARKER_BINDING_NOT_CONFIGURED: ::windows_sys::core::HRESULT = -1073430446i32;
5790pub const SL_E_CHPA_DIGITALMARKER_INVALID_BINDING: ::windows_sys::core::HRESULT = -1073430447i32;
5791pub const SL_E_CHPA_DMAK_EXTENSION_LIMIT_EXCEEDED: ::windows_sys::core::HRESULT = -1073430495i32;
5792pub const SL_E_CHPA_DMAK_LIMIT_EXCEEDED: ::windows_sys::core::HRESULT = -1073430496i32;
5793pub const SL_E_CHPA_DYNAMICALLY_BLOCKED_PRODUCT_KEY: ::windows_sys::core::HRESULT = -1073430432i32;
5794pub const SL_E_CHPA_FAILED_TO_DELETE_PRODUCTKEY_BINDING: ::windows_sys::core::HRESULT = -1073428649i32;
5795pub const SL_E_CHPA_FAILED_TO_DELETE_PRODUCT_KEY_PROPERTY: ::windows_sys::core::HRESULT = -1073428644i32;
5796pub const SL_E_CHPA_FAILED_TO_INSERT_PRODUCTKEY_BINDING: ::windows_sys::core::HRESULT = -1073428650i32;
5797pub const SL_E_CHPA_FAILED_TO_INSERT_PRODUCT_KEY_PROPERTY: ::windows_sys::core::HRESULT = -1073428646i32;
5798pub const SL_E_CHPA_FAILED_TO_INSERT_PRODUCT_KEY_RECORD: ::windows_sys::core::HRESULT = -1073428608i32;
5799pub const SL_E_CHPA_FAILED_TO_PROCESS_PRODUCT_KEY_BINDINGS_XML: ::windows_sys::core::HRESULT = -1073428648i32;
5800pub const SL_E_CHPA_FAILED_TO_UPDATE_PRODUCTKEY_BINDING: ::windows_sys::core::HRESULT = -1073428651i32;
5801pub const SL_E_CHPA_FAILED_TO_UPDATE_PRODUCT_KEY_PROPERTY: ::windows_sys::core::HRESULT = -1073428645i32;
5802pub const SL_E_CHPA_FAILED_TO_UPDATE_PRODUCT_KEY_RECORD: ::windows_sys::core::HRESULT = -1073428607i32;
5803pub const SL_E_CHPA_GENERAL_ERROR: ::windows_sys::core::HRESULT = -1073430448i32;
5804pub const SL_E_CHPA_INVALID_ACTCONFIG_ID: ::windows_sys::core::HRESULT = -1073430515i32;
5805pub const SL_E_CHPA_INVALID_ARGUMENT: ::windows_sys::core::HRESULT = -1073430508i32;
5806pub const SL_E_CHPA_INVALID_BINDING: ::windows_sys::core::HRESULT = -1073430526i32;
5807pub const SL_E_CHPA_INVALID_BINDING_URI: ::windows_sys::core::HRESULT = -1073430511i32;
5808pub const SL_E_CHPA_INVALID_PRODUCT_DATA: ::windows_sys::core::HRESULT = -1073430517i32;
5809pub const SL_E_CHPA_INVALID_PRODUCT_DATA_ID: ::windows_sys::core::HRESULT = -1073430518i32;
5810pub const SL_E_CHPA_INVALID_PRODUCT_KEY: ::windows_sys::core::HRESULT = -1073430524i32;
5811pub const SL_E_CHPA_INVALID_PRODUCT_KEY_CHAR: ::windows_sys::core::HRESULT = -1073430512i32;
5812pub const SL_E_CHPA_INVALID_PRODUCT_KEY_FORMAT: ::windows_sys::core::HRESULT = -1073430513i32;
5813pub const SL_E_CHPA_INVALID_PRODUCT_KEY_LENGTH: ::windows_sys::core::HRESULT = -1073430514i32;
5814pub const SL_E_CHPA_MAXIMUM_UNLOCK_EXCEEDED: ::windows_sys::core::HRESULT = -1073430520i32;
5815pub const SL_E_CHPA_MSCH_RESPONSE_NOT_AVAILABLE_VGA: ::windows_sys::core::HRESULT = -1073429505i32;
5816pub const SL_E_CHPA_NETWORK_ERROR: ::windows_sys::core::HRESULT = -1073430510i32;
5817pub const SL_E_CHPA_NO_RULES_TO_ACTIVATE: ::windows_sys::core::HRESULT = -1073430449i32;
5818pub const SL_E_CHPA_NULL_VALUE_FOR_PROPERTY_NAME_OR_ID: ::windows_sys::core::HRESULT = -1073428656i32;
5819pub const SL_E_CHPA_OEM_SLP_COA0: ::windows_sys::core::HRESULT = -1073430506i32;
5820pub const SL_E_CHPA_OVERRIDE_REQUEST_NOT_FOUND: ::windows_sys::core::HRESULT = -1073430493i32;
5821pub const SL_E_CHPA_PRODUCT_KEY_BEING_USED: ::windows_sys::core::HRESULT = -1073428624i32;
5822pub const SL_E_CHPA_PRODUCT_KEY_BLOCKED: ::windows_sys::core::HRESULT = -1073430525i32;
5823pub const SL_E_CHPA_PRODUCT_KEY_BLOCKED_IPLOCATION: ::windows_sys::core::HRESULT = -1073430505i32;
5824pub const SL_E_CHPA_PRODUCT_KEY_OUT_OF_RANGE: ::windows_sys::core::HRESULT = -1073430527i32;
5825pub const SL_E_CHPA_REISSUANCE_LIMIT_NOT_FOUND: ::windows_sys::core::HRESULT = -1073430494i32;
5826pub const SL_E_CHPA_RESPONSE_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -1073430507i32;
5827pub const SL_E_CHPA_SYSTEM_ERROR: ::windows_sys::core::HRESULT = -1073430516i32;
5828pub const SL_E_CHPA_TIMEBASED_ACTIVATION_AFTER_END_DATE: ::windows_sys::core::HRESULT = -1073430479i32;
5829pub const SL_E_CHPA_TIMEBASED_ACTIVATION_BEFORE_START_DATE: ::windows_sys::core::HRESULT = -1073430480i32;
5830pub const SL_E_CHPA_TIMEBASED_ACTIVATION_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -1073430478i32;
5831pub const SL_E_CHPA_TIMEBASED_PRODUCT_KEY_NOT_CONFIGURED: ::windows_sys::core::HRESULT = -1073430477i32;
5832pub const SL_E_CHPA_UNKNOWN_PRODUCT_KEY_TYPE: ::windows_sys::core::HRESULT = -1073428636i32;
5833pub const SL_E_CHPA_UNKNOWN_PROPERTY_ID: ::windows_sys::core::HRESULT = -1073428654i32;
5834pub const SL_E_CHPA_UNKNOWN_PROPERTY_NAME: ::windows_sys::core::HRESULT = -1073428655i32;
5835pub const SL_E_CHPA_UNSUPPORTED_PRODUCT_KEY: ::windows_sys::core::HRESULT = -1073430521i32;
5836pub const SL_E_CIDIID_INVALID_CHECK_DIGITS: ::windows_sys::core::HRESULT = -1073418163i32;
5837pub const SL_E_CIDIID_INVALID_DATA: ::windows_sys::core::HRESULT = -1073418196i32;
5838pub const SL_E_CIDIID_INVALID_DATA_LENGTH: ::windows_sys::core::HRESULT = -1073418193i32;
5839pub const SL_E_CIDIID_INVALID_VERSION: ::windows_sys::core::HRESULT = -1073418195i32;
5840pub const SL_E_CIDIID_MISMATCHED: ::windows_sys::core::HRESULT = -1073418191i32;
5841pub const SL_E_CIDIID_MISMATCHED_PKEY: ::windows_sys::core::HRESULT = -1073418114i32;
5842pub const SL_E_CIDIID_NOT_BOUND: ::windows_sys::core::HRESULT = -1073418113i32;
5843pub const SL_E_CIDIID_NOT_DEPOSITED: ::windows_sys::core::HRESULT = -1073418192i32;
5844pub const SL_E_CIDIID_VERSION_NOT_SUPPORTED: ::windows_sys::core::HRESULT = -1073418194i32;
5845pub const SL_E_DATATYPE_MISMATCHED: ::windows_sys::core::HRESULT = -1073418210i32;
5846pub const SL_E_DECRYPTION_LICENSES_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -1073418212i32;
5847pub const SL_E_DEPENDENT_PROPERTY_NOT_SET: ::windows_sys::core::HRESULT = -1073418138i32;
5848pub const SL_E_DOWNLEVEL_SETUP_KEY: ::windows_sys::core::HRESULT = -1073417708i32;
5849pub const SL_E_DUPLICATE_POLICY: ::windows_sys::core::HRESULT = -1073418158i32;
5850pub const SL_E_EDITION_MISMATCHED: ::windows_sys::core::HRESULT = -1073417712i32;
5851pub const SL_E_ENGINE_DETECTED_EXPLOIT: ::windows_sys::core::HRESULT = -1073429327i32;
5852pub const SL_E_EUL_CONSUMPTION_FAILED: ::windows_sys::core::HRESULT = -1073422315i32;
5853pub const SL_E_EUL_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -1073418188i32;
5854pub const SL_E_EVALUATION_FAILED: ::windows_sys::core::HRESULT = -1073422333i32;
5855pub const SL_E_EVENT_ALREADY_REGISTERED: ::windows_sys::core::HRESULT = -1073418213i32;
5856pub const SL_E_EVENT_NOT_REGISTERED: ::windows_sys::core::HRESULT = -1073418214i32;
5857pub const SL_E_EXTERNAL_SIGNATURE_NOT_FOUND: ::windows_sys::core::HRESULT = -1073418234i32;
5858pub const SL_E_GRACE_TIME_EXPIRED: ::windows_sys::core::HRESULT = -1073418231i32;
5859pub const SL_E_HEALTH_CHECK_FAILED_MUI_FILES: ::windows_sys::core::HRESULT = -1073429330i32;
5860pub const SL_E_HEALTH_CHECK_FAILED_NEUTRAL_FILES: ::windows_sys::core::HRESULT = -1073429331i32;
5861pub const SL_E_HWID_CHANGED: ::windows_sys::core::HRESULT = -1073417711i32;
5862pub const SL_E_HWID_ERROR: ::windows_sys::core::HRESULT = -1073422309i32;
5863pub const SL_E_IA_ID_MISMATCH: ::windows_sys::core::HRESULT = -1073414909i32;
5864pub const SL_E_IA_INVALID_VIRTUALIZATION_PLATFORM: ::windows_sys::core::HRESULT = -1073414911i32;
5865pub const SL_E_IA_MACHINE_NOT_BOUND: ::windows_sys::core::HRESULT = -1073414908i32;
5866pub const SL_E_IA_PARENT_PARTITION_NOT_ACTIVATED: ::windows_sys::core::HRESULT = -1073414910i32;
5867pub const SL_E_IA_THROTTLE_LIMIT_EXCEEDED: ::windows_sys::core::HRESULT = -1073414912i32;
5868pub const SL_E_INTERNAL_ERROR: ::windows_sys::core::HRESULT = -1073418239i32;
5869pub const SL_E_INVALID_AD_DATA: ::windows_sys::core::HRESULT = -1073429329i32;
5870pub const SL_E_INVALID_BINDING_BLOB: ::windows_sys::core::HRESULT = -1073418190i32;
5871pub const SL_E_INVALID_CLIENT_TOKEN: ::windows_sys::core::HRESULT = -1073429720i32;
5872pub const SL_E_INVALID_CONTEXT: ::windows_sys::core::HRESULT = -1073422335i32;
5873pub const SL_E_INVALID_CONTEXT_DATA: ::windows_sys::core::HRESULT = -1073422300i32;
5874pub const SL_E_INVALID_EVENT_ID: ::windows_sys::core::HRESULT = -1073418215i32;
5875pub const SL_E_INVALID_FILE_HASH: ::windows_sys::core::HRESULT = -1073429343i32;
5876pub const SL_E_INVALID_GUID: ::windows_sys::core::HRESULT = -1073422330i32;
5877pub const SL_E_INVALID_HASH: ::windows_sys::core::HRESULT = -1073422299i32;
5878pub const SL_E_INVALID_LICENSE: ::windows_sys::core::HRESULT = -1073418209i32;
5879pub const SL_E_INVALID_LICENSE_STATE: ::windows_sys::core::HRESULT = -1073429336i32;
5880pub const SL_E_INVALID_LICENSE_STATE_BREACH_GRACE: ::windows_sys::core::HRESULT = -1073429871i32;
5881pub const SL_E_INVALID_LICENSE_STATE_BREACH_GRACE_EXPIRED: ::windows_sys::core::HRESULT = -1073429870i32;
5882pub const SL_E_INVALID_OEM_OR_VOLUME_BINDING_DATA: ::windows_sys::core::HRESULT = -1073429337i32;
5883pub const SL_E_INVALID_OFFLINE_BLOB: ::windows_sys::core::HRESULT = -1073429719i32;
5884pub const SL_E_INVALID_OSVERSION_TEMPLATEID: ::windows_sys::core::HRESULT = -1073429717i32;
5885pub const SL_E_INVALID_OS_FOR_PRODUCT_KEY: ::windows_sys::core::HRESULT = -1073429503i32;
5886pub const SL_E_INVALID_PACKAGE: ::windows_sys::core::HRESULT = -1073418208i32;
5887pub const SL_E_INVALID_PACKAGE_VERSION: ::windows_sys::core::HRESULT = -1073418144i32;
5888pub const SL_E_INVALID_PKEY: ::windows_sys::core::HRESULT = -1073418224i32;
5889pub const SL_E_INVALID_PRODUCT_KEY: ::windows_sys::core::HRESULT = -1073418160i32;
5890pub const SL_E_INVALID_PRODUCT_KEY_TYPE: ::windows_sys::core::HRESULT = -1073418115i32;
5891pub const SL_E_INVALID_RSDP_COUNT: ::windows_sys::core::HRESULT = -1073429328i32;
5892pub const SL_E_INVALID_RULESET_RULE: ::windows_sys::core::HRESULT = -1073422301i32;
5893pub const SL_E_INVALID_RUNNING_MODE: ::windows_sys::core::HRESULT = -1073418199i32;
5894pub const SL_E_INVALID_TEMPLATE_ID: ::windows_sys::core::HRESULT = -1073429770i32;
5895pub const SL_E_INVALID_TOKEN_DATA: ::windows_sys::core::HRESULT = -1073429332i32;
5896pub const SL_E_INVALID_USE_OF_ADD_ON_PKEY: ::windows_sys::core::HRESULT = -2147164122i32;
5897pub const SL_E_INVALID_XML_BLOB: ::windows_sys::core::HRESULT = -1073429766i32;
5898pub const SL_E_IP_LOCATION_FALIED: ::windows_sys::core::HRESULT = -1073429335i32;
5899pub const SL_E_ISSUANCE_LICENSE_NOT_INSTALLED: ::windows_sys::core::HRESULT = -1073418142i32;
5900pub const SL_E_LICENSE_AUTHORIZATION_FAILED: ::windows_sys::core::HRESULT = -1073418206i32;
5901pub const SL_E_LICENSE_DECRYPTION_FAILED: ::windows_sys::core::HRESULT = -1073418205i32;
5902pub const SL_E_LICENSE_FILE_NOT_INSTALLED: ::windows_sys::core::HRESULT = -1073418223i32;
5903pub const SL_E_LICENSE_INVALID_ADDON_INFO: ::windows_sys::core::HRESULT = -1073422310i32;
5904pub const SL_E_LICENSE_MANAGEMENT_DATA_DUPLICATED: ::windows_sys::core::HRESULT = -1073418156i32;
5905pub const SL_E_LICENSE_MANAGEMENT_DATA_NOT_FOUND: ::windows_sys::core::HRESULT = -1073418161i32;
5906pub const SL_E_LICENSE_NOT_BOUND: ::windows_sys::core::HRESULT = -1073418112i32;
5907pub const SL_E_LICENSE_SERVER_URL_NOT_FOUND: ::windows_sys::core::HRESULT = -1073418216i32;
5908pub const SL_E_LICENSE_SIGNATURE_VERIFICATION_FAILED: ::windows_sys::core::HRESULT = -1073418211i32;
5909pub const SL_E_LUA_ACCESSDENIED: ::windows_sys::core::HRESULT = -1073418203i32;
5910pub const SL_E_MISMATCHED_APPID: ::windows_sys::core::HRESULT = -1073418230i32;
5911pub const SL_E_MISMATCHED_KEY_TYPES: ::windows_sys::core::HRESULT = -1073429340i32;
5912pub const SL_E_MISMATCHED_PID: ::windows_sys::core::HRESULT = -1073418235i32;
5913pub const SL_E_MISMATCHED_PKEY_RANGE: ::windows_sys::core::HRESULT = -1073418236i32;
5914pub const SL_E_MISMATCHED_PRODUCT_SKU: ::windows_sys::core::HRESULT = -1073418135i32;
5915pub const SL_E_MISMATCHED_SECURITY_PROCESSOR: ::windows_sys::core::HRESULT = -1073418226i32;
5916pub const SL_E_MISSING_OVERRIDE_ONLY_ATTRIBUTE: ::windows_sys::core::HRESULT = -1073418157i32;
5917pub const SL_E_NONGENUINE_GRACE_TIME_EXPIRED: ::windows_sys::core::HRESULT = -1073418140i32;
5918pub const SL_E_NONGENUINE_GRACE_TIME_EXPIRED_2: ::windows_sys::core::HRESULT = -1073418137i32;
5919pub const SL_E_NON_GENUINE_STATUS_LAST: ::windows_sys::core::HRESULT = -1073428992i32;
5920pub const SL_E_NOTIFICATION_BREACH_DETECTED: ::windows_sys::core::HRESULT = -1073429199i32;
5921pub const SL_E_NOTIFICATION_GRACE_EXPIRED: ::windows_sys::core::HRESULT = -1073429198i32;
5922pub const SL_E_NOTIFICATION_OTHER_REASONS: ::windows_sys::core::HRESULT = -1073429197i32;
5923pub const SL_E_NOT_ACTIVATED: ::windows_sys::core::HRESULT = -1073422331i32;
5924pub const SL_E_NOT_EVALUATED: ::windows_sys::core::HRESULT = -1073422332i32;
5925pub const SL_E_NOT_GENUINE: ::windows_sys::core::HRESULT = -1073417728i32;
5926pub const SL_E_NOT_SUPPORTED: ::windows_sys::core::HRESULT = -1073418218i32;
5927pub const SL_E_NO_PID_CONFIG_DATA: ::windows_sys::core::HRESULT = -1073418229i32;
5928pub const SL_E_NO_PRODUCT_KEY_FOUND: ::windows_sys::core::HRESULT = -1073417709i32;
5929pub const SL_E_OEM_KEY_EDITION_MISMATCH: ::windows_sys::core::HRESULT = -1073417710i32;
5930pub const SL_E_OFFLINE_GENUINE_BLOB_NOT_FOUND: ::windows_sys::core::HRESULT = -1073429715i32;
5931pub const SL_E_OFFLINE_GENUINE_BLOB_REVOKED: ::windows_sys::core::HRESULT = -1073429716i32;
5932pub const SL_E_OFFLINE_VALIDATION_BLOB_PARAM_NOT_FOUND: ::windows_sys::core::HRESULT = -1073429718i32;
5933pub const SL_E_OPERATION_NOT_ALLOWED: ::windows_sys::core::HRESULT = -1073418134i32;
5934pub const SL_E_OUT_OF_TOLERANCE: ::windows_sys::core::HRESULT = -1073418225i32;
5935pub const SL_E_PKEY_INTERNAL_ERROR: ::windows_sys::core::HRESULT = -1073422311i32;
5936pub const SL_E_PKEY_INVALID_ALGORITHM: ::windows_sys::core::HRESULT = -1073422312i32;
5937pub const SL_E_PKEY_INVALID_CONFIG: ::windows_sys::core::HRESULT = -1073422314i32;
5938pub const SL_E_PKEY_INVALID_KEYCHANGE1: ::windows_sys::core::HRESULT = -1073422308i32;
5939pub const SL_E_PKEY_INVALID_KEYCHANGE2: ::windows_sys::core::HRESULT = -1073422307i32;
5940pub const SL_E_PKEY_INVALID_KEYCHANGE3: ::windows_sys::core::HRESULT = -1073422306i32;
5941pub const SL_E_PKEY_INVALID_UNIQUEID: ::windows_sys::core::HRESULT = -1073422313i32;
5942pub const SL_E_PKEY_INVALID_UPGRADE: ::windows_sys::core::HRESULT = -1073418143i32;
5943pub const SL_E_PKEY_NOT_INSTALLED: ::windows_sys::core::HRESULT = -1073418220i32;
5944pub const SL_E_PLUGIN_INVALID_MANIFEST: ::windows_sys::core::HRESULT = -1073418127i32;
5945pub const SL_E_PLUGIN_NOT_REGISTERED: ::windows_sys::core::HRESULT = -1073418122i32;
5946pub const SL_E_POLICY_CACHE_INVALID: ::windows_sys::core::HRESULT = -1073418200i32;
5947pub const SL_E_POLICY_OTHERINFO_MISMATCH: ::windows_sys::core::HRESULT = -1073422304i32;
5948pub const SL_E_PRODUCT_KEY_INSTALLATION_NOT_ALLOWED: ::windows_sys::core::HRESULT = -1073418189i32;
5949pub const SL_E_PRODUCT_SKU_NOT_INSTALLED: ::windows_sys::core::HRESULT = -1073418219i32;
5950pub const SL_E_PRODUCT_UNIQUENESS_GROUP_ID_INVALID: ::windows_sys::core::HRESULT = -1073422303i32;
5951pub const SL_E_PROXY_KEY_NOT_FOUND: ::windows_sys::core::HRESULT = -1073418202i32;
5952pub const SL_E_PROXY_POLICY_NOT_UPDATED: ::windows_sys::core::HRESULT = -1073418169i32;
5953pub const SL_E_PUBLISHING_LICENSE_NOT_INSTALLED: ::windows_sys::core::HRESULT = -1073418217i32;
5954pub const SL_E_RAC_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -1073418233i32;
5955pub const SL_E_RIGHT_NOT_CONSUMED: ::windows_sys::core::HRESULT = -1073418238i32;
5956pub const SL_E_RIGHT_NOT_GRANTED: ::windows_sys::core::HRESULT = -1073418221i32;
5957pub const SL_E_SECURE_STORE_ID_MISMATCH: ::windows_sys::core::HRESULT = -1073422302i32;
5958pub const SL_E_SERVICE_RUNNING: ::windows_sys::core::HRESULT = -1073418117i32;
5959pub const SL_E_SERVICE_STOPPING: ::windows_sys::core::HRESULT = -1073418123i32;
5960pub const SL_E_SFS_BAD_TOKEN_EXT: ::windows_sys::core::HRESULT = -2147163899i32;
5961pub const SL_E_SFS_BAD_TOKEN_NAME: ::windows_sys::core::HRESULT = -2147163900i32;
5962pub const SL_E_SFS_DUPLICATE_TOKEN_NAME: ::windows_sys::core::HRESULT = -2147163898i32;
5963pub const SL_E_SFS_FILE_READ_ERROR: ::windows_sys::core::HRESULT = -2147163895i32;
5964pub const SL_E_SFS_FILE_WRITE_ERROR: ::windows_sys::core::HRESULT = -2147163894i32;
5965pub const SL_E_SFS_INVALID_FD_TABLE: ::windows_sys::core::HRESULT = -2147163902i32;
5966pub const SL_E_SFS_INVALID_FILE_POSITION: ::windows_sys::core::HRESULT = -2147163893i32;
5967pub const SL_E_SFS_INVALID_FS_HEADER: ::windows_sys::core::HRESULT = -2147163891i32;
5968pub const SL_E_SFS_INVALID_FS_VERSION: ::windows_sys::core::HRESULT = -2147163903i32;
5969pub const SL_E_SFS_INVALID_SYNC: ::windows_sys::core::HRESULT = -2147163901i32;
5970pub const SL_E_SFS_INVALID_TOKEN_DATA_HASH: ::windows_sys::core::HRESULT = -2147163896i32;
5971pub const SL_E_SFS_INVALID_TOKEN_DESCRIPTOR: ::windows_sys::core::HRESULT = -2147163890i32;
5972pub const SL_E_SFS_NO_ACTIVE_TRANSACTION: ::windows_sys::core::HRESULT = -2147163892i32;
5973pub const SL_E_SFS_TOKEN_SIZE_MISMATCH: ::windows_sys::core::HRESULT = -2147163897i32;
5974pub const SL_E_SLP_BAD_FORMAT: ::windows_sys::core::HRESULT = -1073418151i32;
5975pub const SL_E_SLP_INVALID_MARKER_VERSION: ::windows_sys::core::HRESULT = -1073418116i32;
5976pub const SL_E_SLP_MISSING_ACPI_SLIC: ::windows_sys::core::HRESULT = -1073418153i32;
5977pub const SL_E_SLP_MISSING_SLP_MARKER: ::windows_sys::core::HRESULT = -1073418152i32;
5978pub const SL_E_SLP_NOT_SIGNED: ::windows_sys::core::HRESULT = -1073418198i32;
5979pub const SL_E_SLP_OEM_CERT_MISSING: ::windows_sys::core::HRESULT = -1073418141i32;
5980pub const SL_E_SOFTMOD_EXPLOIT_DETECTED: ::windows_sys::core::HRESULT = -1073429333i32;
5981pub const SL_E_SPC_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -1073418232i32;
5982pub const SL_E_SRV_AUTHORIZATION_FAILED: ::windows_sys::core::HRESULT = -1073434619i32;
5983pub const SL_E_SRV_BUSINESS_TOKEN_ENTRY_NOT_FOUND: ::windows_sys::core::HRESULT = -1073434608i32;
5984pub const SL_E_SRV_CLIENT_CLOCK_OUT_OF_SYNC: ::windows_sys::core::HRESULT = -1073434607i32;
5985pub const SL_E_SRV_GENERAL_ERROR: ::windows_sys::core::HRESULT = -1073434368i32;
5986pub const SL_E_SRV_INVALID_BINDING: ::windows_sys::core::HRESULT = -1073434618i32;
5987pub const SL_E_SRV_INVALID_LICENSE_STRUCTURE: ::windows_sys::core::HRESULT = -1073434620i32;
5988pub const SL_E_SRV_INVALID_PAYLOAD: ::windows_sys::core::HRESULT = -1073434616i32;
5989pub const SL_E_SRV_INVALID_PRODUCT_KEY_LICENSE: ::windows_sys::core::HRESULT = -1073434622i32;
5990pub const SL_E_SRV_INVALID_PUBLISH_LICENSE: ::windows_sys::core::HRESULT = -1073434623i32;
5991pub const SL_E_SRV_INVALID_RIGHTS_ACCOUNT_LICENSE: ::windows_sys::core::HRESULT = -1073434621i32;
5992pub const SL_E_SRV_INVALID_SECURITY_PROCESSOR_LICENSE: ::windows_sys::core::HRESULT = -1073434615i32;
5993pub const SL_E_SRV_SERVER_PONG: ::windows_sys::core::HRESULT = -1073434617i32;
5994pub const SL_E_STORE_UPGRADE_TOKEN_NOT_AUTHORIZED: ::windows_sys::core::HRESULT = -1073422290i32;
5995pub const SL_E_STORE_UPGRADE_TOKEN_NOT_PRS_SIGNED: ::windows_sys::core::HRESULT = -1073422292i32;
5996pub const SL_E_STORE_UPGRADE_TOKEN_REQUIRED: ::windows_sys::core::HRESULT = -1073422295i32;
5997pub const SL_E_STORE_UPGRADE_TOKEN_WRONG_EDITION: ::windows_sys::core::HRESULT = -1073422294i32;
5998pub const SL_E_STORE_UPGRADE_TOKEN_WRONG_PID: ::windows_sys::core::HRESULT = -1073422293i32;
5999pub const SL_E_STORE_UPGRADE_TOKEN_WRONG_VERSION: ::windows_sys::core::HRESULT = -1073422291i32;
6000pub const SL_E_TAMPER_DETECTED: ::windows_sys::core::HRESULT = -1073418201i32;
6001pub const SL_E_TAMPER_RECOVERY_REQUIRES_ACTIVATION: ::windows_sys::core::HRESULT = -1073414656i32;
6002pub const SL_E_TKA_CERT_CNG_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -1073417453i32;
6003pub const SL_E_TKA_CERT_NOT_FOUND: ::windows_sys::core::HRESULT = -1073417467i32;
6004pub const SL_E_TKA_CHALLENGE_EXPIRED: ::windows_sys::core::HRESULT = -1073417471i32;
6005pub const SL_E_TKA_CHALLENGE_MISMATCH: ::windows_sys::core::HRESULT = -1073417463i32;
6006pub const SL_E_TKA_CRITERIA_MISMATCH: ::windows_sys::core::HRESULT = -1073417457i32;
6007pub const SL_E_TKA_FAILED_GRANT_PARSING: ::windows_sys::core::HRESULT = -1073417460i32;
6008pub const SL_E_TKA_GRANT_NOT_FOUND: ::windows_sys::core::HRESULT = -1073417468i32;
6009pub const SL_E_TKA_INVALID_BLOB: ::windows_sys::core::HRESULT = -1073417465i32;
6010pub const SL_E_TKA_INVALID_CERTIFICATE: ::windows_sys::core::HRESULT = -1073417462i32;
6011pub const SL_E_TKA_INVALID_CERT_CHAIN: ::windows_sys::core::HRESULT = -1073417469i32;
6012pub const SL_E_TKA_INVALID_SKU_ID: ::windows_sys::core::HRESULT = -1073417466i32;
6013pub const SL_E_TKA_INVALID_SMARTCARD: ::windows_sys::core::HRESULT = -1073417461i32;
6014pub const SL_E_TKA_INVALID_THUMBPRINT: ::windows_sys::core::HRESULT = -1073417459i32;
6015pub const SL_E_TKA_SILENT_ACTIVATION_FAILURE: ::windows_sys::core::HRESULT = -1073417470i32;
6016pub const SL_E_TKA_SOFT_CERT_DISALLOWED: ::windows_sys::core::HRESULT = -1073417455i32;
6017pub const SL_E_TKA_SOFT_CERT_INVALID: ::windows_sys::core::HRESULT = -1073417454i32;
6018pub const SL_E_TKA_TAMPERED_CERT_CHAIN: ::windows_sys::core::HRESULT = -1073417464i32;
6019pub const SL_E_TKA_THUMBPRINT_CERT_NOT_FOUND: ::windows_sys::core::HRESULT = -1073417458i32;
6020pub const SL_E_TKA_TPID_MISMATCH: ::windows_sys::core::HRESULT = -1073417456i32;
6021pub const SL_E_TOKEN_STORE_INVALID_STATE: ::windows_sys::core::HRESULT = -1073422334i32;
6022pub const SL_E_TOKSTO_ALREADY_INITIALIZED: ::windows_sys::core::HRESULT = -1073422326i32;
6023pub const SL_E_TOKSTO_CANT_ACQUIRE_MUTEX: ::windows_sys::core::HRESULT = -1073422317i32;
6024pub const SL_E_TOKSTO_CANT_CREATE_FILE: ::windows_sys::core::HRESULT = -1073422324i32;
6025pub const SL_E_TOKSTO_CANT_CREATE_MUTEX: ::windows_sys::core::HRESULT = -1073422318i32;
6026pub const SL_E_TOKSTO_CANT_PARSE_PROPERTIES: ::windows_sys::core::HRESULT = -1073422321i32;
6027pub const SL_E_TOKSTO_CANT_READ_FILE: ::windows_sys::core::HRESULT = -1073422322i32;
6028pub const SL_E_TOKSTO_CANT_WRITE_TO_FILE: ::windows_sys::core::HRESULT = -1073422323i32;
6029pub const SL_E_TOKSTO_INVALID_FILE: ::windows_sys::core::HRESULT = -1073422319i32;
6030pub const SL_E_TOKSTO_NOT_INITIALIZED: ::windows_sys::core::HRESULT = -1073422327i32;
6031pub const SL_E_TOKSTO_NO_ID_SET: ::windows_sys::core::HRESULT = -1073422325i32;
6032pub const SL_E_TOKSTO_NO_PROPERTIES: ::windows_sys::core::HRESULT = -1073422328i32;
6033pub const SL_E_TOKSTO_NO_TOKEN_DATA: ::windows_sys::core::HRESULT = -1073422316i32;
6034pub const SL_E_TOKSTO_PROPERTY_NOT_FOUND: ::windows_sys::core::HRESULT = -1073422320i32;
6035pub const SL_E_TOKSTO_TOKEN_NOT_FOUND: ::windows_sys::core::HRESULT = -1073422329i32;
6036pub const SL_E_USE_LICENSE_NOT_INSTALLED: ::windows_sys::core::HRESULT = -1073418237i32;
6037pub const SL_E_VALIDATION_BLOB_PARAM_NOT_FOUND: ::windows_sys::core::HRESULT = -1073429721i32;
6038pub const SL_E_VALIDATION_BLOCKED_PRODUCT_KEY: ::windows_sys::core::HRESULT = -1073429342i32;
6039pub const SL_E_VALIDATION_INVALID_PRODUCT_KEY: ::windows_sys::core::HRESULT = -1073429339i32;
6040pub const SL_E_VALIDITY_PERIOD_EXPIRED: ::windows_sys::core::HRESULT = -1073415161i32;
6041pub const SL_E_VALIDITY_TIME_EXPIRED: ::windows_sys::core::HRESULT = -1073418207i32;
6042pub const SL_E_VALUE_NOT_FOUND: ::windows_sys::core::HRESULT = -1073418222i32;
6043pub const SL_E_VL_AD_AO_NAME_TOO_LONG: ::windows_sys::core::HRESULT = -1073418110i32;
6044pub const SL_E_VL_AD_AO_NOT_FOUND: ::windows_sys::core::HRESULT = -1073418111i32;
6045pub const SL_E_VL_AD_SCHEMA_VERSION_NOT_SUPPORTED: ::windows_sys::core::HRESULT = -1073418109i32;
6046pub const SL_E_VL_BINDING_SERVICE_NOT_ENABLED: ::windows_sys::core::HRESULT = -1073418183i32;
6047pub const SL_E_VL_BINDING_SERVICE_UNAVAILABLE: ::windows_sys::core::HRESULT = -1073418124i32;
6048pub const SL_E_VL_INFO_PRODUCT_USER_RIGHT: ::windows_sys::core::HRESULT = 1074065472i32;
6049pub const SL_E_VL_INVALID_TIMESTAMP: ::windows_sys::core::HRESULT = -1073418132i32;
6050pub const SL_E_VL_KEY_MANAGEMENT_SERVICE_ID_MISMATCH: ::windows_sys::core::HRESULT = -1073418174i32;
6051pub const SL_E_VL_KEY_MANAGEMENT_SERVICE_NOT_ACTIVATED: ::windows_sys::core::HRESULT = -1073418175i32;
6052pub const SL_E_VL_KEY_MANAGEMENT_SERVICE_VM_NOT_SUPPORTED: ::windows_sys::core::HRESULT = -1073418133i32;
6053pub const SL_E_VL_MACHINE_NOT_BOUND: ::windows_sys::core::HRESULT = -1073418154i32;
6054pub const SL_E_VL_NOT_ENOUGH_COUNT: ::windows_sys::core::HRESULT = -1073418184i32;
6055pub const SL_E_VL_NOT_WINDOWS_SLP: ::windows_sys::core::HRESULT = -1073418187i32;
6056pub const SL_E_WINDOWS_INVALID_LICENSE_STATE: ::windows_sys::core::HRESULT = -1073418204i32;
6057pub const SL_E_WINDOWS_VERSION_MISMATCH: ::windows_sys::core::HRESULT = -1073422297i32;
6058pub type SL_GENUINE_STATE = i32;
6059pub const SL_GEN_STATE_IS_GENUINE: SL_GENUINE_STATE = 0i32;
6060pub const SL_GEN_STATE_INVALID_LICENSE: SL_GENUINE_STATE = 1i32;
6061pub const SL_GEN_STATE_TAMPERED: SL_GENUINE_STATE = 2i32;
6062pub const SL_GEN_STATE_OFFLINE: SL_GENUINE_STATE = 3i32;
6063pub const SL_GEN_STATE_LAST: SL_GENUINE_STATE = 4i32;
6064pub const SL_INTERNAL_ZONE: u32 = 57344u32;
6065pub const SL_I_NONGENUINE_GRACE_PERIOD: ::windows_sys::core::HRESULT = 1074065509i32;
6066pub const SL_I_NONGENUINE_GRACE_PERIOD_2: ::windows_sys::core::HRESULT = 1074065512i32;
6067pub const SL_I_OOB_GRACE_PERIOD: ::windows_sys::core::HRESULT = 1074065420i32;
6068pub const SL_I_OOT_GRACE_PERIOD: ::windows_sys::core::HRESULT = 1074065421i32;
6069pub const SL_I_PERPETUAL_OOB_GRACE_PERIOD: ::windows_sys::core::HRESULT = 1074068485i32;
6070pub const SL_I_STORE_BASED_ACTIVATION: ::windows_sys::core::HRESULT = 1074066433i32;
6071pub const SL_I_TIMEBASED_EXTENDED_GRACE_PERIOD: ::windows_sys::core::HRESULT = 1074068486i32;
6072pub const SL_I_TIMEBASED_VALIDITY_PERIOD: ::windows_sys::core::HRESULT = 1074068484i32;
6073#[repr(C)]
6074pub struct SL_LICENSING_STATUS {
6075 pub SkuId: ::windows_sys::core::GUID,
6076 pub eStatus: SLLICENSINGSTATUS,
6077 pub dwGraceTime: u32,
6078 pub dwTotalGraceDays: u32,
6079 pub hrReason: ::windows_sys::core::HRESULT,
6080 pub qwValidityExpiration: u64,
6081}
6082impl ::core::marker::Copy for SL_LICENSING_STATUS {}
6083impl ::core::clone::Clone for SL_LICENSING_STATUS {
6084 fn clone(&self) -> Self {
6085 *self
6086 }
6087}
6088pub const SL_MDOLLAR_ZONE: u32 = 40960u32;
6089pub const SL_MSCH_ZONE: u32 = 49152u32;
6090#[repr(C)]
6091pub struct SL_NONGENUINE_UI_OPTIONS {
6092 pub cbSize: u32,
6093 pub pComponentId: *mut ::windows_sys::core::GUID,
6094 pub hResultUI: ::windows_sys::core::HRESULT,
6095}
6096impl ::core::marker::Copy for SL_NONGENUINE_UI_OPTIONS {}
6097impl ::core::clone::Clone for SL_NONGENUINE_UI_OPTIONS {
6098 fn clone(&self) -> Self {
6099 *self
6100 }
6101}
6102pub const SL_REARM_REBOOT_REQUIRED: u32 = 1u32;
6103pub const SL_REMAPPING_MDOLLAR_CIDIID_INVALID_CHECK_DIGITS: ::windows_sys::core::HRESULT = -2143313776i32;
6104pub const SL_REMAPPING_MDOLLAR_CIDIID_INVALID_DATA: ::windows_sys::core::HRESULT = -2143313778i32;
6105pub const SL_REMAPPING_MDOLLAR_CIDIID_INVALID_DATA_LENGTH: ::windows_sys::core::HRESULT = -2143313777i32;
6106pub const SL_REMAPPING_MDOLLAR_CIDIID_INVALID_VERSION: ::windows_sys::core::HRESULT = -2143313779i32;
6107pub const SL_REMAPPING_MDOLLAR_DIGITALMARKER_BINDING_NOT_CONFIGURED: ::windows_sys::core::HRESULT = -2143313708i32;
6108pub const SL_REMAPPING_MDOLLAR_DIGITALMARKER_INVALID_BINDING: ::windows_sys::core::HRESULT = -2143313709i32;
6109pub const SL_REMAPPING_MDOLLAR_DMAK_EXTENSION_LIMIT_EXCEEDED: ::windows_sys::core::HRESULT = -2143313792i32;
6110pub const SL_REMAPPING_MDOLLAR_DMAK_LIMIT_EXCEEDED: ::windows_sys::core::HRESULT = -2143313793i32;
6111pub const SL_REMAPPING_MDOLLAR_DMAK_OVERRIDE_LIMIT_REACHED: ::windows_sys::core::HRESULT = -2143313706i32;
6112pub const SL_REMAPPING_MDOLLAR_FREE_OFFER_EXPIRED: ::windows_sys::core::HRESULT = -2143312896i32;
6113pub const SL_REMAPPING_MDOLLAR_INVALID_ACTCONFIG_ID: ::windows_sys::core::HRESULT = -2143313802i32;
6114pub const SL_REMAPPING_MDOLLAR_INVALID_ARGUMENT: ::windows_sys::core::HRESULT = -2143313795i32;
6115pub const SL_REMAPPING_MDOLLAR_INVALID_BINDING: ::windows_sys::core::HRESULT = -2143313818i32;
6116pub const SL_REMAPPING_MDOLLAR_INVALID_BINDING_URI: ::windows_sys::core::HRESULT = -2143313798i32;
6117pub const SL_REMAPPING_MDOLLAR_INVALID_PRODUCT_DATA: ::windows_sys::core::HRESULT = -2143313804i32;
6118pub const SL_REMAPPING_MDOLLAR_INVALID_PRODUCT_DATA_ID: ::windows_sys::core::HRESULT = -2143313805i32;
6119pub const SL_REMAPPING_MDOLLAR_INVALID_PRODUCT_KEY: ::windows_sys::core::HRESULT = -2143313816i32;
6120pub const SL_REMAPPING_MDOLLAR_INVALID_PRODUCT_KEY_FORMAT: ::windows_sys::core::HRESULT = -2143313800i32;
6121pub const SL_REMAPPING_MDOLLAR_INVALID_PRODUCT_KEY_LENGTH: ::windows_sys::core::HRESULT = -2143313801i32;
6122pub const SL_REMAPPING_MDOLLAR_MAXIMUM_UNLOCK_EXCEEDED: ::windows_sys::core::HRESULT = -2143313807i32;
6123pub const SL_REMAPPING_MDOLLAR_NO_RULES_TO_ACTIVATE: ::windows_sys::core::HRESULT = -2143313720i32;
6124pub const SL_REMAPPING_MDOLLAR_OEM_SLP_COA0: ::windows_sys::core::HRESULT = -2143313789i32;
6125pub const SL_REMAPPING_MDOLLAR_OSR_DEVICE_BLOCKED: ::windows_sys::core::HRESULT = -2143310909i32;
6126pub const SL_REMAPPING_MDOLLAR_OSR_DEVICE_THROTTLED: ::windows_sys::core::HRESULT = -2143310914i32;
6127pub const SL_REMAPPING_MDOLLAR_OSR_DONOR_HWID_NO_ENTITLEMENT: ::windows_sys::core::HRESULT = -2143310920i32;
6128pub const SL_REMAPPING_MDOLLAR_OSR_GENERIC_ERROR: ::windows_sys::core::HRESULT = -2143310919i32;
6129pub const SL_REMAPPING_MDOLLAR_OSR_GP_DISABLED: ::windows_sys::core::HRESULT = -2143310913i32;
6130pub const SL_REMAPPING_MDOLLAR_OSR_HARDWARE_BLOCKED: ::windows_sys::core::HRESULT = -2143310912i32;
6131pub const SL_REMAPPING_MDOLLAR_OSR_LICENSE_BLOCKED: ::windows_sys::core::HRESULT = -2143310910i32;
6132pub const SL_REMAPPING_MDOLLAR_OSR_LICENSE_THROTTLED: ::windows_sys::core::HRESULT = -2143310915i32;
6133pub const SL_REMAPPING_MDOLLAR_OSR_NOT_ADMIN: ::windows_sys::core::HRESULT = -2143310917i32;
6134pub const SL_REMAPPING_MDOLLAR_OSR_NO_ASSOCIATION: ::windows_sys::core::HRESULT = -2143310918i32;
6135pub const SL_REMAPPING_MDOLLAR_OSR_USER_BLOCKED: ::windows_sys::core::HRESULT = -2143310911i32;
6136pub const SL_REMAPPING_MDOLLAR_OSR_USER_THROTTLED: ::windows_sys::core::HRESULT = -2143310916i32;
6137pub const SL_REMAPPING_MDOLLAR_PRODUCT_KEY_BLOCKED: ::windows_sys::core::HRESULT = -2143313817i32;
6138pub const SL_REMAPPING_MDOLLAR_PRODUCT_KEY_BLOCKED_IPLOCATION: ::windows_sys::core::HRESULT = -2143313717i32;
6139pub const SL_REMAPPING_MDOLLAR_PRODUCT_KEY_OUT_OF_RANGE: ::windows_sys::core::HRESULT = -2143313819i32;
6140pub const SL_REMAPPING_MDOLLAR_ROT_OVERRIDE_LIMIT_REACHED: ::windows_sys::core::HRESULT = -2143313707i32;
6141pub const SL_REMAPPING_MDOLLAR_TIMEBASED_ACTIVATION_AFTER_END_DATE: ::windows_sys::core::HRESULT = -2143313768i32;
6142pub const SL_REMAPPING_MDOLLAR_TIMEBASED_ACTIVATION_BEFORE_START_DATE: ::windows_sys::core::HRESULT = -2143313769i32;
6143pub const SL_REMAPPING_MDOLLAR_TIMEBASED_ACTIVATION_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -2143313767i32;
6144pub const SL_REMAPPING_MDOLLAR_TIMEBASED_PRODUCT_KEY_NOT_CONFIGURED: ::windows_sys::core::HRESULT = -2143313766i32;
6145pub const SL_REMAPPING_MDOLLAR_UNSUPPORTED_PRODUCT_KEY: ::windows_sys::core::HRESULT = -2143313812i32;
6146pub const SL_REMAPPING_SP_PUB_API_BAD_GET_INFO_QUERY: ::windows_sys::core::HRESULT = -1073426414i32;
6147pub const SL_REMAPPING_SP_PUB_API_HANDLE_NOT_COMMITED: ::windows_sys::core::HRESULT = -1073426303i32;
6148pub const SL_REMAPPING_SP_PUB_API_INVALID_ALGORITHM_TYPE: ::windows_sys::core::HRESULT = -1073426423i32;
6149pub const SL_REMAPPING_SP_PUB_API_INVALID_HANDLE: ::windows_sys::core::HRESULT = -1073426388i32;
6150pub const SL_REMAPPING_SP_PUB_API_INVALID_KEY_LENGTH: ::windows_sys::core::HRESULT = -1073426347i32;
6151pub const SL_REMAPPING_SP_PUB_API_INVALID_LICENSE: ::windows_sys::core::HRESULT = -1073426432i32;
6152pub const SL_REMAPPING_SP_PUB_API_NO_AES_PROVIDER: ::windows_sys::core::HRESULT = -1073426317i32;
6153pub const SL_REMAPPING_SP_PUB_API_TOO_MANY_LOADED_ENVIRONMENTS: ::windows_sys::core::HRESULT = -1073426420i32;
6154pub const SL_REMAPPING_SP_PUB_CRYPTO_HASH_FINALIZED: ::windows_sys::core::HRESULT = -1073425911i32;
6155pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_BLOCK: ::windows_sys::core::HRESULT = -1073425905i32;
6156pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_BLOCKLENGTH: ::windows_sys::core::HRESULT = -1073425918i32;
6157pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_CIPHER: ::windows_sys::core::HRESULT = -1073425917i32;
6158pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_CIPHERMODE: ::windows_sys::core::HRESULT = -1073425916i32;
6159pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_FORMAT: ::windows_sys::core::HRESULT = -1073425904i32;
6160pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_KEYLENGTH: ::windows_sys::core::HRESULT = -1073425919i32;
6161pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_PADDING: ::windows_sys::core::HRESULT = -1073425903i32;
6162pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_SIGNATURE: ::windows_sys::core::HRESULT = -1073425906i32;
6163pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_SIGNATURELENGTH: ::windows_sys::core::HRESULT = -1073425907i32;
6164pub const SL_REMAPPING_SP_PUB_CRYPTO_KEY_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -1073425910i32;
6165pub const SL_REMAPPING_SP_PUB_CRYPTO_KEY_NOT_FOUND: ::windows_sys::core::HRESULT = -1073425909i32;
6166pub const SL_REMAPPING_SP_PUB_CRYPTO_NOT_BLOCK_ALIGNED: ::windows_sys::core::HRESULT = -1073425908i32;
6167pub const SL_REMAPPING_SP_PUB_CRYPTO_UNKNOWN_ATTRIBUTEID: ::windows_sys::core::HRESULT = -1073425912i32;
6168pub const SL_REMAPPING_SP_PUB_CRYPTO_UNKNOWN_HASHID: ::windows_sys::core::HRESULT = -1073425913i32;
6169pub const SL_REMAPPING_SP_PUB_CRYPTO_UNKNOWN_KEYID: ::windows_sys::core::HRESULT = -1073425914i32;
6170pub const SL_REMAPPING_SP_PUB_CRYPTO_UNKNOWN_PROVIDERID: ::windows_sys::core::HRESULT = -1073425915i32;
6171pub const SL_REMAPPING_SP_PUB_GENERAL_NOT_INITIALIZED: ::windows_sys::core::HRESULT = -1073426175i32;
6172pub const SL_REMAPPING_SP_PUB_KM_CACHE_IDENTICAL: ::windows_sys::core::HRESULT = 1074058753i32;
6173pub const SL_REMAPPING_SP_PUB_KM_CACHE_POLICY_CHANGED: ::windows_sys::core::HRESULT = 1074058754i32;
6174pub const SL_REMAPPING_SP_PUB_KM_CACHE_TAMPER: ::windows_sys::core::HRESULT = -1073425151i32;
6175pub const SL_REMAPPING_SP_PUB_KM_CACHE_TAMPER_RESTORE_FAILED: ::windows_sys::core::HRESULT = -1073425150i32;
6176pub const SL_REMAPPING_SP_PUB_PROXY_SOFT_TAMPER: ::windows_sys::core::HRESULT = -1073424638i32;
6177pub const SL_REMAPPING_SP_PUB_TAMPER_MODULE_AUTHENTICATION: ::windows_sys::core::HRESULT = -1073425407i32;
6178pub const SL_REMAPPING_SP_PUB_TAMPER_SECURITY_PROCESSOR_PATCHED: ::windows_sys::core::HRESULT = -1073425406i32;
6179pub const SL_REMAPPING_SP_PUB_TIMER_ALREADY_EXISTS: ::windows_sys::core::HRESULT = -1073425654i32;
6180pub const SL_REMAPPING_SP_PUB_TIMER_EXPIRED: ::windows_sys::core::HRESULT = -1073425652i32;
6181pub const SL_REMAPPING_SP_PUB_TIMER_NAME_SIZE_TOO_BIG: ::windows_sys::core::HRESULT = -1073425651i32;
6182pub const SL_REMAPPING_SP_PUB_TIMER_NOT_FOUND: ::windows_sys::core::HRESULT = -1073425653i32;
6183pub const SL_REMAPPING_SP_PUB_TIMER_READ_ONLY: ::windows_sys::core::HRESULT = -1073425647i32;
6184pub const SL_REMAPPING_SP_PUB_TRUSTED_TIME_OK: ::windows_sys::core::HRESULT = 1074057999i32;
6185pub const SL_REMAPPING_SP_PUB_TS_ACCESS_DENIED: ::windows_sys::core::HRESULT = -1073425644i32;
6186pub const SL_REMAPPING_SP_PUB_TS_ATTRIBUTE_NOT_FOUND: ::windows_sys::core::HRESULT = -1073425645i32;
6187pub const SL_REMAPPING_SP_PUB_TS_ATTRIBUTE_READ_ONLY: ::windows_sys::core::HRESULT = -1073425646i32;
6188pub const SL_REMAPPING_SP_PUB_TS_DATA_SIZE_TOO_BIG: ::windows_sys::core::HRESULT = -1073425656i32;
6189pub const SL_REMAPPING_SP_PUB_TS_ENTRY_KEY_ALREADY_EXISTS: ::windows_sys::core::HRESULT = -1073425659i32;
6190pub const SL_REMAPPING_SP_PUB_TS_ENTRY_KEY_NOT_FOUND: ::windows_sys::core::HRESULT = -1073425660i32;
6191pub const SL_REMAPPING_SP_PUB_TS_ENTRY_KEY_SIZE_TOO_BIG: ::windows_sys::core::HRESULT = -1073425658i32;
6192pub const SL_REMAPPING_SP_PUB_TS_ENTRY_READ_ONLY: ::windows_sys::core::HRESULT = -1073425648i32;
6193pub const SL_REMAPPING_SP_PUB_TS_FULL: ::windows_sys::core::HRESULT = -1073425650i32;
6194pub const SL_REMAPPING_SP_PUB_TS_INVALID_HW_BINDING: ::windows_sys::core::HRESULT = -1073425655i32;
6195pub const SL_REMAPPING_SP_PUB_TS_MAX_REARM_REACHED: ::windows_sys::core::HRESULT = -1073425657i32;
6196pub const SL_REMAPPING_SP_PUB_TS_NAMESPACE_IN_USE: ::windows_sys::core::HRESULT = -1073425642i32;
6197pub const SL_REMAPPING_SP_PUB_TS_NAMESPACE_NOT_FOUND: ::windows_sys::core::HRESULT = -1073425643i32;
6198pub const SL_REMAPPING_SP_PUB_TS_REARMED: ::windows_sys::core::HRESULT = -1073425662i32;
6199pub const SL_REMAPPING_SP_PUB_TS_RECREATED: ::windows_sys::core::HRESULT = -1073425661i32;
6200pub const SL_REMAPPING_SP_PUB_TS_TAMPERED: ::windows_sys::core::HRESULT = -1073425663i32;
6201pub const SL_REMAPPING_SP_PUB_TS_TAMPERED_BREADCRUMB_GENERATION: ::windows_sys::core::HRESULT = -1073425640i32;
6202pub const SL_REMAPPING_SP_PUB_TS_TAMPERED_BREADCRUMB_LOAD_INVALID: ::windows_sys::core::HRESULT = -1073425641i32;
6203pub const SL_REMAPPING_SP_PUB_TS_TAMPERED_DATA_BREADCRUMB_MISMATCH: ::windows_sys::core::HRESULT = -1073425637i32;
6204pub const SL_REMAPPING_SP_PUB_TS_TAMPERED_DATA_VERSION_MISMATCH: ::windows_sys::core::HRESULT = -1073425636i32;
6205pub const SL_REMAPPING_SP_PUB_TS_TAMPERED_INVALID_DATA: ::windows_sys::core::HRESULT = -1073425639i32;
6206pub const SL_REMAPPING_SP_PUB_TS_TAMPERED_NO_DATA: ::windows_sys::core::HRESULT = -1073425638i32;
6207pub const SL_REMAPPING_SP_STATUS_ALREADY_EXISTS: ::windows_sys::core::HRESULT = -1073426171i32;
6208pub const SL_REMAPPING_SP_STATUS_DEBUGGER_DETECTED: ::windows_sys::core::HRESULT = -2147167989i32;
6209pub const SL_REMAPPING_SP_STATUS_GENERIC_FAILURE: ::windows_sys::core::HRESULT = -1073426173i32;
6210pub const SL_REMAPPING_SP_STATUS_INSUFFICIENT_BUFFER: ::windows_sys::core::HRESULT = -1073426169i32;
6211pub const SL_REMAPPING_SP_STATUS_INVALIDARG: ::windows_sys::core::HRESULT = -1073426172i32;
6212pub const SL_REMAPPING_SP_STATUS_INVALIDDATA: ::windows_sys::core::HRESULT = -1073426168i32;
6213pub const SL_REMAPPING_SP_STATUS_INVALID_SPAPI_CALL: ::windows_sys::core::HRESULT = -1073426167i32;
6214pub const SL_REMAPPING_SP_STATUS_INVALID_SPAPI_VERSION: ::windows_sys::core::HRESULT = -1073426166i32;
6215pub const SL_REMAPPING_SP_STATUS_NO_MORE_DATA: ::windows_sys::core::HRESULT = -1073426164i32;
6216pub const SL_REMAPPING_SP_STATUS_PUSHKEY_CONFLICT: ::windows_sys::core::HRESULT = -1073424639i32;
6217pub const SL_REMAPPING_SP_STATUS_SYSTEM_TIME_SKEWED: ::windows_sys::core::HRESULT = -2147167998i32;
6218pub const SL_SERVER_ZONE: u32 = 45056u32;
6219#[repr(C)]
6220pub struct SL_SYSTEM_POLICY_INFORMATION {
6221 pub Reserved1: [*mut ::core::ffi::c_void; 2],
6222 pub Reserved2: [u32; 3],
6223}
6224impl ::core::marker::Copy for SL_SYSTEM_POLICY_INFORMATION {}
6225impl ::core::clone::Clone for SL_SYSTEM_POLICY_INFORMATION {
6226 fn clone(&self) -> Self {
6227 *self
6228 }
6229}
6230pub const SL_SYSTEM_STATE_REBOOT_POLICY_FOUND: u32 = 1u32;
6231pub const SL_SYSTEM_STATE_TAMPERED: u32 = 2u32;
6232pub const SPP_MIGRATION_GATHER_ACTIVATED_WINDOWS_STATE: u32 = 2u32;
6233pub const SPP_MIGRATION_GATHER_ALL: u32 = 4294967295u32;
6234pub const SPP_MIGRATION_GATHER_MIGRATABLE_APPS: u32 = 1u32;
6235pub const SP_PROT_ALL: u32 = 4294967295u32;
6236pub const SP_PROT_DTLS1_0_CLIENT: u32 = 131072u32;
6237pub const SP_PROT_DTLS1_0_SERVER: u32 = 65536u32;
6238pub const SP_PROT_DTLS1_2_CLIENT: u32 = 524288u32;
6239pub const SP_PROT_DTLS1_2_SERVER: u32 = 262144u32;
6240pub const SP_PROT_DTLS_CLIENT: u32 = 131072u32;
6241pub const SP_PROT_DTLS_SERVER: u32 = 65536u32;
6242pub const SP_PROT_NONE: u32 = 0u32;
6243pub const SP_PROT_PCT1_CLIENT: u32 = 2u32;
6244pub const SP_PROT_PCT1_SERVER: u32 = 1u32;
6245pub const SP_PROT_SSL2_CLIENT: u32 = 8u32;
6246pub const SP_PROT_SSL2_SERVER: u32 = 4u32;
6247pub const SP_PROT_SSL3_CLIENT: u32 = 32u32;
6248pub const SP_PROT_SSL3_SERVER: u32 = 16u32;
6249pub const SP_PROT_TLS1_0_CLIENT: u32 = 128u32;
6250pub const SP_PROT_TLS1_0_SERVER: u32 = 64u32;
6251pub const SP_PROT_TLS1_1_CLIENT: u32 = 512u32;
6252pub const SP_PROT_TLS1_1_SERVER: u32 = 256u32;
6253pub const SP_PROT_TLS1_2_CLIENT: u32 = 2048u32;
6254pub const SP_PROT_TLS1_2_SERVER: u32 = 1024u32;
6255pub const SP_PROT_TLS1_3PLUS_CLIENT: u32 = 8192u32;
6256pub const SP_PROT_TLS1_3PLUS_SERVER: u32 = 4096u32;
6257pub const SP_PROT_TLS1_3_CLIENT: u32 = 8192u32;
6258pub const SP_PROT_TLS1_3_SERVER: u32 = 4096u32;
6259pub const SP_PROT_TLS1_CLIENT: u32 = 128u32;
6260pub const SP_PROT_TLS1_SERVER: u32 = 64u32;
6261pub const SP_PROT_UNI_CLIENT: u32 = 2147483648u32;
6262pub const SP_PROT_UNI_SERVER: u32 = 1073741824u32;
6263#[repr(C)]
6264pub struct SR_SECURITY_DESCRIPTOR {
6265 pub Length: u32,
6266 pub SecurityDescriptor: *mut u8,
6267}
6268impl ::core::marker::Copy for SR_SECURITY_DESCRIPTOR {}
6269impl ::core::clone::Clone for SR_SECURITY_DESCRIPTOR {
6270 fn clone(&self) -> Self {
6271 *self
6272 }
6273}
6274#[cfg(feature = "Win32_Foundation")]
6275pub type SSL_CRACK_CERTIFICATE_FN = unsafe extern "system" fn(pbcertificate: *mut u8, cbcertificate: u32, verifysignature: super::super::super::Foundation::BOOL, ppcertificate: *mut *mut X509Certificate) -> super::super::super::Foundation::BOOL;
6276#[repr(C)]
6277#[cfg(feature = "Win32_Foundation")]
6278pub struct SSL_CREDENTIAL_CERTIFICATE {
6279 pub cbPrivateKey: u32,
6280 pub pPrivateKey: *mut u8,
6281 pub cbCertificate: u32,
6282 pub pCertificate: *mut u8,
6283 pub pszPassword: super::super::super::Foundation::PSTR,
6284}
6285#[cfg(feature = "Win32_Foundation")]
6286impl ::core::marker::Copy for SSL_CREDENTIAL_CERTIFICATE {}
6287#[cfg(feature = "Win32_Foundation")]
6288impl ::core::clone::Clone for SSL_CREDENTIAL_CERTIFICATE {
6289 fn clone(&self) -> Self {
6290 *self
6291 }
6292}
6293#[cfg(feature = "Win32_Foundation")]
6294pub type SSL_EMPTY_CACHE_FN_A = unsafe extern "system" fn(psztargetname: super::super::super::Foundation::PSTR, dwflags: u32) -> super::super::super::Foundation::BOOL;
6295#[cfg(feature = "Win32_Foundation")]
6296pub type SSL_EMPTY_CACHE_FN_W = unsafe extern "system" fn(psztargetname: super::super::super::Foundation::PWSTR, dwflags: u32) -> super::super::super::Foundation::BOOL;
6297#[cfg(feature = "Win32_Foundation")]
6298pub type SSL_FREE_CERTIFICATE_FN = unsafe extern "system" fn(pcertificate: *mut X509Certificate);
6299pub const SSL_SESSION_RECONNECT: u32 = 1u32;
6300pub const SSPIPFC_CREDPROV_DO_NOT_LOAD: u32 = 4u32;
6301pub const SSPIPFC_CREDPROV_DO_NOT_SAVE: u32 = 1u32;
6302pub const SSPIPFC_NO_CHECKBOX: u32 = 2u32;
6303pub const SSPIPFC_SAVE_CRED_BY_CALLER: u32 = 1u32;
6304pub const SSPIPFC_USE_CREDUIBROKER: u32 = 8u32;
6305#[repr(C)]
6306pub struct SUBSCRIBE_GENERIC_TLS_EXTENSION {
6307 pub Flags: u32,
6308 pub SubscriptionsCount: u32,
6309 pub Subscriptions: [TLS_EXTENSION_SUBSCRIPTION; 1],
6310}
6311impl ::core::marker::Copy for SUBSCRIBE_GENERIC_TLS_EXTENSION {}
6312impl ::core::clone::Clone for SUBSCRIBE_GENERIC_TLS_EXTENSION {
6313 fn clone(&self) -> Self {
6314 *self
6315 }
6316}
6317pub const SZ_ALG_MAX_SIZE: u32 = 64u32;
6318pub type SchGetExtensionsOptions = u32;
6319pub const SCH_EXTENSIONS_OPTIONS_NONE: SchGetExtensionsOptions = 0u32;
6320pub const SCH_NO_RECORD_HEADER: SchGetExtensionsOptions = 1u32;
6321#[repr(C)]
6322pub struct SecBuffer {
6323 pub cbBuffer: u32,
6324 pub BufferType: u32,
6325 pub pvBuffer: *mut ::core::ffi::c_void,
6326}
6327impl ::core::marker::Copy for SecBuffer {}
6328impl ::core::clone::Clone for SecBuffer {
6329 fn clone(&self) -> Self {
6330 *self
6331 }
6332}
6333#[repr(C)]
6334pub struct SecBufferDesc {
6335 pub ulVersion: u32,
6336 pub cBuffers: u32,
6337 pub pBuffers: *mut SecBuffer,
6338}
6339impl ::core::marker::Copy for SecBufferDesc {}
6340impl ::core::clone::Clone for SecBufferDesc {
6341 fn clone(&self) -> Self {
6342 *self
6343 }
6344}
6345pub type SecDelegationType = i32;
6346pub const SecFull: SecDelegationType = 0i32;
6347pub const SecService: SecDelegationType = 1i32;
6348pub const SecTree: SecDelegationType = 2i32;
6349pub const SecDirectory: SecDelegationType = 3i32;
6350pub const SecObject: SecDelegationType = 4i32;
6351#[repr(C)]
6352pub struct SecPkgContext_AccessToken {
6353 pub AccessToken: *mut ::core::ffi::c_void,
6354}
6355impl ::core::marker::Copy for SecPkgContext_AccessToken {}
6356impl ::core::clone::Clone for SecPkgContext_AccessToken {
6357 fn clone(&self) -> Self {
6358 *self
6359 }
6360}
6361#[repr(C)]
6362pub struct SecPkgContext_ApplicationProtocol {
6363 pub ProtoNegoStatus: SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS,
6364 pub ProtoNegoExt: SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT,
6365 pub ProtocolIdSize: u8,
6366 pub ProtocolId: [u8; 255],
6367}
6368impl ::core::marker::Copy for SecPkgContext_ApplicationProtocol {}
6369impl ::core::clone::Clone for SecPkgContext_ApplicationProtocol {
6370 fn clone(&self) -> Self {
6371 *self
6372 }
6373}
6374#[repr(C)]
6375pub struct SecPkgContext_AuthorityA {
6376 pub sAuthorityName: *mut i8,
6377}
6378impl ::core::marker::Copy for SecPkgContext_AuthorityA {}
6379impl ::core::clone::Clone for SecPkgContext_AuthorityA {
6380 fn clone(&self) -> Self {
6381 *self
6382 }
6383}
6384#[repr(C)]
6385pub struct SecPkgContext_AuthorityW {
6386 pub sAuthorityName: *mut u16,
6387}
6388impl ::core::marker::Copy for SecPkgContext_AuthorityW {}
6389impl ::core::clone::Clone for SecPkgContext_AuthorityW {
6390 fn clone(&self) -> Self {
6391 *self
6392 }
6393}
6394#[repr(C)]
6395#[cfg(feature = "Win32_Foundation")]
6396pub struct SecPkgContext_AuthzID {
6397 pub AuthzIDLength: u32,
6398 pub AuthzID: super::super::super::Foundation::PSTR,
6399}
6400#[cfg(feature = "Win32_Foundation")]
6401impl ::core::marker::Copy for SecPkgContext_AuthzID {}
6402#[cfg(feature = "Win32_Foundation")]
6403impl ::core::clone::Clone for SecPkgContext_AuthzID {
6404 fn clone(&self) -> Self {
6405 *self
6406 }
6407}
6408#[repr(C)]
6409pub struct SecPkgContext_Bindings {
6410 pub BindingsLength: u32,
6411 pub Bindings: *mut SEC_CHANNEL_BINDINGS,
6412}
6413impl ::core::marker::Copy for SecPkgContext_Bindings {}
6414impl ::core::clone::Clone for SecPkgContext_Bindings {
6415 fn clone(&self) -> Self {
6416 *self
6417 }
6418}
6419#[repr(C)]
6420#[cfg(feature = "Win32_Foundation")]
6421pub struct SecPkgContext_CertInfo {
6422 pub dwVersion: u32,
6423 pub cbSubjectName: u32,
6424 pub pwszSubjectName: super::super::super::Foundation::PWSTR,
6425 pub cbIssuerName: u32,
6426 pub pwszIssuerName: super::super::super::Foundation::PWSTR,
6427 pub dwKeySize: u32,
6428}
6429#[cfg(feature = "Win32_Foundation")]
6430impl ::core::marker::Copy for SecPkgContext_CertInfo {}
6431#[cfg(feature = "Win32_Foundation")]
6432impl ::core::clone::Clone for SecPkgContext_CertInfo {
6433 fn clone(&self) -> Self {
6434 *self
6435 }
6436}
6437#[repr(C)]
6438pub struct SecPkgContext_CertificateValidationResult {
6439 pub dwChainErrorStatus: u32,
6440 pub hrVerifyChainStatus: ::windows_sys::core::HRESULT,
6441}
6442impl ::core::marker::Copy for SecPkgContext_CertificateValidationResult {}
6443impl ::core::clone::Clone for SecPkgContext_CertificateValidationResult {
6444 fn clone(&self) -> Self {
6445 *self
6446 }
6447}
6448#[repr(C)]
6449pub struct SecPkgContext_Certificates {
6450 pub cCertificates: u32,
6451 pub cbCertificateChain: u32,
6452 pub pbCertificateChain: *mut u8,
6453}
6454impl ::core::marker::Copy for SecPkgContext_Certificates {}
6455impl ::core::clone::Clone for SecPkgContext_Certificates {
6456 fn clone(&self) -> Self {
6457 *self
6458 }
6459}
6460#[repr(C)]
6461pub struct SecPkgContext_CipherInfo {
6462 pub dwVersion: u32,
6463 pub dwProtocol: u32,
6464 pub dwCipherSuite: u32,
6465 pub dwBaseCipherSuite: u32,
6466 pub szCipherSuite: [u16; 64],
6467 pub szCipher: [u16; 64],
6468 pub dwCipherLen: u32,
6469 pub dwCipherBlockLen: u32,
6470 pub szHash: [u16; 64],
6471 pub dwHashLen: u32,
6472 pub szExchange: [u16; 64],
6473 pub dwMinExchangeLen: u32,
6474 pub dwMaxExchangeLen: u32,
6475 pub szCertificate: [u16; 64],
6476 pub dwKeyType: u32,
6477}
6478impl ::core::marker::Copy for SecPkgContext_CipherInfo {}
6479impl ::core::clone::Clone for SecPkgContext_CipherInfo {
6480 fn clone(&self) -> Self {
6481 *self
6482 }
6483}
6484#[repr(C)]
6485pub struct SecPkgContext_ClientCertPolicyResult {
6486 pub dwPolicyResult: ::windows_sys::core::HRESULT,
6487 pub guidPolicyId: ::windows_sys::core::GUID,
6488}
6489impl ::core::marker::Copy for SecPkgContext_ClientCertPolicyResult {}
6490impl ::core::clone::Clone for SecPkgContext_ClientCertPolicyResult {
6491 fn clone(&self) -> Self {
6492 *self
6493 }
6494}
6495#[repr(C)]
6496pub struct SecPkgContext_ClientSpecifiedTarget {
6497 pub sTargetName: *mut u16,
6498}
6499impl ::core::marker::Copy for SecPkgContext_ClientSpecifiedTarget {}
6500impl ::core::clone::Clone for SecPkgContext_ClientSpecifiedTarget {
6501 fn clone(&self) -> Self {
6502 *self
6503 }
6504}
6505#[repr(C)]
6506pub struct SecPkgContext_ConnectionInfo {
6507 pub dwProtocol: u32,
6508 pub aiCipher: u32,
6509 pub dwCipherStrength: u32,
6510 pub aiHash: u32,
6511 pub dwHashStrength: u32,
6512 pub aiExch: u32,
6513 pub dwExchStrength: u32,
6514}
6515impl ::core::marker::Copy for SecPkgContext_ConnectionInfo {}
6516impl ::core::clone::Clone for SecPkgContext_ConnectionInfo {
6517 fn clone(&self) -> Self {
6518 *self
6519 }
6520}
6521#[repr(C)]
6522pub struct SecPkgContext_ConnectionInfoEx {
6523 pub dwVersion: u32,
6524 pub dwProtocol: u32,
6525 pub szCipher: [u16; 64],
6526 pub dwCipherStrength: u32,
6527 pub szHash: [u16; 64],
6528 pub dwHashStrength: u32,
6529 pub szExchange: [u16; 64],
6530 pub dwExchStrength: u32,
6531}
6532impl ::core::marker::Copy for SecPkgContext_ConnectionInfoEx {}
6533impl ::core::clone::Clone for SecPkgContext_ConnectionInfoEx {
6534 fn clone(&self) -> Self {
6535 *self
6536 }
6537}
6538#[repr(C)]
6539pub struct SecPkgContext_CredInfo {
6540 pub CredClass: SECPKG_CRED_CLASS,
6541 pub IsPromptingNeeded: u32,
6542}
6543impl ::core::marker::Copy for SecPkgContext_CredInfo {}
6544impl ::core::clone::Clone for SecPkgContext_CredInfo {
6545 fn clone(&self) -> Self {
6546 *self
6547 }
6548}
6549#[repr(C)]
6550pub struct SecPkgContext_CredentialNameA {
6551 pub CredentialType: u32,
6552 pub sCredentialName: *mut i8,
6553}
6554impl ::core::marker::Copy for SecPkgContext_CredentialNameA {}
6555impl ::core::clone::Clone for SecPkgContext_CredentialNameA {
6556 fn clone(&self) -> Self {
6557 *self
6558 }
6559}
6560#[repr(C)]
6561pub struct SecPkgContext_CredentialNameW {
6562 pub CredentialType: u32,
6563 pub sCredentialName: *mut u16,
6564}
6565impl ::core::marker::Copy for SecPkgContext_CredentialNameW {}
6566impl ::core::clone::Clone for SecPkgContext_CredentialNameW {
6567 fn clone(&self) -> Self {
6568 *self
6569 }
6570}
6571#[repr(C)]
6572pub struct SecPkgContext_DceInfo {
6573 pub AuthzSvc: u32,
6574 pub pPac: *mut ::core::ffi::c_void,
6575}
6576impl ::core::marker::Copy for SecPkgContext_DceInfo {}
6577impl ::core::clone::Clone for SecPkgContext_DceInfo {
6578 fn clone(&self) -> Self {
6579 *self
6580 }
6581}
6582#[repr(C)]
6583pub struct SecPkgContext_EapKeyBlock {
6584 pub rgbKeys: [u8; 128],
6585 pub rgbIVs: [u8; 64],
6586}
6587impl ::core::marker::Copy for SecPkgContext_EapKeyBlock {}
6588impl ::core::clone::Clone for SecPkgContext_EapKeyBlock {
6589 fn clone(&self) -> Self {
6590 *self
6591 }
6592}
6593#[repr(C)]
6594pub struct SecPkgContext_EapPrfInfo {
6595 pub dwVersion: u32,
6596 pub cbPrfData: u32,
6597 pub pbPrfData: *mut u8,
6598}
6599impl ::core::marker::Copy for SecPkgContext_EapPrfInfo {}
6600impl ::core::clone::Clone for SecPkgContext_EapPrfInfo {
6601 fn clone(&self) -> Self {
6602 *self
6603 }
6604}
6605#[repr(C)]
6606pub struct SecPkgContext_EarlyStart {
6607 pub dwEarlyStartFlags: u32,
6608}
6609impl ::core::marker::Copy for SecPkgContext_EarlyStart {}
6610impl ::core::clone::Clone for SecPkgContext_EarlyStart {
6611 fn clone(&self) -> Self {
6612 *self
6613 }
6614}
6615#[repr(C)]
6616pub struct SecPkgContext_Flags {
6617 pub Flags: u32,
6618}
6619impl ::core::marker::Copy for SecPkgContext_Flags {}
6620impl ::core::clone::Clone for SecPkgContext_Flags {
6621 fn clone(&self) -> Self {
6622 *self
6623 }
6624}
6625#[repr(C)]
6626#[cfg(feature = "Win32_Security_Cryptography")]
6627pub struct SecPkgContext_IssuerListInfoEx {
6628 pub aIssuers: *mut super::super::Cryptography::CRYPTOAPI_BLOB,
6629 pub cIssuers: u32,
6630}
6631#[cfg(feature = "Win32_Security_Cryptography")]
6632impl ::core::marker::Copy for SecPkgContext_IssuerListInfoEx {}
6633#[cfg(feature = "Win32_Security_Cryptography")]
6634impl ::core::clone::Clone for SecPkgContext_IssuerListInfoEx {
6635 fn clone(&self) -> Self {
6636 *self
6637 }
6638}
6639#[repr(C)]
6640pub struct SecPkgContext_KeyInfoA {
6641 pub sSignatureAlgorithmName: *mut i8,
6642 pub sEncryptAlgorithmName: *mut i8,
6643 pub KeySize: u32,
6644 pub SignatureAlgorithm: u32,
6645 pub EncryptAlgorithm: u32,
6646}
6647impl ::core::marker::Copy for SecPkgContext_KeyInfoA {}
6648impl ::core::clone::Clone for SecPkgContext_KeyInfoA {
6649 fn clone(&self) -> Self {
6650 *self
6651 }
6652}
6653#[repr(C)]
6654pub struct SecPkgContext_KeyInfoW {
6655 pub sSignatureAlgorithmName: *mut u16,
6656 pub sEncryptAlgorithmName: *mut u16,
6657 pub KeySize: u32,
6658 pub SignatureAlgorithm: u32,
6659 pub EncryptAlgorithm: u32,
6660}
6661impl ::core::marker::Copy for SecPkgContext_KeyInfoW {}
6662impl ::core::clone::Clone for SecPkgContext_KeyInfoW {
6663 fn clone(&self) -> Self {
6664 *self
6665 }
6666}
6667#[repr(C)]
6668pub struct SecPkgContext_KeyingMaterial {
6669 pub cbKeyingMaterial: u32,
6670 pub pbKeyingMaterial: *mut u8,
6671}
6672impl ::core::marker::Copy for SecPkgContext_KeyingMaterial {}
6673impl ::core::clone::Clone for SecPkgContext_KeyingMaterial {
6674 fn clone(&self) -> Self {
6675 *self
6676 }
6677}
6678#[repr(C)]
6679#[cfg(feature = "Win32_Foundation")]
6680pub struct SecPkgContext_KeyingMaterialInfo {
6681 pub cbLabel: u16,
6682 pub pszLabel: super::super::super::Foundation::PSTR,
6683 pub cbContextValue: u16,
6684 pub pbContextValue: *mut u8,
6685 pub cbKeyingMaterial: u32,
6686}
6687#[cfg(feature = "Win32_Foundation")]
6688impl ::core::marker::Copy for SecPkgContext_KeyingMaterialInfo {}
6689#[cfg(feature = "Win32_Foundation")]
6690impl ::core::clone::Clone for SecPkgContext_KeyingMaterialInfo {
6691 fn clone(&self) -> Self {
6692 *self
6693 }
6694}
6695#[repr(C)]
6696#[cfg(feature = "Win32_Foundation")]
6697pub struct SecPkgContext_KeyingMaterial_Inproc {
6698 pub cbLabel: u16,
6699 pub pszLabel: super::super::super::Foundation::PSTR,
6700 pub cbContextValue: u16,
6701 pub pbContextValue: *mut u8,
6702 pub cbKeyingMaterial: u32,
6703 pub pbKeyingMaterial: *mut u8,
6704}
6705#[cfg(feature = "Win32_Foundation")]
6706impl ::core::marker::Copy for SecPkgContext_KeyingMaterial_Inproc {}
6707#[cfg(feature = "Win32_Foundation")]
6708impl ::core::clone::Clone for SecPkgContext_KeyingMaterial_Inproc {
6709 fn clone(&self) -> Self {
6710 *self
6711 }
6712}
6713#[repr(C)]
6714pub struct SecPkgContext_LastClientTokenStatus {
6715 pub LastClientTokenStatus: SECPKG_ATTR_LCT_STATUS,
6716}
6717impl ::core::marker::Copy for SecPkgContext_LastClientTokenStatus {}
6718impl ::core::clone::Clone for SecPkgContext_LastClientTokenStatus {
6719 fn clone(&self) -> Self {
6720 *self
6721 }
6722}
6723#[repr(C)]
6724pub struct SecPkgContext_Lifespan {
6725 pub tsStart: i64,
6726 pub tsExpiry: i64,
6727}
6728impl ::core::marker::Copy for SecPkgContext_Lifespan {}
6729impl ::core::clone::Clone for SecPkgContext_Lifespan {
6730 fn clone(&self) -> Self {
6731 *self
6732 }
6733}
6734#[repr(C)]
6735pub struct SecPkgContext_LocalCredentialInfo {
6736 pub cbCertificateChain: u32,
6737 pub pbCertificateChain: *mut u8,
6738 pub cCertificates: u32,
6739 pub fFlags: u32,
6740 pub dwBits: u32,
6741}
6742impl ::core::marker::Copy for SecPkgContext_LocalCredentialInfo {}
6743impl ::core::clone::Clone for SecPkgContext_LocalCredentialInfo {
6744 fn clone(&self) -> Self {
6745 *self
6746 }
6747}
6748#[repr(C)]
6749pub struct SecPkgContext_LogoffTime {
6750 pub tsLogoffTime: i64,
6751}
6752impl ::core::marker::Copy for SecPkgContext_LogoffTime {}
6753impl ::core::clone::Clone for SecPkgContext_LogoffTime {
6754 fn clone(&self) -> Self {
6755 *self
6756 }
6757}
6758#[repr(C)]
6759pub struct SecPkgContext_MappedCredAttr {
6760 pub dwAttribute: u32,
6761 pub pvBuffer: *mut ::core::ffi::c_void,
6762}
6763impl ::core::marker::Copy for SecPkgContext_MappedCredAttr {}
6764impl ::core::clone::Clone for SecPkgContext_MappedCredAttr {
6765 fn clone(&self) -> Self {
6766 *self
6767 }
6768}
6769#[repr(C)]
6770pub struct SecPkgContext_NamesA {
6771 pub sUserName: *mut i8,
6772}
6773impl ::core::marker::Copy for SecPkgContext_NamesA {}
6774impl ::core::clone::Clone for SecPkgContext_NamesA {
6775 fn clone(&self) -> Self {
6776 *self
6777 }
6778}
6779#[repr(C)]
6780pub struct SecPkgContext_NamesW {
6781 pub sUserName: *mut u16,
6782}
6783impl ::core::marker::Copy for SecPkgContext_NamesW {}
6784impl ::core::clone::Clone for SecPkgContext_NamesW {
6785 fn clone(&self) -> Self {
6786 *self
6787 }
6788}
6789#[repr(C)]
6790pub struct SecPkgContext_NativeNamesA {
6791 pub sClientName: *mut i8,
6792 pub sServerName: *mut i8,
6793}
6794impl ::core::marker::Copy for SecPkgContext_NativeNamesA {}
6795impl ::core::clone::Clone for SecPkgContext_NativeNamesA {
6796 fn clone(&self) -> Self {
6797 *self
6798 }
6799}
6800#[repr(C)]
6801pub struct SecPkgContext_NativeNamesW {
6802 pub sClientName: *mut u16,
6803 pub sServerName: *mut u16,
6804}
6805impl ::core::marker::Copy for SecPkgContext_NativeNamesW {}
6806impl ::core::clone::Clone for SecPkgContext_NativeNamesW {
6807 fn clone(&self) -> Self {
6808 *self
6809 }
6810}
6811#[repr(C)]
6812pub struct SecPkgContext_NegoKeys {
6813 pub KeyType: u32,
6814 pub KeyLength: u16,
6815 pub KeyValue: *mut u8,
6816 pub VerifyKeyType: u32,
6817 pub VerifyKeyLength: u16,
6818 pub VerifyKeyValue: *mut u8,
6819}
6820impl ::core::marker::Copy for SecPkgContext_NegoKeys {}
6821impl ::core::clone::Clone for SecPkgContext_NegoKeys {
6822 fn clone(&self) -> Self {
6823 *self
6824 }
6825}
6826#[repr(C)]
6827pub struct SecPkgContext_NegoPackageInfo {
6828 pub PackageMask: u32,
6829}
6830impl ::core::marker::Copy for SecPkgContext_NegoPackageInfo {}
6831impl ::core::clone::Clone for SecPkgContext_NegoPackageInfo {
6832 fn clone(&self) -> Self {
6833 *self
6834 }
6835}
6836#[repr(C)]
6837pub struct SecPkgContext_NegoStatus {
6838 pub LastStatus: u32,
6839}
6840impl ::core::marker::Copy for SecPkgContext_NegoStatus {}
6841impl ::core::clone::Clone for SecPkgContext_NegoStatus {
6842 fn clone(&self) -> Self {
6843 *self
6844 }
6845}
6846#[repr(C)]
6847pub struct SecPkgContext_NegotiatedTlsExtensions {
6848 pub ExtensionsCount: u32,
6849 pub Extensions: *mut u16,
6850}
6851impl ::core::marker::Copy for SecPkgContext_NegotiatedTlsExtensions {}
6852impl ::core::clone::Clone for SecPkgContext_NegotiatedTlsExtensions {
6853 fn clone(&self) -> Self {
6854 *self
6855 }
6856}
6857#[repr(C)]
6858pub struct SecPkgContext_NegotiationInfoA {
6859 pub PackageInfo: *mut SecPkgInfoA,
6860 pub NegotiationState: u32,
6861}
6862impl ::core::marker::Copy for SecPkgContext_NegotiationInfoA {}
6863impl ::core::clone::Clone for SecPkgContext_NegotiationInfoA {
6864 fn clone(&self) -> Self {
6865 *self
6866 }
6867}
6868#[repr(C)]
6869pub struct SecPkgContext_NegotiationInfoW {
6870 pub PackageInfo: *mut SecPkgInfoW,
6871 pub NegotiationState: u32,
6872}
6873impl ::core::marker::Copy for SecPkgContext_NegotiationInfoW {}
6874impl ::core::clone::Clone for SecPkgContext_NegotiationInfoW {
6875 fn clone(&self) -> Self {
6876 *self
6877 }
6878}
6879#[repr(C)]
6880pub struct SecPkgContext_PackageInfoA {
6881 pub PackageInfo: *mut SecPkgInfoA,
6882}
6883impl ::core::marker::Copy for SecPkgContext_PackageInfoA {}
6884impl ::core::clone::Clone for SecPkgContext_PackageInfoA {
6885 fn clone(&self) -> Self {
6886 *self
6887 }
6888}
6889#[repr(C)]
6890pub struct SecPkgContext_PackageInfoW {
6891 pub PackageInfo: *mut SecPkgInfoW,
6892}
6893impl ::core::marker::Copy for SecPkgContext_PackageInfoW {}
6894impl ::core::clone::Clone for SecPkgContext_PackageInfoW {
6895 fn clone(&self) -> Self {
6896 *self
6897 }
6898}
6899#[repr(C)]
6900pub struct SecPkgContext_PasswordExpiry {
6901 pub tsPasswordExpires: i64,
6902}
6903impl ::core::marker::Copy for SecPkgContext_PasswordExpiry {}
6904impl ::core::clone::Clone for SecPkgContext_PasswordExpiry {
6905 fn clone(&self) -> Self {
6906 *self
6907 }
6908}
6909#[repr(C)]
6910pub struct SecPkgContext_ProtoInfoA {
6911 pub sProtocolName: *mut i8,
6912 pub majorVersion: u32,
6913 pub minorVersion: u32,
6914}
6915impl ::core::marker::Copy for SecPkgContext_ProtoInfoA {}
6916impl ::core::clone::Clone for SecPkgContext_ProtoInfoA {
6917 fn clone(&self) -> Self {
6918 *self
6919 }
6920}
6921#[repr(C)]
6922pub struct SecPkgContext_ProtoInfoW {
6923 pub sProtocolName: *mut u16,
6924 pub majorVersion: u32,
6925 pub minorVersion: u32,
6926}
6927impl ::core::marker::Copy for SecPkgContext_ProtoInfoW {}
6928impl ::core::clone::Clone for SecPkgContext_ProtoInfoW {
6929 fn clone(&self) -> Self {
6930 *self
6931 }
6932}
6933#[repr(C)]
6934pub struct SecPkgContext_RemoteCredentialInfo {
6935 pub cbCertificateChain: u32,
6936 pub pbCertificateChain: *mut u8,
6937 pub cCertificates: u32,
6938 pub fFlags: u32,
6939 pub dwBits: u32,
6940}
6941impl ::core::marker::Copy for SecPkgContext_RemoteCredentialInfo {}
6942impl ::core::clone::Clone for SecPkgContext_RemoteCredentialInfo {
6943 fn clone(&self) -> Self {
6944 *self
6945 }
6946}
6947#[repr(C)]
6948pub struct SecPkgContext_SaslContext {
6949 pub SaslContext: *mut ::core::ffi::c_void,
6950}
6951impl ::core::marker::Copy for SecPkgContext_SaslContext {}
6952impl ::core::clone::Clone for SecPkgContext_SaslContext {
6953 fn clone(&self) -> Self {
6954 *self
6955 }
6956}
6957#[repr(C)]
6958pub struct SecPkgContext_SessionAppData {
6959 pub dwFlags: u32,
6960 pub cbAppData: u32,
6961 pub pbAppData: *mut u8,
6962}
6963impl ::core::marker::Copy for SecPkgContext_SessionAppData {}
6964impl ::core::clone::Clone for SecPkgContext_SessionAppData {
6965 fn clone(&self) -> Self {
6966 *self
6967 }
6968}
6969#[repr(C)]
6970pub struct SecPkgContext_SessionInfo {
6971 pub dwFlags: u32,
6972 pub cbSessionId: u32,
6973 pub rgbSessionId: [u8; 32],
6974}
6975impl ::core::marker::Copy for SecPkgContext_SessionInfo {}
6976impl ::core::clone::Clone for SecPkgContext_SessionInfo {
6977 fn clone(&self) -> Self {
6978 *self
6979 }
6980}
6981#[repr(C)]
6982pub struct SecPkgContext_SessionKey {
6983 pub SessionKeyLength: u32,
6984 pub SessionKey: *mut u8,
6985}
6986impl ::core::marker::Copy for SecPkgContext_SessionKey {}
6987impl ::core::clone::Clone for SecPkgContext_SessionKey {
6988 fn clone(&self) -> Self {
6989 *self
6990 }
6991}
6992#[repr(C)]
6993pub struct SecPkgContext_Sizes {
6994 pub cbMaxToken: u32,
6995 pub cbMaxSignature: u32,
6996 pub cbBlockSize: u32,
6997 pub cbSecurityTrailer: u32,
6998}
6999impl ::core::marker::Copy for SecPkgContext_Sizes {}
7000impl ::core::clone::Clone for SecPkgContext_Sizes {
7001 fn clone(&self) -> Self {
7002 *self
7003 }
7004}
7005#[repr(C)]
7006pub struct SecPkgContext_SrtpParameters {
7007 pub ProtectionProfile: u16,
7008 pub MasterKeyIdentifierSize: u8,
7009 pub MasterKeyIdentifier: *mut u8,
7010}
7011impl ::core::marker::Copy for SecPkgContext_SrtpParameters {}
7012impl ::core::clone::Clone for SecPkgContext_SrtpParameters {
7013 fn clone(&self) -> Self {
7014 *self
7015 }
7016}
7017#[repr(C)]
7018pub struct SecPkgContext_StreamSizes {
7019 pub cbHeader: u32,
7020 pub cbTrailer: u32,
7021 pub cbMaximumMessage: u32,
7022 pub cBuffers: u32,
7023 pub cbBlockSize: u32,
7024}
7025impl ::core::marker::Copy for SecPkgContext_StreamSizes {}
7026impl ::core::clone::Clone for SecPkgContext_StreamSizes {
7027 fn clone(&self) -> Self {
7028 *self
7029 }
7030}
7031#[repr(C)]
7032pub struct SecPkgContext_SubjectAttributes {
7033 pub AttributeInfo: *mut ::core::ffi::c_void,
7034}
7035impl ::core::marker::Copy for SecPkgContext_SubjectAttributes {}
7036impl ::core::clone::Clone for SecPkgContext_SubjectAttributes {
7037 fn clone(&self) -> Self {
7038 *self
7039 }
7040}
7041#[repr(C)]
7042pub struct SecPkgContext_SupportedSignatures {
7043 pub cSignatureAndHashAlgorithms: u16,
7044 pub pSignatureAndHashAlgorithms: *mut u16,
7045}
7046impl ::core::marker::Copy for SecPkgContext_SupportedSignatures {}
7047impl ::core::clone::Clone for SecPkgContext_SupportedSignatures {
7048 fn clone(&self) -> Self {
7049 *self
7050 }
7051}
7052#[repr(C)]
7053#[cfg(feature = "Win32_Foundation")]
7054pub struct SecPkgContext_Target {
7055 pub TargetLength: u32,
7056 pub Target: super::super::super::Foundation::PSTR,
7057}
7058#[cfg(feature = "Win32_Foundation")]
7059impl ::core::marker::Copy for SecPkgContext_Target {}
7060#[cfg(feature = "Win32_Foundation")]
7061impl ::core::clone::Clone for SecPkgContext_Target {
7062 fn clone(&self) -> Self {
7063 *self
7064 }
7065}
7066#[repr(C)]
7067pub struct SecPkgContext_TargetInformation {
7068 pub MarshalledTargetInfoLength: u32,
7069 pub MarshalledTargetInfo: *mut u8,
7070}
7071impl ::core::marker::Copy for SecPkgContext_TargetInformation {}
7072impl ::core::clone::Clone for SecPkgContext_TargetInformation {
7073 fn clone(&self) -> Self {
7074 *self
7075 }
7076}
7077#[repr(C)]
7078pub struct SecPkgContext_TokenBinding {
7079 pub MajorVersion: u8,
7080 pub MinorVersion: u8,
7081 pub KeyParametersSize: u16,
7082 pub KeyParameters: *mut u8,
7083}
7084impl ::core::marker::Copy for SecPkgContext_TokenBinding {}
7085impl ::core::clone::Clone for SecPkgContext_TokenBinding {
7086 fn clone(&self) -> Self {
7087 *self
7088 }
7089}
7090#[repr(C)]
7091#[cfg(feature = "Win32_Foundation")]
7092pub struct SecPkgContext_UiInfo {
7093 pub hParentWindow: super::super::super::Foundation::HWND,
7094}
7095#[cfg(feature = "Win32_Foundation")]
7096impl ::core::marker::Copy for SecPkgContext_UiInfo {}
7097#[cfg(feature = "Win32_Foundation")]
7098impl ::core::clone::Clone for SecPkgContext_UiInfo {
7099 fn clone(&self) -> Self {
7100 *self
7101 }
7102}
7103#[repr(C)]
7104pub struct SecPkgContext_UserFlags {
7105 pub UserFlags: u32,
7106}
7107impl ::core::marker::Copy for SecPkgContext_UserFlags {}
7108impl ::core::clone::Clone for SecPkgContext_UserFlags {
7109 fn clone(&self) -> Self {
7110 *self
7111 }
7112}
7113#[repr(C)]
7114pub struct SecPkgCred_CipherStrengths {
7115 pub dwMinimumCipherStrength: u32,
7116 pub dwMaximumCipherStrength: u32,
7117}
7118impl ::core::marker::Copy for SecPkgCred_CipherStrengths {}
7119impl ::core::clone::Clone for SecPkgCred_CipherStrengths {
7120 fn clone(&self) -> Self {
7121 *self
7122 }
7123}
7124#[repr(C)]
7125#[cfg(feature = "Win32_Foundation")]
7126pub struct SecPkgCred_ClientCertPolicy {
7127 pub dwFlags: u32,
7128 pub guidPolicyId: ::windows_sys::core::GUID,
7129 pub dwCertFlags: u32,
7130 pub dwUrlRetrievalTimeout: u32,
7131 pub fCheckRevocationFreshnessTime: super::super::super::Foundation::BOOL,
7132 pub dwRevocationFreshnessTime: u32,
7133 pub fOmitUsageCheck: super::super::super::Foundation::BOOL,
7134 pub pwszSslCtlStoreName: super::super::super::Foundation::PWSTR,
7135 pub pwszSslCtlIdentifier: super::super::super::Foundation::PWSTR,
7136}
7137#[cfg(feature = "Win32_Foundation")]
7138impl ::core::marker::Copy for SecPkgCred_ClientCertPolicy {}
7139#[cfg(feature = "Win32_Foundation")]
7140impl ::core::clone::Clone for SecPkgCred_ClientCertPolicy {
7141 fn clone(&self) -> Self {
7142 *self
7143 }
7144}
7145#[repr(C)]
7146pub struct SecPkgCred_SessionTicketKey {
7147 pub TicketInfoVersion: u32,
7148 pub KeyId: [u8; 16],
7149 pub KeyingMaterial: [u8; 64],
7150 pub KeyingMaterialSize: u8,
7151}
7152impl ::core::marker::Copy for SecPkgCred_SessionTicketKey {}
7153impl ::core::clone::Clone for SecPkgCred_SessionTicketKey {
7154 fn clone(&self) -> Self {
7155 *self
7156 }
7157}
7158#[repr(C)]
7159pub struct SecPkgCred_SessionTicketKeys {
7160 pub cSessionTicketKeys: u32,
7161 pub pSessionTicketKeys: *mut SecPkgCred_SessionTicketKey,
7162}
7163impl ::core::marker::Copy for SecPkgCred_SessionTicketKeys {}
7164impl ::core::clone::Clone for SecPkgCred_SessionTicketKeys {
7165 fn clone(&self) -> Self {
7166 *self
7167 }
7168}
7169#[repr(C)]
7170pub struct SecPkgCred_SupportedAlgs {
7171 pub cSupportedAlgs: u32,
7172 pub palgSupportedAlgs: *mut u32,
7173}
7174impl ::core::marker::Copy for SecPkgCred_SupportedAlgs {}
7175impl ::core::clone::Clone for SecPkgCred_SupportedAlgs {
7176 fn clone(&self) -> Self {
7177 *self
7178 }
7179}
7180#[repr(C)]
7181pub struct SecPkgCred_SupportedProtocols {
7182 pub grbitProtocol: u32,
7183}
7184impl ::core::marker::Copy for SecPkgCred_SupportedProtocols {}
7185impl ::core::clone::Clone for SecPkgCred_SupportedProtocols {
7186 fn clone(&self) -> Self {
7187 *self
7188 }
7189}
7190#[repr(C)]
7191pub struct SecPkgCredentials_Cert {
7192 pub EncodedCertSize: u32,
7193 pub EncodedCert: *mut u8,
7194}
7195impl ::core::marker::Copy for SecPkgCredentials_Cert {}
7196impl ::core::clone::Clone for SecPkgCredentials_Cert {
7197 fn clone(&self) -> Self {
7198 *self
7199 }
7200}
7201#[repr(C)]
7202pub struct SecPkgCredentials_KdcProxySettingsW {
7203 pub Version: u32,
7204 pub Flags: u32,
7205 pub ProxyServerOffset: u16,
7206 pub ProxyServerLength: u16,
7207 pub ClientTlsCredOffset: u16,
7208 pub ClientTlsCredLength: u16,
7209}
7210impl ::core::marker::Copy for SecPkgCredentials_KdcProxySettingsW {}
7211impl ::core::clone::Clone for SecPkgCredentials_KdcProxySettingsW {
7212 fn clone(&self) -> Self {
7213 *self
7214 }
7215}
7216#[repr(C)]
7217pub struct SecPkgCredentials_NamesA {
7218 pub sUserName: *mut i8,
7219}
7220impl ::core::marker::Copy for SecPkgCredentials_NamesA {}
7221impl ::core::clone::Clone for SecPkgCredentials_NamesA {
7222 fn clone(&self) -> Self {
7223 *self
7224 }
7225}
7226#[repr(C)]
7227pub struct SecPkgCredentials_NamesW {
7228 pub sUserName: *mut u16,
7229}
7230impl ::core::marker::Copy for SecPkgCredentials_NamesW {}
7231impl ::core::clone::Clone for SecPkgCredentials_NamesW {
7232 fn clone(&self) -> Self {
7233 *self
7234 }
7235}
7236#[repr(C)]
7237#[cfg(feature = "Win32_Foundation")]
7238pub struct SecPkgCredentials_SSIProviderA {
7239 pub sProviderName: *mut i8,
7240 pub ProviderInfoLength: u32,
7241 pub ProviderInfo: super::super::super::Foundation::PSTR,
7242}
7243#[cfg(feature = "Win32_Foundation")]
7244impl ::core::marker::Copy for SecPkgCredentials_SSIProviderA {}
7245#[cfg(feature = "Win32_Foundation")]
7246impl ::core::clone::Clone for SecPkgCredentials_SSIProviderA {
7247 fn clone(&self) -> Self {
7248 *self
7249 }
7250}
7251#[repr(C)]
7252#[cfg(feature = "Win32_Foundation")]
7253pub struct SecPkgCredentials_SSIProviderW {
7254 pub sProviderName: *mut u16,
7255 pub ProviderInfoLength: u32,
7256 pub ProviderInfo: super::super::super::Foundation::PSTR,
7257}
7258#[cfg(feature = "Win32_Foundation")]
7259impl ::core::marker::Copy for SecPkgCredentials_SSIProviderW {}
7260#[cfg(feature = "Win32_Foundation")]
7261impl ::core::clone::Clone for SecPkgCredentials_SSIProviderW {
7262 fn clone(&self) -> Self {
7263 *self
7264 }
7265}
7266#[repr(C)]
7267pub struct SecPkgInfoA {
7268 pub fCapabilities: u32,
7269 pub wVersion: u16,
7270 pub wRPCID: u16,
7271 pub cbMaxToken: u32,
7272 pub Name: *mut i8,
7273 pub Comment: *mut i8,
7274}
7275impl ::core::marker::Copy for SecPkgInfoA {}
7276impl ::core::clone::Clone for SecPkgInfoA {
7277 fn clone(&self) -> Self {
7278 *self
7279 }
7280}
7281#[repr(C)]
7282pub struct SecPkgInfoW {
7283 pub fCapabilities: u32,
7284 pub wVersion: u16,
7285 pub wRPCID: u16,
7286 pub cbMaxToken: u32,
7287 pub Name: *mut u16,
7288 pub Comment: *mut u16,
7289}
7290impl ::core::marker::Copy for SecPkgInfoW {}
7291impl ::core::clone::Clone for SecPkgInfoW {
7292 fn clone(&self) -> Self {
7293 *self
7294 }
7295}
7296#[repr(C)]
7297#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
7298pub struct SecurityFunctionTableA {
7299 pub dwVersion: u32,
7300 pub EnumerateSecurityPackagesA: ENUMERATE_SECURITY_PACKAGES_FN_A,
7301 pub QueryCredentialsAttributesA: QUERY_CREDENTIALS_ATTRIBUTES_FN_A,
7302 pub AcquireCredentialsHandleA: ACQUIRE_CREDENTIALS_HANDLE_FN_A,
7303 pub FreeCredentialsHandle: FREE_CREDENTIALS_HANDLE_FN,
7304 pub Reserved2: *mut ::core::ffi::c_void,
7305 pub InitializeSecurityContextA: INITIALIZE_SECURITY_CONTEXT_FN_A,
7306 pub AcceptSecurityContext: ACCEPT_SECURITY_CONTEXT_FN,
7307 pub CompleteAuthToken: COMPLETE_AUTH_TOKEN_FN,
7308 pub DeleteSecurityContext: DELETE_SECURITY_CONTEXT_FN,
7309 pub ApplyControlToken: APPLY_CONTROL_TOKEN_FN,
7310 pub QueryContextAttributesA: QUERY_CONTEXT_ATTRIBUTES_FN_A,
7311 pub ImpersonateSecurityContext: IMPERSONATE_SECURITY_CONTEXT_FN,
7312 pub RevertSecurityContext: REVERT_SECURITY_CONTEXT_FN,
7313 pub MakeSignature: MAKE_SIGNATURE_FN,
7314 pub VerifySignature: VERIFY_SIGNATURE_FN,
7315 pub FreeContextBuffer: FREE_CONTEXT_BUFFER_FN,
7316 pub QuerySecurityPackageInfoA: QUERY_SECURITY_PACKAGE_INFO_FN_A,
7317 pub Reserved3: *mut ::core::ffi::c_void,
7318 pub Reserved4: *mut ::core::ffi::c_void,
7319 pub ExportSecurityContext: EXPORT_SECURITY_CONTEXT_FN,
7320 pub ImportSecurityContextA: IMPORT_SECURITY_CONTEXT_FN_A,
7321 pub AddCredentialsA: ADD_CREDENTIALS_FN_A,
7322 pub Reserved8: *mut ::core::ffi::c_void,
7323 pub QuerySecurityContextToken: QUERY_SECURITY_CONTEXT_TOKEN_FN,
7324 pub EncryptMessage: ENCRYPT_MESSAGE_FN,
7325 pub DecryptMessage: DECRYPT_MESSAGE_FN,
7326 pub SetContextAttributesA: SET_CONTEXT_ATTRIBUTES_FN_A,
7327 pub SetCredentialsAttributesA: SET_CREDENTIALS_ATTRIBUTES_FN_A,
7328 pub ChangeAccountPasswordA: CHANGE_PASSWORD_FN_A,
7329 pub QueryContextAttributesExA: QUERY_CONTEXT_ATTRIBUTES_EX_FN_A,
7330 pub QueryCredentialsAttributesExA: QUERY_CREDENTIALS_ATTRIBUTES_EX_FN_A,
7331}
7332#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
7333impl ::core::marker::Copy for SecurityFunctionTableA {}
7334#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
7335impl ::core::clone::Clone for SecurityFunctionTableA {
7336 fn clone(&self) -> Self {
7337 *self
7338 }
7339}
7340#[repr(C)]
7341#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
7342pub struct SecurityFunctionTableW {
7343 pub dwVersion: u32,
7344 pub EnumerateSecurityPackagesW: ENUMERATE_SECURITY_PACKAGES_FN_W,
7345 pub QueryCredentialsAttributesW: QUERY_CREDENTIALS_ATTRIBUTES_FN_W,
7346 pub AcquireCredentialsHandleW: ACQUIRE_CREDENTIALS_HANDLE_FN_W,
7347 pub FreeCredentialsHandle: FREE_CREDENTIALS_HANDLE_FN,
7348 pub Reserved2: *mut ::core::ffi::c_void,
7349 pub InitializeSecurityContextW: INITIALIZE_SECURITY_CONTEXT_FN_W,
7350 pub AcceptSecurityContext: ACCEPT_SECURITY_CONTEXT_FN,
7351 pub CompleteAuthToken: COMPLETE_AUTH_TOKEN_FN,
7352 pub DeleteSecurityContext: DELETE_SECURITY_CONTEXT_FN,
7353 pub ApplyControlToken: APPLY_CONTROL_TOKEN_FN,
7354 pub QueryContextAttributesW: QUERY_CONTEXT_ATTRIBUTES_FN_W,
7355 pub ImpersonateSecurityContext: IMPERSONATE_SECURITY_CONTEXT_FN,
7356 pub RevertSecurityContext: REVERT_SECURITY_CONTEXT_FN,
7357 pub MakeSignature: MAKE_SIGNATURE_FN,
7358 pub VerifySignature: VERIFY_SIGNATURE_FN,
7359 pub FreeContextBuffer: FREE_CONTEXT_BUFFER_FN,
7360 pub QuerySecurityPackageInfoW: QUERY_SECURITY_PACKAGE_INFO_FN_W,
7361 pub Reserved3: *mut ::core::ffi::c_void,
7362 pub Reserved4: *mut ::core::ffi::c_void,
7363 pub ExportSecurityContext: EXPORT_SECURITY_CONTEXT_FN,
7364 pub ImportSecurityContextW: IMPORT_SECURITY_CONTEXT_FN_W,
7365 pub AddCredentialsW: ADD_CREDENTIALS_FN_W,
7366 pub Reserved8: *mut ::core::ffi::c_void,
7367 pub QuerySecurityContextToken: QUERY_SECURITY_CONTEXT_TOKEN_FN,
7368 pub EncryptMessage: ENCRYPT_MESSAGE_FN,
7369 pub DecryptMessage: DECRYPT_MESSAGE_FN,
7370 pub SetContextAttributesW: SET_CONTEXT_ATTRIBUTES_FN_W,
7371 pub SetCredentialsAttributesW: SET_CREDENTIALS_ATTRIBUTES_FN_W,
7372 pub ChangeAccountPasswordW: CHANGE_PASSWORD_FN_W,
7373 pub QueryContextAttributesExW: QUERY_CONTEXT_ATTRIBUTES_EX_FN_W,
7374 pub QueryCredentialsAttributesExW: QUERY_CREDENTIALS_ATTRIBUTES_EX_FN_W,
7375}
7376#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
7377impl ::core::marker::Copy for SecurityFunctionTableW {}
7378#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
7379impl ::core::clone::Clone for SecurityFunctionTableW {
7380 fn clone(&self) -> Self {
7381 *self
7382 }
7383}
7384#[cfg(feature = "Win32_Foundation")]
7385pub type SpAcceptCredentialsFn = unsafe extern "system" fn(logontype: SECURITY_LOGON_TYPE, accountname: *const super::super::super::Foundation::UNICODE_STRING, primarycredentials: *const SECPKG_PRIMARY_CRED, supplementalcredentials: *const SECPKG_SUPPLEMENTAL_CRED) -> super::super::super::Foundation::NTSTATUS;
7386#[cfg(feature = "Win32_Foundation")]
7387pub type SpAcceptLsaModeContextFn = unsafe extern "system" fn(credentialhandle: usize, contexthandle: usize, inputbuffer: *const SecBufferDesc, contextrequirements: u32, targetdatarep: u32, newcontexthandle: *mut usize, outputbuffer: *mut SecBufferDesc, contextattributes: *mut u32, expirationtime: *mut i64, mappedcontext: *mut super::super::super::Foundation::BOOLEAN, contextdata: *mut SecBuffer) -> super::super::super::Foundation::NTSTATUS;
7388#[cfg(feature = "Win32_Foundation")]
7389pub type SpAcquireCredentialsHandleFn = unsafe extern "system" fn(principalname: *const super::super::super::Foundation::UNICODE_STRING, credentialuseflags: u32, logonid: *const super::super::super::Foundation::LUID, authorizationdata: *const ::core::ffi::c_void, getkeyfunciton: *const ::core::ffi::c_void, getkeyargument: *const ::core::ffi::c_void, credentialhandle: *mut usize, expirationtime: *mut i64) -> super::super::super::Foundation::NTSTATUS;
7390#[cfg(feature = "Win32_Foundation")]
7391pub type SpAddCredentialsFn = unsafe extern "system" fn(credentialhandle: usize, principalname: *const super::super::super::Foundation::UNICODE_STRING, package: *const super::super::super::Foundation::UNICODE_STRING, credentialuseflags: u32, authorizationdata: *const ::core::ffi::c_void, getkeyfunciton: *const ::core::ffi::c_void, getkeyargument: *const ::core::ffi::c_void, expirationtime: *mut i64) -> super::super::super::Foundation::NTSTATUS;
7392#[cfg(feature = "Win32_Foundation")]
7393pub type SpApplyControlTokenFn = unsafe extern "system" fn(contexthandle: usize, controltoken: *const SecBufferDesc) -> super::super::super::Foundation::NTSTATUS;
7394#[cfg(feature = "Win32_Foundation")]
7395pub type SpChangeAccountPasswordFn = unsafe extern "system" fn(pdomainname: *const super::super::super::Foundation::UNICODE_STRING, paccountname: *const super::super::super::Foundation::UNICODE_STRING, poldpassword: *const super::super::super::Foundation::UNICODE_STRING, pnewpassword: *const super::super::super::Foundation::UNICODE_STRING, impersonating: super::super::super::Foundation::BOOLEAN, poutput: *mut SecBufferDesc) -> super::super::super::Foundation::NTSTATUS;
7396#[cfg(feature = "Win32_Foundation")]
7397pub type SpCompleteAuthTokenFn = unsafe extern "system" fn(contexthandle: usize, inputbuffer: *const SecBufferDesc) -> super::super::super::Foundation::NTSTATUS;
7398#[cfg(feature = "Win32_Foundation")]
7399pub type SpDeleteContextFn = unsafe extern "system" fn(contexthandle: usize) -> super::super::super::Foundation::NTSTATUS;
7400#[cfg(feature = "Win32_Foundation")]
7401pub type SpDeleteCredentialsFn = unsafe extern "system" fn(credentialhandle: usize, key: *const SecBuffer) -> super::super::super::Foundation::NTSTATUS;
7402#[cfg(feature = "Win32_Foundation")]
7403pub type SpExchangeMetaDataFn = unsafe extern "system" fn(credentialhandle: usize, targetname: *const super::super::super::Foundation::UNICODE_STRING, contextrequirements: u32, metadatalength: u32, metadata: *const u8, contexthandle: *mut usize) -> super::super::super::Foundation::NTSTATUS;
7404#[cfg(feature = "Win32_Foundation")]
7405pub type SpExportSecurityContextFn = unsafe extern "system" fn(phcontext: usize, fflags: u32, ppackedcontext: *mut SecBuffer, ptoken: *mut super::super::super::Foundation::HANDLE) -> super::super::super::Foundation::NTSTATUS;
7406#[cfg(feature = "Win32_Foundation")]
7407pub type SpFormatCredentialsFn = unsafe extern "system" fn(credentials: *const SecBuffer, formattedcredentials: *mut SecBuffer) -> super::super::super::Foundation::NTSTATUS;
7408#[cfg(feature = "Win32_Foundation")]
7409pub type SpFreeCredentialsHandleFn = unsafe extern "system" fn(credentialhandle: usize) -> super::super::super::Foundation::NTSTATUS;
7410#[cfg(feature = "Win32_Foundation")]
7411pub type SpGetContextTokenFn = unsafe extern "system" fn(contexthandle: usize, impersonationtoken: *mut super::super::super::Foundation::HANDLE) -> super::super::super::Foundation::NTSTATUS;
7412#[cfg(feature = "Win32_Foundation")]
7413pub type SpGetCredUIContextFn = unsafe extern "system" fn(contexthandle: usize, credtype: *const ::windows_sys::core::GUID, flatcreduicontextlength: *mut u32, flatcreduicontext: *mut *mut u8) -> super::super::super::Foundation::NTSTATUS;
7414#[cfg(feature = "Win32_Foundation")]
7415pub type SpGetCredentialsFn = unsafe extern "system" fn(credentialhandle: usize, credentials: *mut SecBuffer) -> super::super::super::Foundation::NTSTATUS;
7416#[cfg(feature = "Win32_Foundation")]
7417pub type SpGetExtendedInformationFn = unsafe extern "system" fn(class: SECPKG_EXTENDED_INFORMATION_CLASS, ppinformation: *mut *mut SECPKG_EXTENDED_INFORMATION) -> super::super::super::Foundation::NTSTATUS;
7418#[cfg(feature = "Win32_Foundation")]
7419pub type SpGetInfoFn = unsafe extern "system" fn(packageinfo: *mut SecPkgInfoA) -> super::super::super::Foundation::NTSTATUS;
7420#[cfg(feature = "Win32_Foundation")]
7421pub type SpGetRemoteCredGuardLogonBufferFn =
7422 unsafe extern "system" fn(credhandle: usize, contexthandle: usize, targetname: *const super::super::super::Foundation::UNICODE_STRING, redirectedlogonhandle: *mut super::super::super::Foundation::HANDLE, callback: *mut ::core::option::Option<PLSA_REDIRECTED_LOGON_CALLBACK>, cleanupcallback: *mut ::core::option::Option<PLSA_REDIRECTED_LOGON_CLEANUP_CALLBACK>, logonbuffersize: *mut u32, logonbuffer: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
7423#[cfg(feature = "Win32_Foundation")]
7424pub type SpGetRemoteCredGuardSupplementalCredsFn =
7425 unsafe extern "system" fn(credhandle: usize, targetname: *const super::super::super::Foundation::UNICODE_STRING, redirectedlogonhandle: *mut super::super::super::Foundation::HANDLE, callback: *mut ::core::option::Option<PLSA_REDIRECTED_LOGON_CALLBACK>, cleanupcallback: *mut ::core::option::Option<PLSA_REDIRECTED_LOGON_CLEANUP_CALLBACK>, supplementalcredssize: *mut u32, supplementalcreds: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
7426#[cfg(feature = "Win32_Foundation")]
7427pub type SpGetTbalSupplementalCredsFn = unsafe extern "system" fn(logonid: super::super::super::Foundation::LUID, supplementalcredssize: *mut u32, supplementalcreds: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
7428#[cfg(feature = "Win32_Foundation")]
7429pub type SpGetUserInfoFn = unsafe extern "system" fn(logonid: *const super::super::super::Foundation::LUID, flags: u32, userdata: *mut *mut SECURITY_USER_DATA) -> super::super::super::Foundation::NTSTATUS;
7430#[cfg(feature = "Win32_Foundation")]
7431pub type SpImportSecurityContextFn = unsafe extern "system" fn(ppackedcontext: *const SecBuffer, token: super::super::super::Foundation::HANDLE, phcontext: *mut usize) -> super::super::super::Foundation::NTSTATUS;
7432#[cfg(feature = "Win32_Foundation")]
7433pub type SpInitLsaModeContextFn =
7434 unsafe extern "system" fn(credentialhandle: usize, contexthandle: usize, targetname: *const super::super::super::Foundation::UNICODE_STRING, contextrequirements: u32, targetdatarep: u32, inputbuffers: *const SecBufferDesc, newcontexthandle: *mut usize, outputbuffers: *mut SecBufferDesc, contextattributes: *mut u32, expirationtime: *mut i64, mappedcontext: *mut super::super::super::Foundation::BOOLEAN, contextdata: *mut SecBuffer) -> super::super::super::Foundation::NTSTATUS;
7435#[cfg(feature = "Win32_Foundation")]
7436pub type SpInitUserModeContextFn = unsafe extern "system" fn(contexthandle: usize, packedcontext: *const SecBuffer) -> super::super::super::Foundation::NTSTATUS;
7437#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
7438pub type SpInitializeFn = unsafe extern "system" fn(packageid: usize, parameters: *const SECPKG_PARAMETERS, functiontable: *const LSA_SECPKG_FUNCTION_TABLE) -> super::super::super::Foundation::NTSTATUS;
7439#[cfg(feature = "Win32_Foundation")]
7440pub type SpInstanceInitFn = unsafe extern "system" fn(version: u32, functiontable: *const SECPKG_DLL_FUNCTIONS, userfunctions: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
7441#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
7442pub type SpLsaModeInitializeFn = unsafe extern "system" fn(lsaversion: u32, packageversion: *mut u32, pptables: *mut *mut SECPKG_FUNCTION_TABLE, pctables: *mut u32) -> super::super::super::Foundation::NTSTATUS;
7443#[cfg(feature = "Win32_Foundation")]
7444pub type SpMakeSignatureFn = unsafe extern "system" fn(contexthandle: usize, qualityofprotection: u32, messagebuffers: *const SecBufferDesc, messagesequencenumber: u32) -> super::super::super::Foundation::NTSTATUS;
7445#[cfg(feature = "Win32_Foundation")]
7446pub type SpMarshalAttributeDataFn = unsafe extern "system" fn(attributeinfo: u32, attribute: u32, attributedatasize: u32, attributedata: *const u8, marshaledattributedatasize: *mut u32, marshaledattributedata: *mut *mut u8) -> super::super::super::Foundation::NTSTATUS;
7447#[cfg(feature = "Win32_Foundation")]
7448pub type SpMarshallSupplementalCredsFn = unsafe extern "system" fn(credentialsize: u32, credentials: *const u8, marshalledcredsize: *mut u32, marshalledcreds: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
7449#[cfg(feature = "Win32_Foundation")]
7450pub type SpQueryContextAttributesFn = unsafe extern "system" fn(contexthandle: usize, contextattribute: u32, buffer: *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
7451#[cfg(feature = "Win32_Foundation")]
7452pub type SpQueryCredentialsAttributesFn = unsafe extern "system" fn(credentialhandle: usize, credentialattribute: u32, buffer: *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
7453#[cfg(feature = "Win32_Foundation")]
7454pub type SpQueryMetaDataFn = unsafe extern "system" fn(credentialhandle: usize, targetname: *const super::super::super::Foundation::UNICODE_STRING, contextrequirements: u32, metadatalength: *mut u32, metadata: *mut *mut u8, contexthandle: *mut usize) -> super::super::super::Foundation::NTSTATUS;
7455#[cfg(feature = "Win32_Foundation")]
7456pub type SpSaveCredentialsFn = unsafe extern "system" fn(credentialhandle: usize, credentials: *const SecBuffer) -> super::super::super::Foundation::NTSTATUS;
7457#[cfg(feature = "Win32_Foundation")]
7458pub type SpSealMessageFn = unsafe extern "system" fn(contexthandle: usize, qualityofprotection: u32, messagebuffers: *const SecBufferDesc, messagesequencenumber: u32) -> super::super::super::Foundation::NTSTATUS;
7459#[cfg(feature = "Win32_Foundation")]
7460pub type SpSetContextAttributesFn = unsafe extern "system" fn(contexthandle: usize, contextattribute: u32, buffer: *const ::core::ffi::c_void, buffersize: u32) -> super::super::super::Foundation::NTSTATUS;
7461#[cfg(feature = "Win32_Foundation")]
7462pub type SpSetCredentialsAttributesFn = unsafe extern "system" fn(credentialhandle: usize, credentialattribute: u32, buffer: *const ::core::ffi::c_void, buffersize: u32) -> super::super::super::Foundation::NTSTATUS;
7463#[cfg(feature = "Win32_Foundation")]
7464pub type SpSetExtendedInformationFn = unsafe extern "system" fn(class: SECPKG_EXTENDED_INFORMATION_CLASS, info: *const SECPKG_EXTENDED_INFORMATION) -> super::super::super::Foundation::NTSTATUS;
7465#[cfg(feature = "Win32_Foundation")]
7466pub type SpShutdownFn = unsafe extern "system" fn() -> super::super::super::Foundation::NTSTATUS;
7467#[cfg(feature = "Win32_Foundation")]
7468pub type SpUnsealMessageFn = unsafe extern "system" fn(contexthandle: usize, messagebuffers: *const SecBufferDesc, messagesequencenumber: u32, qualityofprotection: *mut u32) -> super::super::super::Foundation::NTSTATUS;
7469#[cfg(feature = "Win32_Foundation")]
7470pub type SpUpdateCredentialsFn = unsafe extern "system" fn(contexthandle: usize, credtype: *const ::windows_sys::core::GUID, flatcreduicontextlength: u32, flatcreduicontext: *const u8) -> super::super::super::Foundation::NTSTATUS;
7471#[cfg(feature = "Win32_Foundation")]
7472pub type SpUserModeInitializeFn = unsafe extern "system" fn(lsaversion: u32, packageversion: *mut u32, pptables: *mut *mut SECPKG_USER_FUNCTION_TABLE, pctables: *mut u32) -> super::super::super::Foundation::NTSTATUS;
7473#[cfg(feature = "Win32_Foundation")]
7474pub type SpValidateTargetInfoFn = unsafe extern "system" fn(clientrequest: *const *const ::core::ffi::c_void, protocolsubmitbuffer: *const ::core::ffi::c_void, clientbufferbase: *const ::core::ffi::c_void, submitbufferlength: u32, targetinfo: *const SECPKG_TARGETINFO) -> super::super::super::Foundation::NTSTATUS;
7475#[cfg(feature = "Win32_Foundation")]
7476pub type SpVerifySignatureFn = unsafe extern "system" fn(contexthandle: usize, messagebuffers: *const SecBufferDesc, messagesequencenumber: u32, qualityofprotection: *mut u32) -> super::super::super::Foundation::NTSTATUS;
7477pub type SslGetExtensionsFn = unsafe extern "system" fn(clienthello: *const u8, clienthellobytesize: u32, genericextensions: *mut SCH_EXTENSION_DATA, genericextensionscount: u8, bytestoread: *mut u32, flags: SchGetExtensionsOptions) -> i32;
7478pub type SslGetServerIdentityFn = unsafe extern "system" fn(clienthello: *const u8, clienthellosize: u32, serveridentity: *mut *mut u8, serveridentitysize: *mut u32, flags: u32) -> i32;
7479pub const TLS1_ALERT_ACCESS_DENIED: u32 = 49u32;
7480pub const TLS1_ALERT_BAD_CERTIFICATE: u32 = 42u32;
7481pub const TLS1_ALERT_BAD_RECORD_MAC: u32 = 20u32;
7482pub const TLS1_ALERT_CERTIFICATE_EXPIRED: u32 = 45u32;
7483pub const TLS1_ALERT_CERTIFICATE_REVOKED: u32 = 44u32;
7484pub const TLS1_ALERT_CERTIFICATE_UNKNOWN: u32 = 46u32;
7485pub const TLS1_ALERT_CLOSE_NOTIFY: u32 = 0u32;
7486pub const TLS1_ALERT_DECODE_ERROR: u32 = 50u32;
7487pub const TLS1_ALERT_DECOMPRESSION_FAIL: u32 = 30u32;
7488pub const TLS1_ALERT_DECRYPTION_FAILED: u32 = 21u32;
7489pub const TLS1_ALERT_DECRYPT_ERROR: u32 = 51u32;
7490pub const TLS1_ALERT_EXPORT_RESTRICTION: u32 = 60u32;
7491pub const TLS1_ALERT_HANDSHAKE_FAILURE: u32 = 40u32;
7492pub const TLS1_ALERT_ILLEGAL_PARAMETER: u32 = 47u32;
7493pub const TLS1_ALERT_INSUFFIENT_SECURITY: u32 = 71u32;
7494pub const TLS1_ALERT_INTERNAL_ERROR: u32 = 80u32;
7495pub const TLS1_ALERT_NO_APP_PROTOCOL: u32 = 120u32;
7496pub const TLS1_ALERT_NO_RENEGOTIATION: u32 = 100u32;
7497pub const TLS1_ALERT_PROTOCOL_VERSION: u32 = 70u32;
7498pub const TLS1_ALERT_RECORD_OVERFLOW: u32 = 22u32;
7499pub const TLS1_ALERT_UNEXPECTED_MESSAGE: u32 = 10u32;
7500pub const TLS1_ALERT_UNKNOWN_CA: u32 = 48u32;
7501pub const TLS1_ALERT_UNKNOWN_PSK_IDENTITY: u32 = 115u32;
7502pub const TLS1_ALERT_UNSUPPORTED_CERT: u32 = 43u32;
7503pub const TLS1_ALERT_UNSUPPORTED_EXT: u32 = 110u32;
7504pub const TLS1_ALERT_USER_CANCELED: u32 = 90u32;
7505#[repr(C)]
7506pub struct TLS_EXTENSION_SUBSCRIPTION {
7507 pub ExtensionType: u16,
7508 pub HandshakeType: u16,
7509}
7510impl ::core::marker::Copy for TLS_EXTENSION_SUBSCRIPTION {}
7511impl ::core::clone::Clone for TLS_EXTENSION_SUBSCRIPTION {
7512 fn clone(&self) -> Self {
7513 *self
7514 }
7515}
7516pub const TLS_PARAMS_OPTIONAL: u32 = 1u32;
7517pub type TOKENBINDING_EXTENSION_FORMAT = i32;
7518pub const TOKENBINDING_EXTENSION_FORMAT_UNDEFINED: TOKENBINDING_EXTENSION_FORMAT = 0i32;
7519#[repr(C)]
7520pub struct TOKENBINDING_IDENTIFIER {
7521 pub keyType: u8,
7522}
7523impl ::core::marker::Copy for TOKENBINDING_IDENTIFIER {}
7524impl ::core::clone::Clone for TOKENBINDING_IDENTIFIER {
7525 fn clone(&self) -> Self {
7526 *self
7527 }
7528}
7529pub type TOKENBINDING_KEY_PARAMETERS_TYPE = i32;
7530pub const TOKENBINDING_KEY_PARAMETERS_TYPE_RSA2048_PKCS: TOKENBINDING_KEY_PARAMETERS_TYPE = 0i32;
7531pub const TOKENBINDING_KEY_PARAMETERS_TYPE_RSA2048_PSS: TOKENBINDING_KEY_PARAMETERS_TYPE = 1i32;
7532pub const TOKENBINDING_KEY_PARAMETERS_TYPE_ECDSAP256: TOKENBINDING_KEY_PARAMETERS_TYPE = 2i32;
7533pub const TOKENBINDING_KEY_PARAMETERS_TYPE_ANYEXISTING: TOKENBINDING_KEY_PARAMETERS_TYPE = 255i32;
7534#[repr(C)]
7535pub struct TOKENBINDING_KEY_TYPES {
7536 pub keyCount: u32,
7537 pub keyType: *mut TOKENBINDING_KEY_PARAMETERS_TYPE,
7538}
7539impl ::core::marker::Copy for TOKENBINDING_KEY_TYPES {}
7540impl ::core::clone::Clone for TOKENBINDING_KEY_TYPES {
7541 fn clone(&self) -> Self {
7542 *self
7543 }
7544}
7545#[repr(C)]
7546pub struct TOKENBINDING_RESULT_DATA {
7547 pub bindingType: TOKENBINDING_TYPE,
7548 pub identifierSize: u32,
7549 pub identifierData: *mut TOKENBINDING_IDENTIFIER,
7550 pub extensionFormat: TOKENBINDING_EXTENSION_FORMAT,
7551 pub extensionSize: u32,
7552 pub extensionData: *mut ::core::ffi::c_void,
7553}
7554impl ::core::marker::Copy for TOKENBINDING_RESULT_DATA {}
7555impl ::core::clone::Clone for TOKENBINDING_RESULT_DATA {
7556 fn clone(&self) -> Self {
7557 *self
7558 }
7559}
7560#[repr(C)]
7561pub struct TOKENBINDING_RESULT_LIST {
7562 pub resultCount: u32,
7563 pub resultData: *mut TOKENBINDING_RESULT_DATA,
7564}
7565impl ::core::marker::Copy for TOKENBINDING_RESULT_LIST {}
7566impl ::core::clone::Clone for TOKENBINDING_RESULT_LIST {
7567 fn clone(&self) -> Self {
7568 *self
7569 }
7570}
7571pub type TOKENBINDING_TYPE = i32;
7572pub const TOKENBINDING_TYPE_PROVIDED: TOKENBINDING_TYPE = 0i32;
7573pub const TOKENBINDING_TYPE_REFERRED: TOKENBINDING_TYPE = 1i32;
7574#[repr(C)]
7575#[cfg(feature = "Win32_Foundation")]
7576pub struct TRUSTED_CONTROLLERS_INFO {
7577 pub Entries: u32,
7578 pub Names: *mut super::super::super::Foundation::UNICODE_STRING,
7579}
7580#[cfg(feature = "Win32_Foundation")]
7581impl ::core::marker::Copy for TRUSTED_CONTROLLERS_INFO {}
7582#[cfg(feature = "Win32_Foundation")]
7583impl ::core::clone::Clone for TRUSTED_CONTROLLERS_INFO {
7584 fn clone(&self) -> Self {
7585 *self
7586 }
7587}
7588#[repr(C)]
7589pub struct TRUSTED_DOMAIN_AUTH_INFORMATION {
7590 pub IncomingAuthInfos: u32,
7591 pub IncomingAuthenticationInformation: *mut LSA_AUTH_INFORMATION,
7592 pub IncomingPreviousAuthenticationInformation: *mut LSA_AUTH_INFORMATION,
7593 pub OutgoingAuthInfos: u32,
7594 pub OutgoingAuthenticationInformation: *mut LSA_AUTH_INFORMATION,
7595 pub OutgoingPreviousAuthenticationInformation: *mut LSA_AUTH_INFORMATION,
7596}
7597impl ::core::marker::Copy for TRUSTED_DOMAIN_AUTH_INFORMATION {}
7598impl ::core::clone::Clone for TRUSTED_DOMAIN_AUTH_INFORMATION {
7599 fn clone(&self) -> Self {
7600 *self
7601 }
7602}
7603#[repr(C)]
7604#[cfg(feature = "Win32_Foundation")]
7605pub struct TRUSTED_DOMAIN_FULL_INFORMATION {
7606 pub Information: TRUSTED_DOMAIN_INFORMATION_EX,
7607 pub PosixOffset: TRUSTED_POSIX_OFFSET_INFO,
7608 pub AuthInformation: TRUSTED_DOMAIN_AUTH_INFORMATION,
7609}
7610#[cfg(feature = "Win32_Foundation")]
7611impl ::core::marker::Copy for TRUSTED_DOMAIN_FULL_INFORMATION {}
7612#[cfg(feature = "Win32_Foundation")]
7613impl ::core::clone::Clone for TRUSTED_DOMAIN_FULL_INFORMATION {
7614 fn clone(&self) -> Self {
7615 *self
7616 }
7617}
7618#[repr(C)]
7619#[cfg(feature = "Win32_Foundation")]
7620pub struct TRUSTED_DOMAIN_FULL_INFORMATION2 {
7621 pub Information: TRUSTED_DOMAIN_INFORMATION_EX2,
7622 pub PosixOffset: TRUSTED_POSIX_OFFSET_INFO,
7623 pub AuthInformation: TRUSTED_DOMAIN_AUTH_INFORMATION,
7624}
7625#[cfg(feature = "Win32_Foundation")]
7626impl ::core::marker::Copy for TRUSTED_DOMAIN_FULL_INFORMATION2 {}
7627#[cfg(feature = "Win32_Foundation")]
7628impl ::core::clone::Clone for TRUSTED_DOMAIN_FULL_INFORMATION2 {
7629 fn clone(&self) -> Self {
7630 *self
7631 }
7632}
7633#[repr(C)]
7634#[cfg(feature = "Win32_Foundation")]
7635pub struct TRUSTED_DOMAIN_INFORMATION_EX {
7636 pub Name: super::super::super::Foundation::UNICODE_STRING,
7637 pub FlatName: super::super::super::Foundation::UNICODE_STRING,
7638 pub Sid: super::super::super::Foundation::PSID,
7639 pub TrustDirection: TRUSTED_DOMAIN_TRUST_DIRECTION,
7640 pub TrustType: TRUSTED_DOMAIN_TRUST_TYPE,
7641 pub TrustAttributes: TRUSTED_DOMAIN_TRUST_ATTRIBUTES,
7642}
7643#[cfg(feature = "Win32_Foundation")]
7644impl ::core::marker::Copy for TRUSTED_DOMAIN_INFORMATION_EX {}
7645#[cfg(feature = "Win32_Foundation")]
7646impl ::core::clone::Clone for TRUSTED_DOMAIN_INFORMATION_EX {
7647 fn clone(&self) -> Self {
7648 *self
7649 }
7650}
7651#[repr(C)]
7652#[cfg(feature = "Win32_Foundation")]
7653pub struct TRUSTED_DOMAIN_INFORMATION_EX2 {
7654 pub Name: super::super::super::Foundation::UNICODE_STRING,
7655 pub FlatName: super::super::super::Foundation::UNICODE_STRING,
7656 pub Sid: super::super::super::Foundation::PSID,
7657 pub TrustDirection: u32,
7658 pub TrustType: u32,
7659 pub TrustAttributes: u32,
7660 pub ForestTrustLength: u32,
7661 pub ForestTrustInfo: *mut u8,
7662}
7663#[cfg(feature = "Win32_Foundation")]
7664impl ::core::marker::Copy for TRUSTED_DOMAIN_INFORMATION_EX2 {}
7665#[cfg(feature = "Win32_Foundation")]
7666impl ::core::clone::Clone for TRUSTED_DOMAIN_INFORMATION_EX2 {
7667 fn clone(&self) -> Self {
7668 *self
7669 }
7670}
7671#[repr(C)]
7672#[cfg(feature = "Win32_Foundation")]
7673pub struct TRUSTED_DOMAIN_NAME_INFO {
7674 pub Name: super::super::super::Foundation::UNICODE_STRING,
7675}
7676#[cfg(feature = "Win32_Foundation")]
7677impl ::core::marker::Copy for TRUSTED_DOMAIN_NAME_INFO {}
7678#[cfg(feature = "Win32_Foundation")]
7679impl ::core::clone::Clone for TRUSTED_DOMAIN_NAME_INFO {
7680 fn clone(&self) -> Self {
7681 *self
7682 }
7683}
7684#[repr(C)]
7685pub struct TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES {
7686 pub SupportedEncryptionTypes: u32,
7687}
7688impl ::core::marker::Copy for TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES {}
7689impl ::core::clone::Clone for TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES {
7690 fn clone(&self) -> Self {
7691 *self
7692 }
7693}
7694pub type TRUSTED_DOMAIN_TRUST_ATTRIBUTES = u32;
7695pub const TRUST_ATTRIBUTE_NON_TRANSITIVE: TRUSTED_DOMAIN_TRUST_ATTRIBUTES = 1u32;
7696pub const TRUST_ATTRIBUTE_UPLEVEL_ONLY: TRUSTED_DOMAIN_TRUST_ATTRIBUTES = 2u32;
7697pub const TRUST_ATTRIBUTE_FILTER_SIDS: TRUSTED_DOMAIN_TRUST_ATTRIBUTES = 4u32;
7698pub const TRUST_ATTRIBUTE_FOREST_TRANSITIVE: TRUSTED_DOMAIN_TRUST_ATTRIBUTES = 8u32;
7699pub const TRUST_ATTRIBUTE_CROSS_ORGANIZATION: TRUSTED_DOMAIN_TRUST_ATTRIBUTES = 16u32;
7700pub const TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL: TRUSTED_DOMAIN_TRUST_ATTRIBUTES = 64u32;
7701pub const TRUST_ATTRIBUTE_WITHIN_FOREST: TRUSTED_DOMAIN_TRUST_ATTRIBUTES = 32u32;
7702pub type TRUSTED_DOMAIN_TRUST_DIRECTION = u32;
7703pub const TRUST_DIRECTION_DISABLED: TRUSTED_DOMAIN_TRUST_DIRECTION = 0u32;
7704pub const TRUST_DIRECTION_INBOUND: TRUSTED_DOMAIN_TRUST_DIRECTION = 1u32;
7705pub const TRUST_DIRECTION_OUTBOUND: TRUSTED_DOMAIN_TRUST_DIRECTION = 2u32;
7706pub const TRUST_DIRECTION_BIDIRECTIONAL: TRUSTED_DOMAIN_TRUST_DIRECTION = 3u32;
7707pub type TRUSTED_DOMAIN_TRUST_TYPE = u32;
7708pub const TRUST_TYPE_DOWNLEVEL: TRUSTED_DOMAIN_TRUST_TYPE = 1u32;
7709pub const TRUST_TYPE_UPLEVEL: TRUSTED_DOMAIN_TRUST_TYPE = 2u32;
7710pub const TRUST_TYPE_MIT: TRUSTED_DOMAIN_TRUST_TYPE = 3u32;
7711pub const TRUST_TYPE_DCE: TRUSTED_DOMAIN_TRUST_TYPE = 4u32;
7712pub type TRUSTED_INFORMATION_CLASS = i32;
7713pub const TrustedDomainNameInformation: TRUSTED_INFORMATION_CLASS = 1i32;
7714pub const TrustedControllersInformation: TRUSTED_INFORMATION_CLASS = 2i32;
7715pub const TrustedPosixOffsetInformation: TRUSTED_INFORMATION_CLASS = 3i32;
7716pub const TrustedPasswordInformation: TRUSTED_INFORMATION_CLASS = 4i32;
7717pub const TrustedDomainInformationBasic: TRUSTED_INFORMATION_CLASS = 5i32;
7718pub const TrustedDomainInformationEx: TRUSTED_INFORMATION_CLASS = 6i32;
7719pub const TrustedDomainAuthInformation: TRUSTED_INFORMATION_CLASS = 7i32;
7720pub const TrustedDomainFullInformation: TRUSTED_INFORMATION_CLASS = 8i32;
7721pub const TrustedDomainAuthInformationInternal: TRUSTED_INFORMATION_CLASS = 9i32;
7722pub const TrustedDomainFullInformationInternal: TRUSTED_INFORMATION_CLASS = 10i32;
7723pub const TrustedDomainInformationEx2Internal: TRUSTED_INFORMATION_CLASS = 11i32;
7724pub const TrustedDomainFullInformation2Internal: TRUSTED_INFORMATION_CLASS = 12i32;
7725pub const TrustedDomainSupportedEncryptionTypes: TRUSTED_INFORMATION_CLASS = 13i32;
7726#[repr(C)]
7727#[cfg(feature = "Win32_Foundation")]
7728pub struct TRUSTED_PASSWORD_INFO {
7729 pub Password: super::super::super::Foundation::UNICODE_STRING,
7730 pub OldPassword: super::super::super::Foundation::UNICODE_STRING,
7731}
7732#[cfg(feature = "Win32_Foundation")]
7733impl ::core::marker::Copy for TRUSTED_PASSWORD_INFO {}
7734#[cfg(feature = "Win32_Foundation")]
7735impl ::core::clone::Clone for TRUSTED_PASSWORD_INFO {
7736 fn clone(&self) -> Self {
7737 *self
7738 }
7739}
7740#[repr(C)]
7741pub struct TRUSTED_POSIX_OFFSET_INFO {
7742 pub Offset: u32,
7743}
7744impl ::core::marker::Copy for TRUSTED_POSIX_OFFSET_INFO {}
7745impl ::core::clone::Clone for TRUSTED_POSIX_OFFSET_INFO {
7746 fn clone(&self) -> Self {
7747 *self
7748 }
7749}
7750pub const TRUSTED_QUERY_AUTH: i32 = 64i32;
7751pub const TRUSTED_QUERY_CONTROLLERS: i32 = 2i32;
7752pub const TRUSTED_QUERY_DOMAIN_NAME: i32 = 1i32;
7753pub const TRUSTED_QUERY_POSIX: i32 = 8i32;
7754pub const TRUSTED_SET_AUTH: i32 = 32i32;
7755pub const TRUSTED_SET_CONTROLLERS: i32 = 4i32;
7756pub const TRUSTED_SET_POSIX: i32 = 16i32;
7757pub const TRUST_ATTRIBUTES_USER: u32 = 4278190080u32;
7758pub const TRUST_ATTRIBUTES_VALID: u32 = 4278386687u32;
7759pub const TRUST_ATTRIBUTE_CROSS_ORGANIZATION_ENABLE_TGT_DELEGATION: u32 = 2048u32;
7760pub const TRUST_ATTRIBUTE_CROSS_ORGANIZATION_NO_TGT_DELEGATION: u32 = 512u32;
7761pub const TRUST_ATTRIBUTE_PIM_TRUST: u32 = 1024u32;
7762pub const TRUST_ATTRIBUTE_QUARANTINED_DOMAIN: u32 = 4u32;
7763pub const TRUST_ATTRIBUTE_TREE_PARENT: u32 = 4194304u32;
7764pub const TRUST_ATTRIBUTE_TREE_ROOT: u32 = 8388608u32;
7765pub const TRUST_ATTRIBUTE_TRUST_USES_AES_KEYS: u32 = 256u32;
7766pub const TRUST_ATTRIBUTE_TRUST_USES_RC4_ENCRYPTION: u32 = 128u32;
7767pub const UNDERSTANDS_LONG_NAMES: u32 = 1u32;
7768pub const UNISP_RPC_ID: u32 = 14u32;
7769pub const USER_ACCOUNT_AUTO_LOCKED: u32 = 1024u32;
7770pub const USER_ACCOUNT_DISABLED: u32 = 1u32;
7771#[repr(C, packed(4))]
7772#[cfg(feature = "Win32_Foundation")]
7773pub struct USER_ALL_INFORMATION {
7774 pub LastLogon: i64,
7775 pub LastLogoff: i64,
7776 pub PasswordLastSet: i64,
7777 pub AccountExpires: i64,
7778 pub PasswordCanChange: i64,
7779 pub PasswordMustChange: i64,
7780 pub UserName: super::super::super::Foundation::UNICODE_STRING,
7781 pub FullName: super::super::super::Foundation::UNICODE_STRING,
7782 pub HomeDirectory: super::super::super::Foundation::UNICODE_STRING,
7783 pub HomeDirectoryDrive: super::super::super::Foundation::UNICODE_STRING,
7784 pub ScriptPath: super::super::super::Foundation::UNICODE_STRING,
7785 pub ProfilePath: super::super::super::Foundation::UNICODE_STRING,
7786 pub AdminComment: super::super::super::Foundation::UNICODE_STRING,
7787 pub WorkStations: super::super::super::Foundation::UNICODE_STRING,
7788 pub UserComment: super::super::super::Foundation::UNICODE_STRING,
7789 pub Parameters: super::super::super::Foundation::UNICODE_STRING,
7790 pub LmPassword: super::super::super::Foundation::UNICODE_STRING,
7791 pub NtPassword: super::super::super::Foundation::UNICODE_STRING,
7792 pub PrivateData: super::super::super::Foundation::UNICODE_STRING,
7793 pub SecurityDescriptor: SR_SECURITY_DESCRIPTOR,
7794 pub UserId: u32,
7795 pub PrimaryGroupId: u32,
7796 pub UserAccountControl: u32,
7797 pub WhichFields: u32,
7798 pub LogonHours: LOGON_HOURS,
7799 pub BadPasswordCount: u16,
7800 pub LogonCount: u16,
7801 pub CountryCode: u16,
7802 pub CodePage: u16,
7803 pub LmPasswordPresent: super::super::super::Foundation::BOOLEAN,
7804 pub NtPasswordPresent: super::super::super::Foundation::BOOLEAN,
7805 pub PasswordExpired: super::super::super::Foundation::BOOLEAN,
7806 pub PrivateDataSensitive: super::super::super::Foundation::BOOLEAN,
7807}
7808#[cfg(feature = "Win32_Foundation")]
7809impl ::core::marker::Copy for USER_ALL_INFORMATION {}
7810#[cfg(feature = "Win32_Foundation")]
7811impl ::core::clone::Clone for USER_ALL_INFORMATION {
7812 fn clone(&self) -> Self {
7813 *self
7814 }
7815}
7816pub const USER_ALL_PARAMETERS: u32 = 2097152u32;
7817pub const USER_DONT_EXPIRE_PASSWORD: u32 = 512u32;
7818pub const USER_DONT_REQUIRE_PREAUTH: u32 = 65536u32;
7819pub const USER_ENCRYPTED_TEXT_PASSWORD_ALLOWED: u32 = 2048u32;
7820pub const USER_HOME_DIRECTORY_REQUIRED: u32 = 2u32;
7821pub const USER_INTERDOMAIN_TRUST_ACCOUNT: u32 = 64u32;
7822pub const USER_MNS_LOGON_ACCOUNT: u32 = 32u32;
7823pub const USER_NORMAL_ACCOUNT: u32 = 16u32;
7824pub const USER_NOT_DELEGATED: u32 = 16384u32;
7825pub const USER_NO_AUTH_DATA_REQUIRED: u32 = 524288u32;
7826pub const USER_PARTIAL_SECRETS_ACCOUNT: u32 = 1048576u32;
7827pub const USER_PASSWORD_EXPIRED: u32 = 131072u32;
7828pub const USER_PASSWORD_NOT_REQUIRED: u32 = 4u32;
7829pub const USER_SERVER_TRUST_ACCOUNT: u32 = 256u32;
7830#[repr(C)]
7831#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
7832pub struct USER_SESSION_KEY {
7833 pub data: [super::super::super::System::PasswordManagement::CYPHER_BLOCK; 2],
7834}
7835#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
7836impl ::core::marker::Copy for USER_SESSION_KEY {}
7837#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
7838impl ::core::clone::Clone for USER_SESSION_KEY {
7839 fn clone(&self) -> Self {
7840 *self
7841 }
7842}
7843pub const USER_SMARTCARD_REQUIRED: u32 = 4096u32;
7844pub const USER_TEMP_DUPLICATE_ACCOUNT: u32 = 8u32;
7845pub const USER_TRUSTED_FOR_DELEGATION: u32 = 8192u32;
7846pub const USER_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION: u32 = 262144u32;
7847pub const USER_USE_AES_KEYS: u32 = 2097152u32;
7848pub const USER_USE_DES_KEY_ONLY: u32 = 32768u32;
7849pub const USER_WORKSTATION_TRUST_ACCOUNT: u32 = 128u32;
7850#[cfg(feature = "Win32_Security_Credentials")]
7851pub type VERIFY_SIGNATURE_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: *mut SecBufferDesc, param2: u32, param3: *mut u32) -> i32;
7852pub const WINDOWS_SLID: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1439246132, data2: 54914, data3: 19825, data4: [152, 62, 214, 236, 63, 22, 5, 159] };
7853#[repr(C)]
7854#[cfg(feature = "Win32_Foundation")]
7855pub struct X509Certificate {
7856 pub Version: u32,
7857 pub SerialNumber: [u32; 4],
7858 pub SignatureAlgorithm: u32,
7859 pub ValidFrom: super::super::super::Foundation::FILETIME,
7860 pub ValidUntil: super::super::super::Foundation::FILETIME,
7861 pub pszIssuer: super::super::super::Foundation::PSTR,
7862 pub pszSubject: super::super::super::Foundation::PSTR,
7863 pub pPublicKey: *mut PctPublicKey,
7864}
7865#[cfg(feature = "Win32_Foundation")]
7866impl ::core::marker::Copy for X509Certificate {}
7867#[cfg(feature = "Win32_Foundation")]
7868impl ::core::clone::Clone for X509Certificate {
7869 fn clone(&self) -> Self {
7870 *self
7871 }
7872}
7873pub const _FACILITY_WINDOWS_STORE: u32 = 63u32;
7874#[repr(C)]
7875pub struct _HMAPPER(pub u8);
7876pub type eTlsHashAlgorithm = i32;
7877pub const TlsHashAlgorithm_None: eTlsHashAlgorithm = 0i32;
7878pub const TlsHashAlgorithm_Md5: eTlsHashAlgorithm = 1i32;
7879pub const TlsHashAlgorithm_Sha1: eTlsHashAlgorithm = 2i32;
7880pub const TlsHashAlgorithm_Sha224: eTlsHashAlgorithm = 3i32;
7881pub const TlsHashAlgorithm_Sha256: eTlsHashAlgorithm = 4i32;
7882pub const TlsHashAlgorithm_Sha384: eTlsHashAlgorithm = 5i32;
7883pub const TlsHashAlgorithm_Sha512: eTlsHashAlgorithm = 6i32;
7884pub type eTlsSignatureAlgorithm = i32;
7885pub const TlsSignatureAlgorithm_Anonymous: eTlsSignatureAlgorithm = 0i32;
7886pub const TlsSignatureAlgorithm_Rsa: eTlsSignatureAlgorithm = 1i32;
7887pub const TlsSignatureAlgorithm_Dsa: eTlsSignatureAlgorithm = 2i32;
7888pub const TlsSignatureAlgorithm_Ecdsa: eTlsSignatureAlgorithm = 3i32;