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")]
3 pub mod Provider;
4 #[link(name = "windows")]
5 extern "system" {
6     #[cfg(feature = "Win32_Security_Credentials")]
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) -> i327     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"))]
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) -> i329     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"))]
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) -> i3211     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"))]
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) -> i3213     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"))]
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) -> i3215     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")]
AddSecurityPackageA(pszpackagename: super::super::super::Foundation::PSTR, poptions: *const SECURITY_PACKAGE_OPTIONS) -> i3217     pub fn AddSecurityPackageA(pszpackagename: super::super::super::Foundation::PSTR, poptions: *const SECURITY_PACKAGE_OPTIONS) -> i32;
18     #[cfg(feature = "Win32_Foundation")]
AddSecurityPackageW(pszpackagename: super::super::super::Foundation::PWSTR, poptions: *const SECURITY_PACKAGE_OPTIONS) -> i3219     pub fn AddSecurityPackageW(pszpackagename: super::super::super::Foundation::PWSTR, poptions: *const SECURITY_PACKAGE_OPTIONS) -> i32;
20     #[cfg(feature = "Win32_Security_Credentials")]
ApplyControlToken(phcontext: *const super::super::Credentials::SecHandle, pinput: *const SecBufferDesc) -> i3221     pub fn ApplyControlToken(phcontext: *const super::super::Credentials::SecHandle, pinput: *const SecBufferDesc) -> i32;
22     #[cfg(feature = "Win32_Foundation")]
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::BOOLEAN23     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")]
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::BOOLEAN25     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")]
AuditEnumerateCategories(ppauditcategoriesarray: *mut *mut ::windows_sys::core::GUID, pdwcountreturned: *mut u32) -> super::super::super::Foundation::BOOLEAN27     pub fn AuditEnumerateCategories(ppauditcategoriesarray: *mut *mut ::windows_sys::core::GUID, pdwcountreturned: *mut u32) -> super::super::super::Foundation::BOOLEAN;
28     #[cfg(feature = "Win32_Foundation")]
AuditEnumeratePerUserPolicy(ppauditsidarray: *mut *mut POLICY_AUDIT_SID_ARRAY) -> super::super::super::Foundation::BOOLEAN29     pub fn AuditEnumeratePerUserPolicy(ppauditsidarray: *mut *mut POLICY_AUDIT_SID_ARRAY) -> super::super::super::Foundation::BOOLEAN;
30     #[cfg(feature = "Win32_Foundation")]
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::BOOLEAN31     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;
AuditFree(buffer: *const ::core::ffi::c_void)32     pub fn AuditFree(buffer: *const ::core::ffi::c_void);
33     #[cfg(feature = "Win32_Foundation")]
AuditLookupCategoryGuidFromCategoryId(auditcategoryid: POLICY_AUDIT_EVENT_TYPE, pauditcategoryguid: *mut ::windows_sys::core::GUID) -> super::super::super::Foundation::BOOLEAN34     pub fn AuditLookupCategoryGuidFromCategoryId(auditcategoryid: POLICY_AUDIT_EVENT_TYPE, pauditcategoryguid: *mut ::windows_sys::core::GUID) -> super::super::super::Foundation::BOOLEAN;
35     #[cfg(feature = "Win32_Foundation")]
AuditLookupCategoryIdFromCategoryGuid(pauditcategoryguid: *const ::windows_sys::core::GUID, pauditcategoryid: *mut POLICY_AUDIT_EVENT_TYPE) -> super::super::super::Foundation::BOOLEAN36     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")]
AuditLookupCategoryNameA(pauditcategoryguid: *const ::windows_sys::core::GUID, ppszcategoryname: *mut super::super::super::Foundation::PSTR) -> super::super::super::Foundation::BOOLEAN38     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")]
AuditLookupCategoryNameW(pauditcategoryguid: *const ::windows_sys::core::GUID, ppszcategoryname: *mut super::super::super::Foundation::PWSTR) -> super::super::super::Foundation::BOOLEAN40     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")]
AuditLookupSubCategoryNameA(pauditsubcategoryguid: *const ::windows_sys::core::GUID, ppszsubcategoryname: *mut super::super::super::Foundation::PSTR) -> super::super::super::Foundation::BOOLEAN42     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")]
AuditLookupSubCategoryNameW(pauditsubcategoryguid: *const ::windows_sys::core::GUID, ppszsubcategoryname: *mut super::super::super::Foundation::PWSTR) -> super::super::super::Foundation::BOOLEAN44     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")]
AuditQueryGlobalSaclA(objecttypename: super::super::super::Foundation::PSTR, acl: *mut *mut super::super::ACL) -> super::super::super::Foundation::BOOLEAN46     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")]
AuditQueryGlobalSaclW(objecttypename: super::super::super::Foundation::PWSTR, acl: *mut *mut super::super::ACL) -> super::super::super::Foundation::BOOLEAN48     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")]
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::BOOLEAN50     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")]
AuditQuerySecurity(securityinformation: u32, ppsecuritydescriptor: *mut *mut super::super::SECURITY_DESCRIPTOR) -> super::super::super::Foundation::BOOLEAN52     pub fn AuditQuerySecurity(securityinformation: u32, ppsecuritydescriptor: *mut *mut super::super::SECURITY_DESCRIPTOR) -> super::super::super::Foundation::BOOLEAN;
53     #[cfg(feature = "Win32_Foundation")]
AuditQuerySystemPolicy(psubcategoryguids: *const ::windows_sys::core::GUID, dwpolicycount: u32, ppauditpolicy: *mut *mut AUDIT_POLICY_INFORMATION) -> super::super::super::Foundation::BOOLEAN54     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")]
AuditSetGlobalSaclA(objecttypename: super::super::super::Foundation::PSTR, acl: *const super::super::ACL) -> super::super::super::Foundation::BOOLEAN56     pub fn AuditSetGlobalSaclA(objecttypename: super::super::super::Foundation::PSTR, acl: *const super::super::ACL) -> super::super::super::Foundation::BOOLEAN;
57     #[cfg(feature = "Win32_Foundation")]
AuditSetGlobalSaclW(objecttypename: super::super::super::Foundation::PWSTR, acl: *const super::super::ACL) -> super::super::super::Foundation::BOOLEAN58     pub fn AuditSetGlobalSaclW(objecttypename: super::super::super::Foundation::PWSTR, acl: *const super::super::ACL) -> super::super::super::Foundation::BOOLEAN;
59     #[cfg(feature = "Win32_Foundation")]
AuditSetPerUserPolicy(psid: super::super::super::Foundation::PSID, pauditpolicy: *const AUDIT_POLICY_INFORMATION, dwpolicycount: u32) -> super::super::super::Foundation::BOOLEAN60     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")]
AuditSetSecurity(securityinformation: u32, psecuritydescriptor: *const super::super::SECURITY_DESCRIPTOR) -> super::super::super::Foundation::BOOLEAN62     pub fn AuditSetSecurity(securityinformation: u32, psecuritydescriptor: *const super::super::SECURITY_DESCRIPTOR) -> super::super::super::Foundation::BOOLEAN;
63     #[cfg(feature = "Win32_Foundation")]
AuditSetSystemPolicy(pauditpolicy: *const AUDIT_POLICY_INFORMATION, dwpolicycount: u32) -> super::super::super::Foundation::BOOLEAN64     pub fn AuditSetSystemPolicy(pauditpolicy: *const AUDIT_POLICY_INFORMATION, dwpolicycount: u32) -> super::super::super::Foundation::BOOLEAN;
65     #[cfg(feature = "Win32_Foundation")]
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) -> i3266     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")]
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) -> i3268     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")]
CompleteAuthToken(phcontext: *const super::super::Credentials::SecHandle, ptoken: *const SecBufferDesc) -> i3270     pub fn CompleteAuthToken(phcontext: *const super::super::Credentials::SecHandle, ptoken: *const SecBufferDesc) -> i32;
71     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
CredMarshalTargetInfo(intargetinfo: *const super::super::Credentials::CREDENTIAL_TARGET_INFORMATIONW, buffer: *mut *mut u16, buffersize: *mut u32) -> super::super::super::Foundation::NTSTATUS72     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"))]
CredUnmarshalTargetInfo(buffer: *const u16, buffersize: u32, rettargetinfo: *mut *mut super::super::Credentials::CREDENTIAL_TARGET_INFORMATIONW, retactualsize: *mut u32) -> super::super::super::Foundation::NTSTATUS74     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")]
DecryptMessage(phcontext: *const super::super::Credentials::SecHandle, pmessage: *const SecBufferDesc, messageseqno: u32, pfqop: *mut u32) -> i3276     pub fn DecryptMessage(phcontext: *const super::super::Credentials::SecHandle, pmessage: *const SecBufferDesc, messageseqno: u32, pfqop: *mut u32) -> i32;
77     #[cfg(feature = "Win32_Security_Credentials")]
DeleteSecurityContext(phcontext: *const super::super::Credentials::SecHandle) -> i3278     pub fn DeleteSecurityContext(phcontext: *const super::super::Credentials::SecHandle) -> i32;
79     #[cfg(feature = "Win32_Foundation")]
DeleteSecurityPackageA(pszpackagename: super::super::super::Foundation::PSTR) -> i3280     pub fn DeleteSecurityPackageA(pszpackagename: super::super::super::Foundation::PSTR) -> i32;
81     #[cfg(feature = "Win32_Foundation")]
DeleteSecurityPackageW(pszpackagename: super::super::super::Foundation::PWSTR) -> i3282     pub fn DeleteSecurityPackageW(pszpackagename: super::super::super::Foundation::PWSTR) -> i32;
83     #[cfg(feature = "Win32_Security_Credentials")]
EncryptMessage(phcontext: *const super::super::Credentials::SecHandle, fqop: u32, pmessage: *const SecBufferDesc, messageseqno: u32) -> i3284     pub fn EncryptMessage(phcontext: *const super::super::Credentials::SecHandle, fqop: u32, pmessage: *const SecBufferDesc, messageseqno: u32) -> i32;
EnumerateSecurityPackagesA(pcpackages: *mut u32, pppackageinfo: *mut *mut SecPkgInfoA) -> i3285     pub fn EnumerateSecurityPackagesA(pcpackages: *mut u32, pppackageinfo: *mut *mut SecPkgInfoA) -> i32;
EnumerateSecurityPackagesW(pcpackages: *mut u32, pppackageinfo: *mut *mut SecPkgInfoW) -> i3286     pub fn EnumerateSecurityPackagesW(pcpackages: *mut u32, pppackageinfo: *mut *mut SecPkgInfoW) -> i32;
87     #[cfg(feature = "Win32_Security_Credentials")]
ExportSecurityContext(phcontext: *const super::super::Credentials::SecHandle, fflags: EXPORT_SECURITY_CONTEXT_FLAGS, ppackedcontext: *mut SecBuffer, ptoken: *mut *mut ::core::ffi::c_void) -> i3288     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;
FreeContextBuffer(pvcontextbuffer: *mut ::core::ffi::c_void) -> i3289     pub fn FreeContextBuffer(pvcontextbuffer: *mut ::core::ffi::c_void) -> i32;
90     #[cfg(feature = "Win32_Security_Credentials")]
FreeCredentialsHandle(phcredential: *const super::super::Credentials::SecHandle) -> i3291     pub fn FreeCredentialsHandle(phcredential: *const super::super::Credentials::SecHandle) -> i32;
92     #[cfg(feature = "Win32_Foundation")]
GetComputerObjectNameA(nameformat: EXTENDED_NAME_FORMAT, lpnamebuffer: super::super::super::Foundation::PSTR, nsize: *mut u32) -> super::super::super::Foundation::BOOLEAN93     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")]
GetComputerObjectNameW(nameformat: EXTENDED_NAME_FORMAT, lpnamebuffer: super::super::super::Foundation::PWSTR, nsize: *mut u32) -> super::super::super::Foundation::BOOLEAN95     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")]
GetUserNameExA(nameformat: EXTENDED_NAME_FORMAT, lpnamebuffer: super::super::super::Foundation::PSTR, nsize: *mut u32) -> super::super::super::Foundation::BOOLEAN97     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")]
GetUserNameExW(nameformat: EXTENDED_NAME_FORMAT, lpnamebuffer: super::super::super::Foundation::PWSTR, nsize: *mut u32) -> super::super::super::Foundation::BOOLEAN99     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")]
ImpersonateSecurityContext(phcontext: *const super::super::Credentials::SecHandle) -> i32101     pub fn ImpersonateSecurityContext(phcontext: *const super::super::Credentials::SecHandle) -> i32;
102     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
ImportSecurityContextA(pszpackage: super::super::super::Foundation::PSTR, ppackedcontext: *const SecBuffer, token: *const ::core::ffi::c_void, phcontext: *mut super::super::Credentials::SecHandle) -> i32103     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"))]
ImportSecurityContextW(pszpackage: super::super::super::Foundation::PWSTR, ppackedcontext: *const SecBuffer, token: *const ::core::ffi::c_void, phcontext: *mut super::super::Credentials::SecHandle) -> i32105     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"))]
InitSecurityInterfaceA() -> *mut SecurityFunctionTableA107     pub fn InitSecurityInterfaceA() -> *mut SecurityFunctionTableA;
108     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
InitSecurityInterfaceW() -> *mut SecurityFunctionTableW109     pub fn InitSecurityInterfaceW() -> *mut SecurityFunctionTableW;
110     #[cfg(feature = "Win32_Security_Credentials")]
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) -> i32111     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")]
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) -> i32113     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")]
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::NTSTATUS115     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")]
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::NTSTATUS117     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")]
LsaClose(objecthandle: *const ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS119     pub fn LsaClose(objecthandle: *const ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
120     #[cfg(feature = "Win32_Foundation")]
LsaConnectUntrusted(lsahandle: *mut super::super::super::Foundation::HANDLE) -> super::super::super::Foundation::NTSTATUS121     pub fn LsaConnectUntrusted(lsahandle: *mut super::super::super::Foundation::HANDLE) -> super::super::super::Foundation::NTSTATUS;
122     #[cfg(feature = "Win32_Foundation")]
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::NTSTATUS123     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")]
LsaDeleteTrustedDomain(policyhandle: *const ::core::ffi::c_void, trusteddomainsid: super::super::super::Foundation::PSID) -> super::super::super::Foundation::NTSTATUS125     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")]
LsaDeregisterLogonProcess(lsahandle: LsaHandle) -> super::super::super::Foundation::NTSTATUS127     pub fn LsaDeregisterLogonProcess(lsahandle: LsaHandle) -> super::super::super::Foundation::NTSTATUS;
128     #[cfg(feature = "Win32_Foundation")]
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::NTSTATUS129     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")]
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::NTSTATUS131     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")]
LsaEnumerateLogonSessions(logonsessioncount: *mut u32, logonsessionlist: *mut *mut super::super::super::Foundation::LUID) -> super::super::super::Foundation::NTSTATUS133     pub fn LsaEnumerateLogonSessions(logonsessioncount: *mut u32, logonsessionlist: *mut *mut super::super::super::Foundation::LUID) -> super::super::super::Foundation::NTSTATUS;
134     #[cfg(feature = "Win32_Foundation")]
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::NTSTATUS135     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")]
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::NTSTATUS137     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")]
LsaFreeMemory(buffer: *const ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS139     pub fn LsaFreeMemory(buffer: *const ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
140     #[cfg(feature = "Win32_Foundation")]
LsaFreeReturnBuffer(buffer: *const ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS141     pub fn LsaFreeReturnBuffer(buffer: *const ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS;
142     #[cfg(feature = "Win32_Foundation")]
LsaGetAppliedCAPIDs(systemname: *const super::super::super::Foundation::UNICODE_STRING, capids: *mut *mut super::super::super::Foundation::PSID, capidcount: *mut u32) -> super::super::super::Foundation::NTSTATUS143     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")]
LsaGetLogonSessionData(logonid: *const super::super::super::Foundation::LUID, pplogonsessiondata: *mut *mut SECURITY_LOGON_SESSION_DATA) -> super::super::super::Foundation::NTSTATUS145     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"))]
LsaLogonUser( lsahandle: super::super::super::Foundation::HANDLE, originname: *const super::super::super::System::Kernel::STRING, logontype: SECURITY_LOGON_TYPE, authenticationpackage: u32, authenticationinformation: *const ::core::ffi::c_void, authenticationinformationlength: u32, localgroups: *const super::super::TOKEN_GROUPS, sourcecontext: *const super::super::TOKEN_SOURCE, profilebuffer: *mut *mut ::core::ffi::c_void, profilebufferlength: *mut u32, logonid: *mut super::super::super::Foundation::LUID, token: *mut super::super::super::Foundation::HANDLE, quotas: *mut super::super::QUOTA_LIMITS, substatus: *mut i32, ) -> super::super::super::Foundation::NTSTATUS147     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"))]
LsaLookupAuthenticationPackage(lsahandle: super::super::super::Foundation::HANDLE, packagename: *const super::super::super::System::Kernel::STRING, authenticationpackage: *mut u32) -> super::super::super::Foundation::NTSTATUS164     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")]
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::NTSTATUS166     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")]
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::NTSTATUS168     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")]
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::NTSTATUS170     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")]
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::NTSTATUS172     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")]
LsaNtStatusToWinError(status: super::super::super::Foundation::NTSTATUS) -> u32174     pub fn LsaNtStatusToWinError(status: super::super::super::Foundation::NTSTATUS) -> u32;
175     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_WindowsProgramming"))]
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::NTSTATUS176     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")]
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::NTSTATUS178     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")]
LsaQueryCAPs(capids: *const super::super::super::Foundation::PSID, capidcount: u32, caps: *mut *mut CENTRAL_ACCESS_POLICY, capcount: *mut u32) -> super::super::super::Foundation::NTSTATUS180     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")]
LsaQueryDomainInformationPolicy(policyhandle: *const ::core::ffi::c_void, informationclass: POLICY_DOMAIN_INFORMATION_CLASS, buffer: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS182     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")]
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::NTSTATUS184     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")]
LsaQueryInformationPolicy(policyhandle: *const ::core::ffi::c_void, informationclass: POLICY_INFORMATION_CLASS, buffer: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS186     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")]
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::NTSTATUS188     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")]
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::NTSTATUS190     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"))]
LsaRegisterLogonProcess(logonprocessname: *const super::super::super::System::Kernel::STRING, lsahandle: *mut LsaHandle, securitymode: *mut u32) -> super::super::super::Foundation::NTSTATUS192     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")]
LsaRegisterPolicyChangeNotification(informationclass: POLICY_NOTIFICATION_INFORMATION_CLASS, notificationeventhandle: super::super::super::Foundation::HANDLE) -> super::super::super::Foundation::NTSTATUS194     pub fn LsaRegisterPolicyChangeNotification(informationclass: POLICY_NOTIFICATION_INFORMATION_CLASS, notificationeventhandle: super::super::super::Foundation::HANDLE) -> super::super::super::Foundation::NTSTATUS;
195     #[cfg(feature = "Win32_Foundation")]
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::NTSTATUS196     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")]
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::NTSTATUS198     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")]
LsaSetCAPs(capdns: *const super::super::super::Foundation::UNICODE_STRING, capdncount: u32, flags: u32) -> super::super::super::Foundation::NTSTATUS200     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")]
LsaSetDomainInformationPolicy(policyhandle: *const ::core::ffi::c_void, informationclass: POLICY_DOMAIN_INFORMATION_CLASS, buffer: *const ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS202     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")]
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::NTSTATUS204     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")]
LsaSetInformationPolicy(policyhandle: *const ::core::ffi::c_void, informationclass: POLICY_INFORMATION_CLASS, buffer: *const ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS206     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")]
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::NTSTATUS208     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")]
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::NTSTATUS210     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")]
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::NTSTATUS212     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")]
LsaUnregisterPolicyChangeNotification(informationclass: POLICY_NOTIFICATION_INFORMATION_CLASS, notificationeventhandle: super::super::super::Foundation::HANDLE) -> super::super::super::Foundation::NTSTATUS214     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")]
MakeSignature(phcontext: *const super::super::Credentials::SecHandle, fqop: u32, pmessage: *const SecBufferDesc, messageseqno: u32) -> i32216     pub fn MakeSignature(phcontext: *const super::super::Credentials::SecHandle, fqop: u32, pmessage: *const SecBufferDesc, messageseqno: u32) -> i32;
217     #[cfg(feature = "Win32_Security_Credentials")]
QueryContextAttributesA(phcontext: *const super::super::Credentials::SecHandle, ulattribute: SECPKG_ATTR, pbuffer: *mut ::core::ffi::c_void) -> i32218     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")]
QueryContextAttributesExA(phcontext: *const super::super::Credentials::SecHandle, ulattribute: SECPKG_ATTR, pbuffer: *mut ::core::ffi::c_void, cbbuffer: u32) -> i32220     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")]
QueryContextAttributesExW(phcontext: *const super::super::Credentials::SecHandle, ulattribute: SECPKG_ATTR, pbuffer: *mut ::core::ffi::c_void, cbbuffer: u32) -> i32222     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")]
QueryContextAttributesW(phcontext: *const super::super::Credentials::SecHandle, ulattribute: SECPKG_ATTR, pbuffer: *mut ::core::ffi::c_void) -> i32224     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")]
QueryCredentialsAttributesA(phcredential: *const super::super::Credentials::SecHandle, ulattribute: u32, pbuffer: *mut ::core::ffi::c_void) -> i32226     pub fn QueryCredentialsAttributesA(phcredential: *const super::super::Credentials::SecHandle, ulattribute: u32, pbuffer: *mut ::core::ffi::c_void) -> i32;
227     #[cfg(feature = "Win32_Security_Credentials")]
QueryCredentialsAttributesExA(phcredential: *const super::super::Credentials::SecHandle, ulattribute: u32, pbuffer: *mut ::core::ffi::c_void, cbbuffer: u32) -> i32228     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")]
QueryCredentialsAttributesExW(phcredential: *const super::super::Credentials::SecHandle, ulattribute: u32, pbuffer: *mut ::core::ffi::c_void, cbbuffer: u32) -> i32230     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")]
QueryCredentialsAttributesW(phcredential: *const super::super::Credentials::SecHandle, ulattribute: u32, pbuffer: *mut ::core::ffi::c_void) -> i32232     pub fn QueryCredentialsAttributesW(phcredential: *const super::super::Credentials::SecHandle, ulattribute: u32, pbuffer: *mut ::core::ffi::c_void) -> i32;
233     #[cfg(feature = "Win32_Security_Credentials")]
QuerySecurityContextToken(phcontext: *const super::super::Credentials::SecHandle, token: *mut *mut ::core::ffi::c_void) -> i32234     pub fn QuerySecurityContextToken(phcontext: *const super::super::Credentials::SecHandle, token: *mut *mut ::core::ffi::c_void) -> i32;
235     #[cfg(feature = "Win32_Foundation")]
QuerySecurityPackageInfoA(pszpackagename: super::super::super::Foundation::PSTR, pppackageinfo: *mut *mut SecPkgInfoA) -> i32236     pub fn QuerySecurityPackageInfoA(pszpackagename: super::super::super::Foundation::PSTR, pppackageinfo: *mut *mut SecPkgInfoA) -> i32;
237     #[cfg(feature = "Win32_Foundation")]
QuerySecurityPackageInfoW(pszpackagename: super::super::super::Foundation::PWSTR, pppackageinfo: *mut *mut SecPkgInfoW) -> i32238     pub fn QuerySecurityPackageInfoW(pszpackagename: super::super::super::Foundation::PWSTR, pppackageinfo: *mut *mut SecPkgInfoW) -> i32;
239     #[cfg(feature = "Win32_Security_Credentials")]
RevertSecurityContext(phcontext: *const super::super::Credentials::SecHandle) -> i32240     pub fn RevertSecurityContext(phcontext: *const super::super::Credentials::SecHandle) -> i32;
241     #[cfg(feature = "Win32_Foundation")]
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::HRESULT242     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")]
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::HRESULT244     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;
SLClose(hslc: *const ::core::ffi::c_void) -> ::windows_sys::core::HRESULT245     pub fn SLClose(hslc: *const ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
246     #[cfg(feature = "Win32_Foundation")]
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::HRESULT247     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")]
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::HRESULT249     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")]
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::HRESULT251     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")]
SLFireEvent(hslc: *const ::core::ffi::c_void, pwszeventid: super::super::super::Foundation::PWSTR, papplicationid: *const ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT253     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")]
SLGenerateOfflineInstallationId(hslc: *const ::core::ffi::c_void, pproductskuid: *const ::windows_sys::core::GUID, ppwszinstallationid: *mut super::super::super::Foundation::PWSTR) -> ::windows_sys::core::HRESULT255     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")]
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::HRESULT257     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")]
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::HRESULT259     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")]
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::HRESULT261     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;
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::HRESULT262     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;
SLGetLicense(hslc: *const ::core::ffi::c_void, plicensefileid: *const ::windows_sys::core::GUID, pcblicensefile: *mut u32, ppblicensefile: *mut *mut u8) -> ::windows_sys::core::HRESULT263     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;
SLGetLicenseFileId(hslc: *const ::core::ffi::c_void, cblicenseblob: u32, pblicenseblob: *const u8, plicensefileid: *mut ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT264     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")]
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::HRESULT266     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")]
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::HRESULT268     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")]
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::HRESULT270     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")]
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::HRESULT272     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")]
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::HRESULT274     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")]
SLGetPolicyInformationDWORD(hslc: *const ::core::ffi::c_void, pwszvaluename: super::super::super::Foundation::PWSTR, pdwvalue: *mut u32) -> ::windows_sys::core::HRESULT276     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")]
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::HRESULT278     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")]
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::HRESULT280     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;
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::HRESULT281     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")]
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::HRESULT283     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")]
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::HRESULT285     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")]
SLGetWindowsInformation(pwszvaluename: super::super::super::Foundation::PWSTR, pedatatype: *mut SLDATATYPE, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows_sys::core::HRESULT287     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")]
SLGetWindowsInformationDWORD(pwszvaluename: super::super::super::Foundation::PWSTR, pdwvalue: *mut u32) -> ::windows_sys::core::HRESULT289     pub fn SLGetWindowsInformationDWORD(pwszvaluename: super::super::super::Foundation::PWSTR, pdwvalue: *mut u32) -> ::windows_sys::core::HRESULT;
SLInstallLicense(hslc: *const ::core::ffi::c_void, cblicenseblob: u32, pblicenseblob: *const u8, plicensefileid: *mut ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT290     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")]
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::HRESULT292     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;
SLIsGenuineLocal(pappid: *const ::windows_sys::core::GUID, pgenuinestate: *mut SL_GENUINE_STATE, puioptions: *mut SL_NONGENUINE_UI_OPTIONS) -> ::windows_sys::core::HRESULT293     pub fn SLIsGenuineLocal(pappid: *const ::windows_sys::core::GUID, pgenuinestate: *mut SL_GENUINE_STATE, puioptions: *mut SL_NONGENUINE_UI_OPTIONS) -> ::windows_sys::core::HRESULT;
SLOpen(phslc: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT294     pub fn SLOpen(phslc: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
295     #[cfg(feature = "Win32_Foundation")]
SLQueryLicenseValueFromApp(valuename: super::super::super::Foundation::PWSTR, valuetype: *mut u32, databuffer: *mut ::core::ffi::c_void, datasize: u32, resultdatasize: *mut u32) -> ::windows_sys::core::HRESULT296     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")]
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::HRESULT298     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;
SLSetCurrentProductKey(hslc: *const ::core::ffi::c_void, pproductskuid: *const ::windows_sys::core::GUID, pproductkeyid: *const ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT299     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")]
SLSetGenuineInformation(pqueryid: *const ::windows_sys::core::GUID, pwszvaluename: super::super::super::Foundation::PWSTR, edatatype: SLDATATYPE, cbvalue: u32, pbvalue: *const u8) -> ::windows_sys::core::HRESULT301     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;
SLUninstallLicense(hslc: *const ::core::ffi::c_void, plicensefileid: *const ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT302     pub fn SLUninstallLicense(hslc: *const ::core::ffi::c_void, plicensefileid: *const ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT;
SLUninstallProofOfPurchase(hslc: *const ::core::ffi::c_void, ppkeyid: *const ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT303     pub fn SLUninstallProofOfPurchase(hslc: *const ::core::ffi::c_void, ppkeyid: *const ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT;
304     #[cfg(feature = "Win32_Foundation")]
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::HRESULT305     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")]
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) -> i32307     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")]
SaslEnumerateProfilesA(profilelist: *mut super::super::super::Foundation::PSTR, profilecount: *mut u32) -> i32309     pub fn SaslEnumerateProfilesA(profilelist: *mut super::super::super::Foundation::PSTR, profilecount: *mut u32) -> i32;
310     #[cfg(feature = "Win32_Foundation")]
SaslEnumerateProfilesW(profilelist: *mut super::super::super::Foundation::PWSTR, profilecount: *mut u32) -> i32311     pub fn SaslEnumerateProfilesW(profilelist: *mut super::super::super::Foundation::PWSTR, profilecount: *mut u32) -> i32;
312     #[cfg(feature = "Win32_Security_Credentials")]
SaslGetContextOption(contexthandle: *const super::super::Credentials::SecHandle, option: u32, value: *mut ::core::ffi::c_void, size: u32, needed: *mut u32) -> i32313     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")]
SaslGetProfilePackageA(profilename: super::super::super::Foundation::PSTR, packageinfo: *mut *mut SecPkgInfoA) -> i32315     pub fn SaslGetProfilePackageA(profilename: super::super::super::Foundation::PSTR, packageinfo: *mut *mut SecPkgInfoA) -> i32;
316     #[cfg(feature = "Win32_Foundation")]
SaslGetProfilePackageW(profilename: super::super::super::Foundation::PWSTR, packageinfo: *mut *mut SecPkgInfoW) -> i32317     pub fn SaslGetProfilePackageW(profilename: super::super::super::Foundation::PWSTR, packageinfo: *mut *mut SecPkgInfoW) -> i32;
SaslIdentifyPackageA(pinput: *const SecBufferDesc, packageinfo: *mut *mut SecPkgInfoA) -> i32318     pub fn SaslIdentifyPackageA(pinput: *const SecBufferDesc, packageinfo: *mut *mut SecPkgInfoA) -> i32;
SaslIdentifyPackageW(pinput: *const SecBufferDesc, packageinfo: *mut *mut SecPkgInfoW) -> i32319     pub fn SaslIdentifyPackageW(pinput: *const SecBufferDesc, packageinfo: *mut *mut SecPkgInfoW) -> i32;
320     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
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) -> i32321     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"))]
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) -> i32323     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")]
SaslSetContextOption(contexthandle: *const super::super::Credentials::SecHandle, option: u32, value: *const ::core::ffi::c_void, size: u32) -> i32325     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")]
SetContextAttributesA(phcontext: *const super::super::Credentials::SecHandle, ulattribute: SECPKG_ATTR, pbuffer: *const ::core::ffi::c_void, cbbuffer: u32) -> i32327     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")]
SetContextAttributesW(phcontext: *const super::super::Credentials::SecHandle, ulattribute: SECPKG_ATTR, pbuffer: *const ::core::ffi::c_void, cbbuffer: u32) -> i32329     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")]
SetCredentialsAttributesA(phcredential: *const super::super::Credentials::SecHandle, ulattribute: u32, pbuffer: *const ::core::ffi::c_void, cbbuffer: u32) -> i32331     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")]
SetCredentialsAttributesW(phcredential: *const super::super::Credentials::SecHandle, ulattribute: u32, pbuffer: *const ::core::ffi::c_void, cbbuffer: u32) -> i32333     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")]
SslCrackCertificate(pbcertificate: *mut u8, cbcertificate: u32, dwflags: u32, ppcertificate: *mut *mut X509Certificate) -> super::super::super::Foundation::BOOL335     pub fn SslCrackCertificate(pbcertificate: *mut u8, cbcertificate: u32, dwflags: u32, ppcertificate: *mut *mut X509Certificate) -> super::super::super::Foundation::BOOL;
336     #[cfg(feature = "Win32_Foundation")]
SslEmptyCacheA(psztargetname: super::super::super::Foundation::PSTR, dwflags: u32) -> super::super::super::Foundation::BOOL337     pub fn SslEmptyCacheA(psztargetname: super::super::super::Foundation::PSTR, dwflags: u32) -> super::super::super::Foundation::BOOL;
338     #[cfg(feature = "Win32_Foundation")]
SslEmptyCacheW(psztargetname: super::super::super::Foundation::PWSTR, dwflags: u32) -> super::super::super::Foundation::BOOL339     pub fn SslEmptyCacheW(psztargetname: super::super::super::Foundation::PWSTR, dwflags: u32) -> super::super::super::Foundation::BOOL;
340     #[cfg(feature = "Win32_Foundation")]
SslFreeCertificate(pcertificate: *mut X509Certificate)341     pub fn SslFreeCertificate(pcertificate: *mut X509Certificate);
SslGenerateRandomBits(prandomdata: *mut u8, crandomdata: i32)342     pub fn SslGenerateRandomBits(prandomdata: *mut u8, crandomdata: i32);
SslGetExtensions(clienthello: *const u8, clienthellobytesize: u32, genericextensions: *mut SCH_EXTENSION_DATA, genericextensionscount: u8, bytestoread: *mut u32, flags: SchGetExtensionsOptions) -> i32343     pub fn SslGetExtensions(clienthello: *const u8, clienthellobytesize: u32, genericextensions: *mut SCH_EXTENSION_DATA, genericextensionscount: u8, bytestoread: *mut u32, flags: SchGetExtensionsOptions) -> i32;
SslGetMaximumKeySize(reserved: u32) -> u32344     pub fn SslGetMaximumKeySize(reserved: u32) -> u32;
SslGetServerIdentity(clienthello: *const u8, clienthellosize: u32, serveridentity: *mut *mut u8, serveridentitysize: *mut u32, flags: u32) -> i32345     pub fn SslGetServerIdentity(clienthello: *const u8, clienthellosize: u32, serveridentity: *mut *mut u8, serveridentitysize: *mut u32, flags: u32) -> i32;
346     #[cfg(feature = "Win32_Foundation")]
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) -> i32347     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;
SspiCopyAuthIdentity(authdata: *const ::core::ffi::c_void, authdatacopy: *mut *mut ::core::ffi::c_void) -> i32348     pub fn SspiCopyAuthIdentity(authdata: *const ::core::ffi::c_void, authdatacopy: *mut *mut ::core::ffi::c_void) -> i32;
SspiDecryptAuthIdentity(encryptedauthdata: *mut ::core::ffi::c_void) -> i32349     pub fn SspiDecryptAuthIdentity(encryptedauthdata: *mut ::core::ffi::c_void) -> i32;
SspiDecryptAuthIdentityEx(options: u32, encryptedauthdata: *mut ::core::ffi::c_void) -> i32350     pub fn SspiDecryptAuthIdentityEx(options: u32, encryptedauthdata: *mut ::core::ffi::c_void) -> i32;
351     #[cfg(feature = "Win32_Foundation")]
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) -> i32352     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")]
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) -> i32354     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;
SspiEncryptAuthIdentity(authdata: *mut ::core::ffi::c_void) -> i32355     pub fn SspiEncryptAuthIdentity(authdata: *mut ::core::ffi::c_void) -> i32;
SspiEncryptAuthIdentityEx(options: u32, authdata: *mut ::core::ffi::c_void) -> i32356     pub fn SspiEncryptAuthIdentityEx(options: u32, authdata: *mut ::core::ffi::c_void) -> i32;
357     #[cfg(feature = "Win32_Foundation")]
SspiExcludePackage(authidentity: *const ::core::ffi::c_void, pszpackagename: super::super::super::Foundation::PWSTR, ppnewauthidentity: *mut *mut ::core::ffi::c_void) -> i32358     pub fn SspiExcludePackage(authidentity: *const ::core::ffi::c_void, pszpackagename: super::super::super::Foundation::PWSTR, ppnewauthidentity: *mut *mut ::core::ffi::c_void) -> i32;
SspiFreeAuthIdentity(authdata: *const ::core::ffi::c_void)359     pub fn SspiFreeAuthIdentity(authdata: *const ::core::ffi::c_void);
360     #[cfg(feature = "Win32_Foundation")]
SspiGetTargetHostName(psztargetname: super::super::super::Foundation::PWSTR, pszhostname: *mut super::super::super::Foundation::PWSTR) -> i32361     pub fn SspiGetTargetHostName(psztargetname: super::super::super::Foundation::PWSTR, pszhostname: *mut super::super::super::Foundation::PWSTR) -> i32;
362     #[cfg(feature = "Win32_Foundation")]
SspiIsAuthIdentityEncrypted(encryptedauthdata: *const ::core::ffi::c_void) -> super::super::super::Foundation::BOOLEAN363     pub fn SspiIsAuthIdentityEncrypted(encryptedauthdata: *const ::core::ffi::c_void) -> super::super::super::Foundation::BOOLEAN;
364     #[cfg(feature = "Win32_Foundation")]
SspiIsPromptingNeeded(errororntstatus: u32) -> super::super::super::Foundation::BOOLEAN365     pub fn SspiIsPromptingNeeded(errororntstatus: u32) -> super::super::super::Foundation::BOOLEAN;
SspiLocalFree(databuffer: *const ::core::ffi::c_void)366     pub fn SspiLocalFree(databuffer: *const ::core::ffi::c_void);
SspiMarshalAuthIdentity(authidentity: *const ::core::ffi::c_void, authidentitylength: *mut u32, authidentitybytearray: *mut *mut i8) -> i32367     pub fn SspiMarshalAuthIdentity(authidentity: *const ::core::ffi::c_void, authidentitylength: *mut u32, authidentitybytearray: *mut *mut i8) -> i32;
368     #[cfg(feature = "Win32_Foundation")]
SspiPrepareForCredRead(authidentity: *const ::core::ffi::c_void, psztargetname: super::super::super::Foundation::PWSTR, pcredmancredentialtype: *mut u32, ppszcredmantargetname: *mut super::super::super::Foundation::PWSTR) -> i32369     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")]
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) -> i32371     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")]
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) -> u32373     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")]
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) -> u32375     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")]
SspiUnmarshalAuthIdentity(authidentitylength: u32, authidentitybytearray: super::super::super::Foundation::PSTR, ppauthidentity: *mut *mut ::core::ffi::c_void) -> i32377     pub fn SspiUnmarshalAuthIdentity(authidentitylength: u32, authidentitybytearray: super::super::super::Foundation::PSTR, ppauthidentity: *mut *mut ::core::ffi::c_void) -> i32;
SspiValidateAuthIdentity(authdata: *const ::core::ffi::c_void) -> i32378     pub fn SspiValidateAuthIdentity(authdata: *const ::core::ffi::c_void) -> i32;
SspiZeroAuthIdentity(authdata: *const ::core::ffi::c_void)379     pub fn SspiZeroAuthIdentity(authdata: *const ::core::ffi::c_void);
380     #[cfg(feature = "Win32_Foundation")]
SystemFunction036(randombuffer: *mut ::core::ffi::c_void, randombufferlength: u32) -> super::super::super::Foundation::BOOLEAN381     pub fn SystemFunction036(randombuffer: *mut ::core::ffi::c_void, randombufferlength: u32) -> super::super::super::Foundation::BOOLEAN;
382     #[cfg(feature = "Win32_Foundation")]
SystemFunction040(memory: *mut ::core::ffi::c_void, memorysize: u32, optionflags: u32) -> super::super::super::Foundation::NTSTATUS383     pub fn SystemFunction040(memory: *mut ::core::ffi::c_void, memorysize: u32, optionflags: u32) -> super::super::super::Foundation::NTSTATUS;
384     #[cfg(feature = "Win32_Foundation")]
SystemFunction041(memory: *mut ::core::ffi::c_void, memorysize: u32, optionflags: u32) -> super::super::super::Foundation::NTSTATUS385     pub fn SystemFunction041(memory: *mut ::core::ffi::c_void, memorysize: u32, optionflags: u32) -> super::super::super::Foundation::NTSTATUS;
TokenBindingDeleteAllBindings() -> i32386     pub fn TokenBindingDeleteAllBindings() -> i32;
387     #[cfg(feature = "Win32_Foundation")]
TokenBindingDeleteBinding(targeturl: super::super::super::Foundation::PWSTR) -> i32388     pub fn TokenBindingDeleteBinding(targeturl: super::super::super::Foundation::PWSTR) -> i32;
389     #[cfg(feature = "Win32_Foundation")]
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) -> i32390     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;
TokenBindingGenerateID(keytype: TOKENBINDING_KEY_PARAMETERS_TYPE, publickey: *const ::core::ffi::c_void, publickeysize: u32, resultdata: *mut *mut TOKENBINDING_RESULT_DATA) -> i32391     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")]
TokenBindingGenerateIDForUri(keytype: TOKENBINDING_KEY_PARAMETERS_TYPE, targeturi: super::super::super::Foundation::PWSTR, resultdata: *mut *mut TOKENBINDING_RESULT_DATA) -> i32393     pub fn TokenBindingGenerateIDForUri(keytype: TOKENBINDING_KEY_PARAMETERS_TYPE, targeturi: super::super::super::Foundation::PWSTR, resultdata: *mut *mut TOKENBINDING_RESULT_DATA) -> i32;
TokenBindingGenerateMessage(tokenbindings: *const *const ::core::ffi::c_void, tokenbindingssize: *const u32, tokenbindingscount: u32, tokenbindingmessage: *mut *mut ::core::ffi::c_void, tokenbindingmessagesize: *mut u32) -> i32394     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;
TokenBindingGetHighestSupportedVersion(majorversion: *mut u8, minorversion: *mut u8) -> i32395     pub fn TokenBindingGetHighestSupportedVersion(majorversion: *mut u8, minorversion: *mut u8) -> i32;
TokenBindingGetKeyTypesClient(keytypes: *mut *mut TOKENBINDING_KEY_TYPES) -> i32396     pub fn TokenBindingGetKeyTypesClient(keytypes: *mut *mut TOKENBINDING_KEY_TYPES) -> i32;
TokenBindingGetKeyTypesServer(keytypes: *mut *mut TOKENBINDING_KEY_TYPES) -> i32397     pub fn TokenBindingGetKeyTypesServer(keytypes: *mut *mut TOKENBINDING_KEY_TYPES) -> i32;
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) -> i32398     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")]
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::BOOLEAN400     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")]
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::BOOLEAN402     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")]
VerifySignature(phcontext: *const super::super::Credentials::SecHandle, pmessage: *const SecBufferDesc, messageseqno: u32, pfqop: *mut u32) -> i32404     pub fn VerifySignature(phcontext: *const super::super::Credentials::SecHandle, pmessage: *const SecBufferDesc, messageseqno: u32, pfqop: *mut u32) -> i32;
405 }
406 pub type ACCEPT_SECURITY_CONTEXT_CONTEXT_REQ = u32;
407 pub const ASC_REQ_ALLOCATE_MEMORY: ACCEPT_SECURITY_CONTEXT_CONTEXT_REQ = 256u32;
408 pub const ASC_REQ_CONNECTION: ACCEPT_SECURITY_CONTEXT_CONTEXT_REQ = 2048u32;
409 pub const ASC_REQ_DELEGATE: ACCEPT_SECURITY_CONTEXT_CONTEXT_REQ = 1u32;
410 pub const ASC_REQ_EXTENDED_ERROR: ACCEPT_SECURITY_CONTEXT_CONTEXT_REQ = 32768u32;
411 pub const ASC_REQ_REPLAY_DETECT: ACCEPT_SECURITY_CONTEXT_CONTEXT_REQ = 4u32;
412 pub const ASC_REQ_SEQUENCE_DETECT: ACCEPT_SECURITY_CONTEXT_CONTEXT_REQ = 8u32;
413 pub const ASC_REQ_STREAM: ACCEPT_SECURITY_CONTEXT_CONTEXT_REQ = 65536u32;
414 #[cfg(feature = "Win32_Security_Credentials")]
415 pub 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;
416 pub const ACCOUNT_ADJUST_PRIVILEGES: i32 = 2i32;
417 pub const ACCOUNT_ADJUST_QUOTAS: i32 = 4i32;
418 pub const ACCOUNT_ADJUST_SYSTEM_ACCESS: i32 = 8i32;
419 pub const ACCOUNT_VIEW: i32 = 1i32;
420 #[cfg(feature = "Win32_Security_Credentials")]
421 pub 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")]
423 pub 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")]
425 pub 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")]
427 pub 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")]
429 pub type APPLY_CONTROL_TOKEN_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: *mut SecBufferDesc) -> i32;
430 pub const ASC_REQ_ALLOW_CONTEXT_REPLAY: u32 = 4194304u32;
431 pub const ASC_REQ_ALLOW_MISSING_BINDINGS: u32 = 268435456u32;
432 pub const ASC_REQ_ALLOW_NON_USER_LOGONS: u32 = 2097152u32;
433 pub const ASC_REQ_ALLOW_NULL_SESSION: u32 = 1048576u32;
434 pub const ASC_REQ_CALL_LEVEL: u32 = 4096u32;
435 pub const ASC_REQ_CONFIDENTIALITY: u32 = 16u32;
436 pub const ASC_REQ_DATAGRAM: u32 = 1024u32;
437 pub const ASC_REQ_FRAGMENT_SUPPLIED: u32 = 8192u32;
438 pub const ASC_REQ_FRAGMENT_TO_FIT: u32 = 8388608u32;
439 pub const ASC_REQ_IDENTIFY: u32 = 524288u32;
440 pub const ASC_REQ_INTEGRITY: u32 = 131072u32;
441 pub const ASC_REQ_LICENSING: u32 = 262144u32;
442 pub const ASC_REQ_MESSAGES: u64 = 4294967296u64;
443 pub const ASC_REQ_MUTUAL_AUTH: u32 = 2u32;
444 pub const ASC_REQ_NO_TOKEN: u32 = 16777216u32;
445 pub const ASC_REQ_PROXY_BINDINGS: u32 = 67108864u32;
446 pub const ASC_REQ_SESSION_TICKET: u32 = 64u32;
447 pub const ASC_REQ_USE_DCE_STYLE: u32 = 512u32;
448 pub const ASC_REQ_USE_SESSION_KEY: u32 = 32u32;
449 pub const ASC_RET_ALLOCATED_MEMORY: u32 = 256u32;
450 pub const ASC_RET_ALLOW_CONTEXT_REPLAY: u32 = 4194304u32;
451 pub const ASC_RET_ALLOW_NON_USER_LOGONS: u32 = 2097152u32;
452 pub const ASC_RET_CALL_LEVEL: u32 = 8192u32;
453 pub const ASC_RET_CONFIDENTIALITY: u32 = 16u32;
454 pub const ASC_RET_CONNECTION: u32 = 2048u32;
455 pub const ASC_RET_DATAGRAM: u32 = 1024u32;
456 pub const ASC_RET_DELEGATE: u32 = 1u32;
457 pub const ASC_RET_EXTENDED_ERROR: u32 = 32768u32;
458 pub const ASC_RET_FRAGMENT_ONLY: u32 = 8388608u32;
459 pub const ASC_RET_IDENTIFY: u32 = 524288u32;
460 pub const ASC_RET_INTEGRITY: u32 = 131072u32;
461 pub const ASC_RET_LICENSING: u32 = 262144u32;
462 pub const ASC_RET_MESSAGES: u64 = 4294967296u64;
463 pub const ASC_RET_MUTUAL_AUTH: u32 = 2u32;
464 pub const ASC_RET_NO_ADDITIONAL_TOKEN: u32 = 33554432u32;
465 pub const ASC_RET_NO_TOKEN: u32 = 16777216u32;
466 pub const ASC_RET_NULL_SESSION: u32 = 1048576u32;
467 pub const ASC_RET_REPLAY_DETECT: u32 = 4u32;
468 pub const ASC_RET_SEQUENCE_DETECT: u32 = 8u32;
469 pub const ASC_RET_SESSION_TICKET: u32 = 64u32;
470 pub const ASC_RET_STREAM: u32 = 65536u32;
471 pub const ASC_RET_THIRD_LEG_FAILED: u32 = 16384u32;
472 pub const ASC_RET_USED_DCE_STYLE: u32 = 512u32;
473 pub const ASC_RET_USE_SESSION_KEY: u32 = 32u32;
474 pub const AUDIT_ENUMERATE_USERS: u32 = 16u32;
475 #[repr(C)]
476 pub struct AUDIT_POLICY_INFORMATION {
477     pub AuditSubCategoryGuid: ::windows_sys::core::GUID,
478     pub AuditingInformation: u32,
479     pub AuditCategoryGuid: ::windows_sys::core::GUID,
480 }
481 impl ::core::marker::Copy for AUDIT_POLICY_INFORMATION {}
482 impl ::core::clone::Clone for AUDIT_POLICY_INFORMATION {
clone(&self) -> Self483     fn clone(&self) -> Self {
484         *self
485     }
486 }
487 pub const AUDIT_QUERY_MISC_POLICY: u32 = 64u32;
488 pub const AUDIT_QUERY_SYSTEM_POLICY: u32 = 2u32;
489 pub const AUDIT_QUERY_USER_POLICY: u32 = 8u32;
490 pub const AUDIT_SET_MISC_POLICY: u32 = 32u32;
491 pub const AUDIT_SET_SYSTEM_POLICY: u32 = 1u32;
492 pub const AUDIT_SET_USER_POLICY: u32 = 4u32;
493 pub const AUTH_REQ_ALLOW_ENC_TKT_IN_SKEY: u32 = 32u32;
494 pub const AUTH_REQ_ALLOW_FORWARDABLE: u32 = 1u32;
495 pub const AUTH_REQ_ALLOW_NOADDRESS: u32 = 16u32;
496 pub const AUTH_REQ_ALLOW_POSTDATE: u32 = 4u32;
497 pub const AUTH_REQ_ALLOW_PROXIABLE: u32 = 2u32;
498 pub const AUTH_REQ_ALLOW_RENEWABLE: u32 = 8u32;
499 pub const AUTH_REQ_ALLOW_S4U_DELEGATE: u32 = 2048u32;
500 pub const AUTH_REQ_ALLOW_VALIDATE: u32 = 64u32;
501 pub const AUTH_REQ_OK_AS_DELEGATE: u32 = 256u32;
502 pub const AUTH_REQ_PREAUTH_REQUIRED: u32 = 512u32;
503 pub const AUTH_REQ_TRANSITIVE_TRUST: u32 = 1024u32;
504 pub const AUTH_REQ_VALIDATE_CLIENT: u32 = 128u32;
505 pub 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] };
506 pub 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] };
507 pub 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] };
508 pub 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] };
509 pub 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] };
510 pub 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] };
511 pub 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] };
512 pub 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] };
513 pub 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] };
514 pub 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] };
515 pub 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] };
516 pub 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] };
517 pub 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] };
518 pub 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] };
519 pub 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] };
520 pub 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] };
521 pub 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] };
522 pub 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] };
523 pub 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] };
524 pub 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] };
525 pub 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] };
526 pub 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] };
527 pub 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] };
528 pub 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] };
529 pub 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] };
530 pub 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] };
531 pub 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] };
532 pub 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] };
533 pub 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] };
534 pub 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] };
535 pub 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] };
536 pub 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] };
537 pub 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] };
538 pub 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] };
539 pub 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] };
540 pub 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] };
541 pub 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] };
542 pub 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] };
543 pub 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] };
544 pub 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] };
545 pub 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] };
546 pub 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] };
547 pub 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] };
548 pub 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] };
549 pub 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] };
550 pub 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] };
551 pub 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] };
552 pub 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] };
553 pub 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] };
554 pub 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] };
555 pub 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] };
556 pub 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] };
557 pub 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] };
558 pub 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] };
559 pub 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] };
560 pub 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] };
561 pub 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] };
562 pub 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] };
563 pub 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] };
564 pub 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] };
565 pub 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] };
566 pub 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] };
567 pub 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] };
568 pub 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] };
569 pub 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] };
570 pub 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] };
571 pub 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] };
572 pub 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")]
575 pub 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")]
585 impl ::core::marker::Copy for CENTRAL_ACCESS_POLICY {}
586 #[cfg(feature = "Win32_Foundation")]
587 impl ::core::clone::Clone for CENTRAL_ACCESS_POLICY {
clone(&self) -> Self588     fn clone(&self) -> Self {
589         *self
590     }
591 }
592 #[repr(C)]
593 #[cfg(feature = "Win32_Foundation")]
594 pub 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")]
607 impl ::core::marker::Copy for CENTRAL_ACCESS_POLICY_ENTRY {}
608 #[cfg(feature = "Win32_Foundation")]
609 impl ::core::clone::Clone for CENTRAL_ACCESS_POLICY_ENTRY {
clone(&self) -> Self610     fn clone(&self) -> Self {
611         *self
612     }
613 }
614 pub const CENTRAL_ACCESS_POLICY_OWNER_RIGHTS_PRESENT_FLAG: u32 = 1u32;
615 pub const CENTRAL_ACCESS_POLICY_STAGED_FLAG: u32 = 65536u32;
616 pub const CENTRAL_ACCESS_POLICY_STAGED_OWNER_RIGHTS_PRESENT_FLAG: u32 = 256u32;
617 #[cfg(feature = "Win32_Foundation")]
618 pub 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")]
620 pub 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")]
623 pub struct CLEAR_BLOCK {
624     pub data: [super::super::super::Foundation::CHAR; 8],
625 }
626 #[cfg(feature = "Win32_Foundation")]
627 impl ::core::marker::Copy for CLEAR_BLOCK {}
628 #[cfg(feature = "Win32_Foundation")]
629 impl ::core::clone::Clone for CLEAR_BLOCK {
clone(&self) -> Self630     fn clone(&self) -> Self {
631         *self
632     }
633 }
634 pub const CLEAR_BLOCK_LENGTH: u32 = 8u32;
635 #[cfg(feature = "Win32_Security_Credentials")]
636 pub type COMPLETE_AUTH_TOKEN_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: *mut SecBufferDesc) -> i32;
637 pub const CREDP_FLAGS_CLEAR_PASSWORD: u32 = 8u32;
638 pub const CREDP_FLAGS_DONT_CACHE_TI: u32 = 4u32;
639 pub const CREDP_FLAGS_IN_PROCESS: u32 = 1u32;
640 pub const CREDP_FLAGS_TRUSTED_CALLER: u32 = 32u32;
641 pub const CREDP_FLAGS_USER_ENCRYPTED_PASSWORD: u32 = 16u32;
642 pub const CREDP_FLAGS_USE_MIDL_HEAP: u32 = 2u32;
643 pub const CREDP_FLAGS_VALIDATE_PROXY_TARGET: u32 = 64u32;
644 pub type CRED_FETCH = i32;
645 pub const CredFetchDefault: CRED_FETCH = 0i32;
646 pub const CredFetchDPAPI: CRED_FETCH = 1i32;
647 pub const CredFetchForced: CRED_FETCH = 2i32;
648 pub const CRED_MARSHALED_TI_SIZE_SIZE: u32 = 12u32;
649 pub const CYPHER_BLOCK_LENGTH: u32 = 8u32;
650 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
651 pub type CredFreeCredentialsFn = unsafe extern "system" fn(count: u32, credentials: *mut *mut ENCRYPTED_CREDENTIALW);
652 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
653 pub 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"))]
655 pub 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"))]
657 pub 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")]
659 pub 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")]
661 pub 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")]
663 pub type DELETE_SECURITY_CONTEXT_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle) -> i32;
664 pub const DOMAIN_NO_LM_OWF_CHANGE: i32 = 64i32;
665 #[repr(C)]
666 pub 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 }
673 impl ::core::marker::Copy for DOMAIN_PASSWORD_INFORMATION {}
674 impl ::core::clone::Clone for DOMAIN_PASSWORD_INFORMATION {
clone(&self) -> Self675     fn clone(&self) -> Self {
676         *self
677     }
678 }
679 pub type DOMAIN_PASSWORD_PROPERTIES = u32;
680 pub const DOMAIN_PASSWORD_COMPLEX: DOMAIN_PASSWORD_PROPERTIES = 1u32;
681 pub const DOMAIN_PASSWORD_NO_ANON_CHANGE: DOMAIN_PASSWORD_PROPERTIES = 2u32;
682 pub const DOMAIN_PASSWORD_NO_CLEAR_CHANGE: DOMAIN_PASSWORD_PROPERTIES = 4u32;
683 pub const DOMAIN_LOCKOUT_ADMINS: DOMAIN_PASSWORD_PROPERTIES = 8u32;
684 pub const DOMAIN_PASSWORD_STORE_CLEARTEXT: DOMAIN_PASSWORD_PROPERTIES = 16u32;
685 pub const DOMAIN_REFUSE_PASSWORD_CHANGE: DOMAIN_PASSWORD_PROPERTIES = 32u32;
686 pub const DS_UNKNOWN_ADDRESS_TYPE: u32 = 0u32;
687 pub const ENABLE_TLS_CLIENT_EARLY_START: u32 = 1u32;
688 #[repr(C)]
689 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
690 pub 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"))]
695 impl ::core::marker::Copy for ENCRYPTED_CREDENTIALW {}
696 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
697 impl ::core::clone::Clone for ENCRYPTED_CREDENTIALW {
clone(&self) -> Self698     fn clone(&self) -> Self {
699         *self
700     }
701 }
702 #[cfg(feature = "Win32_Security_Credentials")]
703 pub type ENCRYPT_MESSAGE_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut SecBufferDesc, param3: u32) -> i32;
704 pub type ENUMERATE_SECURITY_PACKAGES_FN_A = unsafe extern "system" fn(param0: *mut u32, param1: *mut *mut SecPkgInfoA) -> i32;
705 pub type ENUMERATE_SECURITY_PACKAGES_FN_W = unsafe extern "system" fn(param0: *mut u32, param1: *mut *mut SecPkgInfoW) -> i32;
706 pub type EXPORT_SECURITY_CONTEXT_FLAGS = u32;
707 pub const SECPKG_CONTEXT_EXPORT_RESET_NEW: EXPORT_SECURITY_CONTEXT_FLAGS = 1u32;
708 pub const SECPKG_CONTEXT_EXPORT_DELETE_OLD: EXPORT_SECURITY_CONTEXT_FLAGS = 2u32;
709 pub const SECPKG_CONTEXT_EXPORT_TO_KERNEL: EXPORT_SECURITY_CONTEXT_FLAGS = 4u32;
710 #[cfg(feature = "Win32_Security_Credentials")]
711 pub 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;
712 pub type EXTENDED_NAME_FORMAT = i32;
713 pub const NameUnknown: EXTENDED_NAME_FORMAT = 0i32;
714 pub const NameFullyQualifiedDN: EXTENDED_NAME_FORMAT = 1i32;
715 pub const NameSamCompatible: EXTENDED_NAME_FORMAT = 2i32;
716 pub const NameDisplay: EXTENDED_NAME_FORMAT = 3i32;
717 pub const NameUniqueId: EXTENDED_NAME_FORMAT = 6i32;
718 pub const NameCanonical: EXTENDED_NAME_FORMAT = 7i32;
719 pub const NameUserPrincipal: EXTENDED_NAME_FORMAT = 8i32;
720 pub const NameCanonicalEx: EXTENDED_NAME_FORMAT = 9i32;
721 pub const NameServicePrincipal: EXTENDED_NAME_FORMAT = 10i32;
722 pub const NameDnsDomain: EXTENDED_NAME_FORMAT = 12i32;
723 pub const NameGivenName: EXTENDED_NAME_FORMAT = 13i32;
724 pub const NameSurname: EXTENDED_NAME_FORMAT = 14i32;
725 pub const E_RM_UNKNOWN_ERROR: ::windows_sys::core::HRESULT = -1073415165i32;
726 pub const FACILITY_SL_ITF: u32 = 4u32;
727 pub type FREE_CONTEXT_BUFFER_FN = unsafe extern "system" fn(param0: *mut ::core::ffi::c_void) -> i32;
728 #[cfg(feature = "Win32_Security_Credentials")]
729 pub type FREE_CREDENTIALS_HANDLE_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle) -> i32;
730 pub type ICcgDomainAuthCredentials = *mut ::core::ffi::c_void;
731 #[cfg(feature = "Win32_Security_Credentials")]
732 pub type IMPERSONATE_SECURITY_CONTEXT_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle) -> i32;
733 #[cfg(feature = "Win32_Security_Credentials")]
734 pub 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")]
736 pub 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")]
738 pub 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")]
740 pub 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"))]
742 pub type INIT_SECURITY_INTERFACE_A = unsafe extern "system" fn() -> *mut SecurityFunctionTableA;
743 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
744 pub type INIT_SECURITY_INTERFACE_W = unsafe extern "system" fn() -> *mut SecurityFunctionTableW;
745 pub const ISC_REQ_ALLOCATE_MEMORY: u32 = 256u32;
746 pub const ISC_REQ_CALL_LEVEL: u32 = 4096u32;
747 pub const ISC_REQ_CONFIDENTIALITY: u32 = 16u32;
748 pub const ISC_REQ_CONFIDENTIALITY_ONLY: u32 = 1073741824u32;
749 pub const ISC_REQ_CONNECTION: u32 = 2048u32;
750 pub const ISC_REQ_DATAGRAM: u32 = 1024u32;
751 pub const ISC_REQ_DEFERRED_CRED_VALIDATION: u64 = 8589934592u64;
752 pub const ISC_REQ_DELEGATE: u32 = 1u32;
753 pub const ISC_REQ_EXTENDED_ERROR: u32 = 16384u32;
754 pub const ISC_REQ_FORWARD_CREDENTIALS: u32 = 4194304u32;
755 pub const ISC_REQ_FRAGMENT_SUPPLIED: u32 = 8192u32;
756 pub const ISC_REQ_FRAGMENT_TO_FIT: u32 = 2097152u32;
757 pub const ISC_REQ_IDENTIFY: u32 = 131072u32;
758 pub const ISC_REQ_INTEGRITY: u32 = 65536u32;
759 pub const ISC_REQ_MANUAL_CRED_VALIDATION: u32 = 524288u32;
760 pub const ISC_REQ_MESSAGES: u64 = 4294967296u64;
761 pub const ISC_REQ_MUTUAL_AUTH: u32 = 2u32;
762 pub const ISC_REQ_NO_INTEGRITY: u32 = 8388608u32;
763 pub const ISC_REQ_NULL_SESSION: u32 = 262144u32;
764 pub const ISC_REQ_PROMPT_FOR_CREDS: u32 = 64u32;
765 pub const ISC_REQ_REPLAY_DETECT: u32 = 4u32;
766 pub const ISC_REQ_RESERVED1: u32 = 1048576u32;
767 pub const ISC_REQ_SEQUENCE_DETECT: u32 = 8u32;
768 pub const ISC_REQ_STREAM: u32 = 32768u32;
769 pub const ISC_REQ_UNVERIFIED_TARGET_NAME: u32 = 536870912u32;
770 pub const ISC_REQ_USE_DCE_STYLE: u32 = 512u32;
771 pub const ISC_REQ_USE_HTTP_STYLE: u32 = 16777216u32;
772 pub const ISC_REQ_USE_SESSION_KEY: u32 = 32u32;
773 pub const ISC_REQ_USE_SUPPLIED_CREDS: u32 = 128u32;
774 pub const ISC_RET_ALLOCATED_MEMORY: u32 = 256u32;
775 pub const ISC_RET_CALL_LEVEL: u32 = 8192u32;
776 pub const ISC_RET_CONFIDENTIALITY: u32 = 16u32;
777 pub const ISC_RET_CONFIDENTIALITY_ONLY: u32 = 1073741824u32;
778 pub const ISC_RET_CONNECTION: u32 = 2048u32;
779 pub const ISC_RET_DATAGRAM: u32 = 1024u32;
780 pub const ISC_RET_DEFERRED_CRED_VALIDATION: u64 = 8589934592u64;
781 pub const ISC_RET_DELEGATE: u32 = 1u32;
782 pub const ISC_RET_EXTENDED_ERROR: u32 = 16384u32;
783 pub const ISC_RET_FORWARD_CREDENTIALS: u32 = 4194304u32;
784 pub const ISC_RET_FRAGMENT_ONLY: u32 = 2097152u32;
785 pub const ISC_RET_IDENTIFY: u32 = 131072u32;
786 pub const ISC_RET_INTEGRITY: u32 = 65536u32;
787 pub const ISC_RET_INTERMEDIATE_RETURN: u32 = 4096u32;
788 pub const ISC_RET_MANUAL_CRED_VALIDATION: u32 = 524288u32;
789 pub const ISC_RET_MESSAGES: u64 = 4294967296u64;
790 pub const ISC_RET_MUTUAL_AUTH: u32 = 2u32;
791 pub const ISC_RET_NO_ADDITIONAL_TOKEN: u32 = 33554432u32;
792 pub const ISC_RET_NULL_SESSION: u32 = 262144u32;
793 pub const ISC_RET_REAUTHENTICATION: u32 = 134217728u32;
794 pub const ISC_RET_REPLAY_DETECT: u32 = 4u32;
795 pub const ISC_RET_RESERVED1: u32 = 1048576u32;
796 pub const ISC_RET_SEQUENCE_DETECT: u32 = 8u32;
797 pub const ISC_RET_STREAM: u32 = 32768u32;
798 pub const ISC_RET_USED_COLLECTED_CREDS: u32 = 64u32;
799 pub const ISC_RET_USED_DCE_STYLE: u32 = 512u32;
800 pub const ISC_RET_USED_HTTP_STYLE: u32 = 16777216u32;
801 pub const ISC_RET_USED_SUPPLIED_CREDS: u32 = 128u32;
802 pub const ISC_RET_USE_SESSION_KEY: u32 = 32u32;
803 pub const ISSP_LEVEL: u32 = 32u32;
804 pub const ISSP_MODE: u32 = 1u32;
805 #[repr(C)]
806 #[cfg(feature = "Win32_Foundation")]
807 pub 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")]
819 impl ::core::marker::Copy for KDC_PROXY_CACHE_ENTRY_DATA {}
820 #[cfg(feature = "Win32_Foundation")]
821 impl ::core::clone::Clone for KDC_PROXY_CACHE_ENTRY_DATA {
clone(&self) -> Self822     fn clone(&self) -> Self {
823         *self
824     }
825 }
826 pub const KDC_PROXY_SETTINGS_FLAGS_FORCEPROXY: u32 = 1u32;
827 pub const KDC_PROXY_SETTINGS_V1: u32 = 1u32;
828 pub const KERBEROS_REVISION: u32 = 6u32;
829 pub const KERBEROS_VERSION: u32 = 5u32;
830 pub type KERB_ADDRESS_TYPE = u32;
831 pub const DS_INET_ADDRESS: KERB_ADDRESS_TYPE = 1u32;
832 pub const DS_NETBIOS_ADDRESS: KERB_ADDRESS_TYPE = 2u32;
833 #[repr(C)]
834 #[cfg(feature = "Win32_Foundation")]
835 pub 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")]
843 impl ::core::marker::Copy for KERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST {}
844 #[cfg(feature = "Win32_Foundation")]
845 impl ::core::clone::Clone for KERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST {
clone(&self) -> Self846     fn clone(&self) -> Self {
847         *self
848     }
849 }
850 #[repr(C)]
851 #[cfg(feature = "Win32_Foundation")]
852 pub 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")]
859 impl ::core::marker::Copy for KERB_ADD_BINDING_CACHE_ENTRY_REQUEST {}
860 #[cfg(feature = "Win32_Foundation")]
861 impl ::core::clone::Clone for KERB_ADD_BINDING_CACHE_ENTRY_REQUEST {
clone(&self) -> Self862     fn clone(&self) -> Self {
863         *self
864     }
865 }
866 #[repr(C)]
867 #[cfg(feature = "Win32_Foundation")]
868 pub 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")]
877 impl ::core::marker::Copy for KERB_ADD_CREDENTIALS_REQUEST {}
878 #[cfg(feature = "Win32_Foundation")]
879 impl ::core::clone::Clone for KERB_ADD_CREDENTIALS_REQUEST {
clone(&self) -> Self880     fn clone(&self) -> Self {
881         *self
882     }
883 }
884 #[repr(C)]
885 #[cfg(feature = "Win32_Foundation")]
886 pub 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")]
892 impl ::core::marker::Copy for KERB_ADD_CREDENTIALS_REQUEST_EX {}
893 #[cfg(feature = "Win32_Foundation")]
894 impl ::core::clone::Clone for KERB_ADD_CREDENTIALS_REQUEST_EX {
clone(&self) -> Self895     fn clone(&self) -> Self {
896         *self
897     }
898 }
899 #[repr(C)]
900 pub struct KERB_AUTH_DATA {
901     pub Type: u32,
902     pub Length: u32,
903     pub Data: *mut u8,
904 }
905 impl ::core::marker::Copy for KERB_AUTH_DATA {}
906 impl ::core::clone::Clone for KERB_AUTH_DATA {
clone(&self) -> Self907     fn clone(&self) -> Self {
908         *self
909     }
910 }
911 #[repr(C)]
912 #[cfg(feature = "Win32_Foundation")]
913 pub 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")]
924 impl ::core::marker::Copy for KERB_BINDING_CACHE_ENTRY_DATA {}
925 #[cfg(feature = "Win32_Foundation")]
926 impl ::core::clone::Clone for KERB_BINDING_CACHE_ENTRY_DATA {
clone(&self) -> Self927     fn clone(&self) -> Self {
928         *self
929     }
930 }
931 #[repr(C)]
932 pub struct KERB_CERTIFICATE_HASHINFO {
933     pub StoreNameLength: u16,
934     pub HashLength: u16,
935 }
936 impl ::core::marker::Copy for KERB_CERTIFICATE_HASHINFO {}
937 impl ::core::clone::Clone for KERB_CERTIFICATE_HASHINFO {
clone(&self) -> Self938     fn clone(&self) -> Self {
939         *self
940     }
941 }
942 #[repr(C)]
943 pub struct KERB_CERTIFICATE_INFO {
944     pub CertInfoSize: u32,
945     pub InfoType: u32,
946 }
947 impl ::core::marker::Copy for KERB_CERTIFICATE_INFO {}
948 impl ::core::clone::Clone for KERB_CERTIFICATE_INFO {
clone(&self) -> Self949     fn clone(&self) -> Self {
950         *self
951     }
952 }
953 pub type KERB_CERTIFICATE_INFO_TYPE = i32;
954 pub const CertHashInfo: KERB_CERTIFICATE_INFO_TYPE = 1i32;
955 #[repr(C)]
956 #[cfg(feature = "Win32_Foundation")]
957 pub 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")]
967 impl ::core::marker::Copy for KERB_CERTIFICATE_LOGON {}
968 #[cfg(feature = "Win32_Foundation")]
969 impl ::core::clone::Clone for KERB_CERTIFICATE_LOGON {
clone(&self) -> Self970     fn clone(&self) -> Self {
971         *self
972     }
973 }
974 pub const KERB_CERTIFICATE_LOGON_FLAG_CHECK_DUPLICATES: u32 = 1u32;
975 pub const KERB_CERTIFICATE_LOGON_FLAG_USE_CERTIFICATE_INFO: u32 = 2u32;
976 #[repr(C)]
977 #[cfg(feature = "Win32_Foundation")]
978 pub 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")]
987 impl ::core::marker::Copy for KERB_CERTIFICATE_S4U_LOGON {}
988 #[cfg(feature = "Win32_Foundation")]
989 impl ::core::clone::Clone for KERB_CERTIFICATE_S4U_LOGON {
clone(&self) -> Self990     fn clone(&self) -> Self {
991         *self
992     }
993 }
994 pub const KERB_CERTIFICATE_S4U_LOGON_FLAG_CHECK_DUPLICATES: u32 = 1u32;
995 pub const KERB_CERTIFICATE_S4U_LOGON_FLAG_CHECK_LOGONHOURS: u32 = 2u32;
996 pub const KERB_CERTIFICATE_S4U_LOGON_FLAG_FAIL_IF_NT_AUTH_POLICY_REQUIRED: u32 = 4u32;
997 pub const KERB_CERTIFICATE_S4U_LOGON_FLAG_IDENTIFY: u32 = 8u32;
998 #[repr(C)]
999 #[cfg(feature = "Win32_Foundation")]
1000 pub 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")]
1005 impl ::core::marker::Copy for KERB_CERTIFICATE_UNLOCK_LOGON {}
1006 #[cfg(feature = "Win32_Foundation")]
1007 impl ::core::clone::Clone for KERB_CERTIFICATE_UNLOCK_LOGON {
clone(&self) -> Self1008     fn clone(&self) -> Self {
1009         *self
1010     }
1011 }
1012 #[repr(C)]
1013 #[cfg(feature = "Win32_Foundation")]
1014 pub 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")]
1023 impl ::core::marker::Copy for KERB_CHANGEPASSWORD_REQUEST {}
1024 #[cfg(feature = "Win32_Foundation")]
1025 impl ::core::clone::Clone for KERB_CHANGEPASSWORD_REQUEST {
clone(&self) -> Self1026     fn clone(&self) -> Self {
1027         *self
1028     }
1029 }
1030 pub const KERB_CHECKSUM_CRC32: u32 = 1u32;
1031 pub const KERB_CHECKSUM_DES_MAC: i32 = -133i32;
1032 pub const KERB_CHECKSUM_DES_MAC_MD5: i32 = -134i32;
1033 pub const KERB_CHECKSUM_HMAC_MD5: i32 = -138i32;
1034 pub const KERB_CHECKSUM_HMAC_SHA1_96_AES128: u32 = 15u32;
1035 pub const KERB_CHECKSUM_HMAC_SHA1_96_AES128_Ki: i32 = -150i32;
1036 pub const KERB_CHECKSUM_HMAC_SHA1_96_AES256: u32 = 16u32;
1037 pub const KERB_CHECKSUM_HMAC_SHA1_96_AES256_Ki: i32 = -151i32;
1038 pub const KERB_CHECKSUM_KRB_DES_MAC: u32 = 4u32;
1039 pub const KERB_CHECKSUM_KRB_DES_MAC_K: u32 = 5u32;
1040 pub const KERB_CHECKSUM_LM: i32 = -130i32;
1041 pub const KERB_CHECKSUM_MD25: i32 = -135i32;
1042 pub const KERB_CHECKSUM_MD4: u32 = 2u32;
1043 pub const KERB_CHECKSUM_MD5: u32 = 7u32;
1044 pub const KERB_CHECKSUM_MD5_DES: u32 = 8u32;
1045 pub const KERB_CHECKSUM_MD5_HMAC: i32 = -137i32;
1046 pub const KERB_CHECKSUM_NONE: u32 = 0u32;
1047 pub const KERB_CHECKSUM_RC4_MD5: i32 = -136i32;
1048 pub const KERB_CHECKSUM_REAL_CRC32: i32 = -132i32;
1049 pub const KERB_CHECKSUM_SHA1: i32 = -131i32;
1050 pub const KERB_CHECKSUM_SHA1_NEW: u32 = 14u32;
1051 #[repr(C)]
1052 #[cfg(feature = "Win32_Foundation")]
1053 pub 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")]
1058 impl ::core::marker::Copy for KERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST {}
1059 #[cfg(feature = "Win32_Foundation")]
1060 impl ::core::clone::Clone for KERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST {
clone(&self) -> Self1061     fn clone(&self) -> Self {
1062         *self
1063     }
1064 }
1065 #[repr(C)]
1066 pub struct KERB_CLOUD_KERBEROS_DEBUG_DATA_V0 {
1067     pub _bitfield: i32,
1068 }
1069 impl ::core::marker::Copy for KERB_CLOUD_KERBEROS_DEBUG_DATA_V0 {}
1070 impl ::core::clone::Clone for KERB_CLOUD_KERBEROS_DEBUG_DATA_V0 {
clone(&self) -> Self1071     fn clone(&self) -> Self {
1072         *self
1073     }
1074 }
1075 pub const KERB_CLOUD_KERBEROS_DEBUG_DATA_VERSION: u32 = 0u32;
1076 #[repr(C)]
1077 #[cfg(feature = "Win32_Foundation")]
1078 pub 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")]
1083 impl ::core::marker::Copy for KERB_CLOUD_KERBEROS_DEBUG_REQUEST {}
1084 #[cfg(feature = "Win32_Foundation")]
1085 impl ::core::clone::Clone for KERB_CLOUD_KERBEROS_DEBUG_REQUEST {
clone(&self) -> Self1086     fn clone(&self) -> Self {
1087         *self
1088     }
1089 }
1090 #[repr(C)]
1091 pub 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 }
1097 impl ::core::marker::Copy for KERB_CLOUD_KERBEROS_DEBUG_RESPONSE {}
1098 impl ::core::clone::Clone for KERB_CLOUD_KERBEROS_DEBUG_RESPONSE {
clone(&self) -> Self1099     fn clone(&self) -> Self {
1100         *self
1101     }
1102 }
1103 #[repr(C)]
1104 pub struct KERB_CRYPTO_KEY {
1105     pub KeyType: KERB_CRYPTO_KEY_TYPE,
1106     pub Length: u32,
1107     pub Value: *mut u8,
1108 }
1109 impl ::core::marker::Copy for KERB_CRYPTO_KEY {}
1110 impl ::core::clone::Clone for KERB_CRYPTO_KEY {
clone(&self) -> Self1111     fn clone(&self) -> Self {
1112         *self
1113     }
1114 }
1115 #[repr(C)]
1116 pub struct KERB_CRYPTO_KEY32 {
1117     pub KeyType: i32,
1118     pub Length: u32,
1119     pub Offset: u32,
1120 }
1121 impl ::core::marker::Copy for KERB_CRYPTO_KEY32 {}
1122 impl ::core::clone::Clone for KERB_CRYPTO_KEY32 {
clone(&self) -> Self1123     fn clone(&self) -> Self {
1124         *self
1125     }
1126 }
1127 pub type KERB_CRYPTO_KEY_TYPE = i32;
1128 pub const KERB_ETYPE_DES_CBC_CRC: KERB_CRYPTO_KEY_TYPE = 1i32;
1129 pub const KERB_ETYPE_DES_CBC_MD4: KERB_CRYPTO_KEY_TYPE = 2i32;
1130 pub const KERB_ETYPE_DES_CBC_MD5: KERB_CRYPTO_KEY_TYPE = 3i32;
1131 pub const KERB_ETYPE_NULL: KERB_CRYPTO_KEY_TYPE = 0i32;
1132 pub const KERB_ETYPE_RC4_HMAC_NT: KERB_CRYPTO_KEY_TYPE = 23i32;
1133 pub const KERB_ETYPE_RC4_MD4: KERB_CRYPTO_KEY_TYPE = -128i32;
1134 pub const KERB_DECRYPT_FLAG_DEFAULT_KEY: u32 = 1u32;
1135 #[repr(C)]
1136 #[cfg(feature = "Win32_Foundation")]
1137 pub 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")]
1150 impl ::core::marker::Copy for KERB_DECRYPT_REQUEST {}
1151 #[cfg(feature = "Win32_Foundation")]
1152 impl ::core::clone::Clone for KERB_DECRYPT_REQUEST {
clone(&self) -> Self1153     fn clone(&self) -> Self {
1154         *self
1155     }
1156 }
1157 #[repr(C)]
1158 pub struct KERB_DECRYPT_RESPONSE {
1159     pub DecryptedData: [u8; 1],
1160 }
1161 impl ::core::marker::Copy for KERB_DECRYPT_RESPONSE {}
1162 impl ::core::clone::Clone for KERB_DECRYPT_RESPONSE {
clone(&self) -> Self1163     fn clone(&self) -> Self {
1164         *self
1165     }
1166 }
1167 pub const KERB_ETYPE_AES128_CTS_HMAC_SHA1_96: u32 = 17u32;
1168 pub const KERB_ETYPE_AES128_CTS_HMAC_SHA1_96_PLAIN: i32 = -148i32;
1169 pub const KERB_ETYPE_AES256_CTS_HMAC_SHA1_96: u32 = 18u32;
1170 pub const KERB_ETYPE_AES256_CTS_HMAC_SHA1_96_PLAIN: i32 = -149i32;
1171 pub const KERB_ETYPE_DEFAULT: u32 = 0u32;
1172 pub const KERB_ETYPE_DES3_CBC_MD5: u32 = 5u32;
1173 pub const KERB_ETYPE_DES3_CBC_SHA1: u32 = 7u32;
1174 pub const KERB_ETYPE_DES3_CBC_SHA1_KD: u32 = 16u32;
1175 pub const KERB_ETYPE_DES_CBC_MD5_NT: u32 = 20u32;
1176 pub const KERB_ETYPE_DES_EDE3_CBC_ENV: u32 = 15u32;
1177 pub const KERB_ETYPE_DES_PLAIN: i32 = -132i32;
1178 pub const KERB_ETYPE_DSA_SHA1_CMS: u32 = 9u32;
1179 pub const KERB_ETYPE_DSA_SIGN: u32 = 8u32;
1180 pub const KERB_ETYPE_PKCS7_PUB: u32 = 13u32;
1181 pub const KERB_ETYPE_RC2_CBC_ENV: u32 = 12u32;
1182 pub const KERB_ETYPE_RC4_HMAC_NT_EXP: u32 = 24u32;
1183 pub const KERB_ETYPE_RC4_HMAC_OLD: i32 = -133i32;
1184 pub const KERB_ETYPE_RC4_HMAC_OLD_EXP: i32 = -135i32;
1185 pub const KERB_ETYPE_RC4_LM: i32 = -130i32;
1186 pub const KERB_ETYPE_RC4_PLAIN: i32 = -140i32;
1187 pub const KERB_ETYPE_RC4_PLAIN2: i32 = -129i32;
1188 pub const KERB_ETYPE_RC4_PLAIN_EXP: i32 = -141i32;
1189 pub const KERB_ETYPE_RC4_PLAIN_OLD: i32 = -134i32;
1190 pub const KERB_ETYPE_RC4_PLAIN_OLD_EXP: i32 = -136i32;
1191 pub const KERB_ETYPE_RC4_SHA: i32 = -131i32;
1192 pub const KERB_ETYPE_RSA_ENV: u32 = 13u32;
1193 pub const KERB_ETYPE_RSA_ES_OEAP_ENV: u32 = 14u32;
1194 pub const KERB_ETYPE_RSA_MD5_CMS: u32 = 10u32;
1195 pub const KERB_ETYPE_RSA_PRIV: u32 = 9u32;
1196 pub const KERB_ETYPE_RSA_PUB: u32 = 10u32;
1197 pub const KERB_ETYPE_RSA_PUB_MD5: u32 = 11u32;
1198 pub const KERB_ETYPE_RSA_PUB_SHA1: u32 = 12u32;
1199 pub const KERB_ETYPE_RSA_SHA1_CMS: u32 = 11u32;
1200 #[repr(C)]
1201 #[cfg(feature = "Win32_Foundation")]
1202 pub 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")]
1208 impl ::core::marker::Copy for KERB_EXTERNAL_NAME {}
1209 #[cfg(feature = "Win32_Foundation")]
1210 impl ::core::clone::Clone for KERB_EXTERNAL_NAME {
clone(&self) -> Self1211     fn clone(&self) -> Self {
1212         *self
1213     }
1214 }
1215 #[repr(C)]
1216 #[cfg(feature = "Win32_Foundation")]
1217 pub 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")]
1236 impl ::core::marker::Copy for KERB_EXTERNAL_TICKET {}
1237 #[cfg(feature = "Win32_Foundation")]
1238 impl ::core::clone::Clone for KERB_EXTERNAL_TICKET {
clone(&self) -> Self1239     fn clone(&self) -> Self {
1240         *self
1241     }
1242 }
1243 #[repr(C)]
1244 #[cfg(feature = "Win32_Foundation")]
1245 pub 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")]
1252 impl ::core::marker::Copy for KERB_INTERACTIVE_LOGON {}
1253 #[cfg(feature = "Win32_Foundation")]
1254 impl ::core::clone::Clone for KERB_INTERACTIVE_LOGON {
clone(&self) -> Self1255     fn clone(&self) -> Self {
1256         *self
1257     }
1258 }
1259 #[repr(C)]
1260 #[cfg(feature = "Win32_Foundation")]
1261 pub 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")]
1280 impl ::core::marker::Copy for KERB_INTERACTIVE_PROFILE {}
1281 #[cfg(feature = "Win32_Foundation")]
1282 impl ::core::clone::Clone for KERB_INTERACTIVE_PROFILE {
clone(&self) -> Self1283     fn clone(&self) -> Self {
1284         *self
1285     }
1286 }
1287 #[repr(C)]
1288 #[cfg(feature = "Win32_Foundation")]
1289 pub 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")]
1294 impl ::core::marker::Copy for KERB_INTERACTIVE_UNLOCK_LOGON {}
1295 #[cfg(feature = "Win32_Foundation")]
1296 impl ::core::clone::Clone for KERB_INTERACTIVE_UNLOCK_LOGON {
clone(&self) -> Self1297     fn clone(&self) -> Self {
1298         *self
1299     }
1300 }
1301 pub const KERB_LOGON_FLAG_ALLOW_EXPIRED_TICKET: u32 = 1u32;
1302 pub const KERB_LOGON_FLAG_REDIRECTED: u32 = 2u32;
1303 pub type KERB_LOGON_SUBMIT_TYPE = i32;
1304 pub const KerbInteractiveLogon: KERB_LOGON_SUBMIT_TYPE = 2i32;
1305 pub const KerbSmartCardLogon: KERB_LOGON_SUBMIT_TYPE = 6i32;
1306 pub const KerbWorkstationUnlockLogon: KERB_LOGON_SUBMIT_TYPE = 7i32;
1307 pub const KerbSmartCardUnlockLogon: KERB_LOGON_SUBMIT_TYPE = 8i32;
1308 pub const KerbProxyLogon: KERB_LOGON_SUBMIT_TYPE = 9i32;
1309 pub const KerbTicketLogon: KERB_LOGON_SUBMIT_TYPE = 10i32;
1310 pub const KerbTicketUnlockLogon: KERB_LOGON_SUBMIT_TYPE = 11i32;
1311 pub const KerbS4ULogon: KERB_LOGON_SUBMIT_TYPE = 12i32;
1312 pub const KerbCertificateLogon: KERB_LOGON_SUBMIT_TYPE = 13i32;
1313 pub const KerbCertificateS4ULogon: KERB_LOGON_SUBMIT_TYPE = 14i32;
1314 pub const KerbCertificateUnlockLogon: KERB_LOGON_SUBMIT_TYPE = 15i32;
1315 pub const KerbNoElevationLogon: KERB_LOGON_SUBMIT_TYPE = 83i32;
1316 pub const KerbLuidLogon: KERB_LOGON_SUBMIT_TYPE = 84i32;
1317 #[repr(C)]
1318 #[cfg(feature = "Win32_Foundation")]
1319 pub 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")]
1325 impl ::core::marker::Copy for KERB_NET_ADDRESS {}
1326 #[cfg(feature = "Win32_Foundation")]
1327 impl ::core::clone::Clone for KERB_NET_ADDRESS {
clone(&self) -> Self1328     fn clone(&self) -> Self {
1329         *self
1330     }
1331 }
1332 #[repr(C)]
1333 #[cfg(feature = "Win32_Foundation")]
1334 pub struct KERB_NET_ADDRESSES {
1335     pub Number: u32,
1336     pub Addresses: [KERB_NET_ADDRESS; 1],
1337 }
1338 #[cfg(feature = "Win32_Foundation")]
1339 impl ::core::marker::Copy for KERB_NET_ADDRESSES {}
1340 #[cfg(feature = "Win32_Foundation")]
1341 impl ::core::clone::Clone for KERB_NET_ADDRESSES {
clone(&self) -> Self1342     fn clone(&self) -> Self {
1343         *self
1344     }
1345 }
1346 pub type KERB_PROFILE_BUFFER_TYPE = i32;
1347 pub const KerbInteractiveProfile: KERB_PROFILE_BUFFER_TYPE = 2i32;
1348 pub const KerbSmartCardProfile: KERB_PROFILE_BUFFER_TYPE = 4i32;
1349 pub const KerbTicketProfile: KERB_PROFILE_BUFFER_TYPE = 6i32;
1350 pub type KERB_PROTOCOL_MESSAGE_TYPE = i32;
1351 pub const KerbDebugRequestMessage: KERB_PROTOCOL_MESSAGE_TYPE = 0i32;
1352 pub const KerbQueryTicketCacheMessage: KERB_PROTOCOL_MESSAGE_TYPE = 1i32;
1353 pub const KerbChangeMachinePasswordMessage: KERB_PROTOCOL_MESSAGE_TYPE = 2i32;
1354 pub const KerbVerifyPacMessage: KERB_PROTOCOL_MESSAGE_TYPE = 3i32;
1355 pub const KerbRetrieveTicketMessage: KERB_PROTOCOL_MESSAGE_TYPE = 4i32;
1356 pub const KerbUpdateAddressesMessage: KERB_PROTOCOL_MESSAGE_TYPE = 5i32;
1357 pub const KerbPurgeTicketCacheMessage: KERB_PROTOCOL_MESSAGE_TYPE = 6i32;
1358 pub const KerbChangePasswordMessage: KERB_PROTOCOL_MESSAGE_TYPE = 7i32;
1359 pub const KerbRetrieveEncodedTicketMessage: KERB_PROTOCOL_MESSAGE_TYPE = 8i32;
1360 pub const KerbDecryptDataMessage: KERB_PROTOCOL_MESSAGE_TYPE = 9i32;
1361 pub const KerbAddBindingCacheEntryMessage: KERB_PROTOCOL_MESSAGE_TYPE = 10i32;
1362 pub const KerbSetPasswordMessage: KERB_PROTOCOL_MESSAGE_TYPE = 11i32;
1363 pub const KerbSetPasswordExMessage: KERB_PROTOCOL_MESSAGE_TYPE = 12i32;
1364 pub const KerbVerifyCredentialsMessage: KERB_PROTOCOL_MESSAGE_TYPE = 13i32;
1365 pub const KerbQueryTicketCacheExMessage: KERB_PROTOCOL_MESSAGE_TYPE = 14i32;
1366 pub const KerbPurgeTicketCacheExMessage: KERB_PROTOCOL_MESSAGE_TYPE = 15i32;
1367 pub const KerbRefreshSmartcardCredentialsMessage: KERB_PROTOCOL_MESSAGE_TYPE = 16i32;
1368 pub const KerbAddExtraCredentialsMessage: KERB_PROTOCOL_MESSAGE_TYPE = 17i32;
1369 pub const KerbQuerySupplementalCredentialsMessage: KERB_PROTOCOL_MESSAGE_TYPE = 18i32;
1370 pub const KerbTransferCredentialsMessage: KERB_PROTOCOL_MESSAGE_TYPE = 19i32;
1371 pub const KerbQueryTicketCacheEx2Message: KERB_PROTOCOL_MESSAGE_TYPE = 20i32;
1372 pub const KerbSubmitTicketMessage: KERB_PROTOCOL_MESSAGE_TYPE = 21i32;
1373 pub const KerbAddExtraCredentialsExMessage: KERB_PROTOCOL_MESSAGE_TYPE = 22i32;
1374 pub const KerbQueryKdcProxyCacheMessage: KERB_PROTOCOL_MESSAGE_TYPE = 23i32;
1375 pub const KerbPurgeKdcProxyCacheMessage: KERB_PROTOCOL_MESSAGE_TYPE = 24i32;
1376 pub const KerbQueryTicketCacheEx3Message: KERB_PROTOCOL_MESSAGE_TYPE = 25i32;
1377 pub const KerbCleanupMachinePkinitCredsMessage: KERB_PROTOCOL_MESSAGE_TYPE = 26i32;
1378 pub const KerbAddBindingCacheEntryExMessage: KERB_PROTOCOL_MESSAGE_TYPE = 27i32;
1379 pub const KerbQueryBindingCacheMessage: KERB_PROTOCOL_MESSAGE_TYPE = 28i32;
1380 pub const KerbPurgeBindingCacheMessage: KERB_PROTOCOL_MESSAGE_TYPE = 29i32;
1381 pub const KerbPinKdcMessage: KERB_PROTOCOL_MESSAGE_TYPE = 30i32;
1382 pub const KerbUnpinAllKdcsMessage: KERB_PROTOCOL_MESSAGE_TYPE = 31i32;
1383 pub const KerbQueryDomainExtendedPoliciesMessage: KERB_PROTOCOL_MESSAGE_TYPE = 32i32;
1384 pub const KerbQueryS4U2ProxyCacheMessage: KERB_PROTOCOL_MESSAGE_TYPE = 33i32;
1385 pub const KerbRetrieveKeyTabMessage: KERB_PROTOCOL_MESSAGE_TYPE = 34i32;
1386 pub const KerbRefreshPolicyMessage: KERB_PROTOCOL_MESSAGE_TYPE = 35i32;
1387 pub const KerbPrintCloudKerberosDebugMessage: KERB_PROTOCOL_MESSAGE_TYPE = 36i32;
1388 pub const KERB_PURGE_ALL_TICKETS: u32 = 1u32;
1389 #[repr(C)]
1390 pub struct KERB_PURGE_BINDING_CACHE_REQUEST {
1391     pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1392 }
1393 impl ::core::marker::Copy for KERB_PURGE_BINDING_CACHE_REQUEST {}
1394 impl ::core::clone::Clone for KERB_PURGE_BINDING_CACHE_REQUEST {
clone(&self) -> Self1395     fn clone(&self) -> Self {
1396         *self
1397     }
1398 }
1399 #[repr(C)]
1400 #[cfg(feature = "Win32_Foundation")]
1401 pub 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")]
1407 impl ::core::marker::Copy for KERB_PURGE_KDC_PROXY_CACHE_REQUEST {}
1408 #[cfg(feature = "Win32_Foundation")]
1409 impl ::core::clone::Clone for KERB_PURGE_KDC_PROXY_CACHE_REQUEST {
clone(&self) -> Self1410     fn clone(&self) -> Self {
1411         *self
1412     }
1413 }
1414 #[repr(C)]
1415 pub struct KERB_PURGE_KDC_PROXY_CACHE_RESPONSE {
1416     pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1417     pub CountOfPurged: u32,
1418 }
1419 impl ::core::marker::Copy for KERB_PURGE_KDC_PROXY_CACHE_RESPONSE {}
1420 impl ::core::clone::Clone for KERB_PURGE_KDC_PROXY_CACHE_RESPONSE {
clone(&self) -> Self1421     fn clone(&self) -> Self {
1422         *self
1423     }
1424 }
1425 #[repr(C)]
1426 #[cfg(feature = "Win32_Foundation")]
1427 pub 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")]
1434 impl ::core::marker::Copy for KERB_PURGE_TKT_CACHE_EX_REQUEST {}
1435 #[cfg(feature = "Win32_Foundation")]
1436 impl ::core::clone::Clone for KERB_PURGE_TKT_CACHE_EX_REQUEST {
clone(&self) -> Self1437     fn clone(&self) -> Self {
1438         *self
1439     }
1440 }
1441 #[repr(C)]
1442 #[cfg(feature = "Win32_Foundation")]
1443 pub 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")]
1450 impl ::core::marker::Copy for KERB_PURGE_TKT_CACHE_REQUEST {}
1451 #[cfg(feature = "Win32_Foundation")]
1452 impl ::core::clone::Clone for KERB_PURGE_TKT_CACHE_REQUEST {
clone(&self) -> Self1453     fn clone(&self) -> Self {
1454         *self
1455     }
1456 }
1457 #[repr(C)]
1458 pub struct KERB_QUERY_BINDING_CACHE_REQUEST {
1459     pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1460 }
1461 impl ::core::marker::Copy for KERB_QUERY_BINDING_CACHE_REQUEST {}
1462 impl ::core::clone::Clone for KERB_QUERY_BINDING_CACHE_REQUEST {
clone(&self) -> Self1463     fn clone(&self) -> Self {
1464         *self
1465     }
1466 }
1467 #[repr(C)]
1468 #[cfg(feature = "Win32_Foundation")]
1469 pub 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")]
1475 impl ::core::marker::Copy for KERB_QUERY_BINDING_CACHE_RESPONSE {}
1476 #[cfg(feature = "Win32_Foundation")]
1477 impl ::core::clone::Clone for KERB_QUERY_BINDING_CACHE_RESPONSE {
clone(&self) -> Self1478     fn clone(&self) -> Self {
1479         *self
1480     }
1481 }
1482 #[repr(C)]
1483 #[cfg(feature = "Win32_Foundation")]
1484 pub 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")]
1490 impl ::core::marker::Copy for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST {}
1491 #[cfg(feature = "Win32_Foundation")]
1492 impl ::core::clone::Clone for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST {
clone(&self) -> Self1493     fn clone(&self) -> Self {
1494         *self
1495     }
1496 }
1497 #[repr(C)]
1498 pub 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 }
1504 impl ::core::marker::Copy for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE {}
1505 impl ::core::clone::Clone for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE {
clone(&self) -> Self1506     fn clone(&self) -> Self {
1507         *self
1508     }
1509 }
1510 pub const KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE_FLAG_DAC_DISABLED: u32 = 1u32;
1511 #[repr(C)]
1512 #[cfg(feature = "Win32_Foundation")]
1513 pub 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")]
1519 impl ::core::marker::Copy for KERB_QUERY_KDC_PROXY_CACHE_REQUEST {}
1520 #[cfg(feature = "Win32_Foundation")]
1521 impl ::core::clone::Clone for KERB_QUERY_KDC_PROXY_CACHE_REQUEST {
clone(&self) -> Self1522     fn clone(&self) -> Self {
1523         *self
1524     }
1525 }
1526 #[repr(C)]
1527 #[cfg(feature = "Win32_Foundation")]
1528 pub 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")]
1534 impl ::core::marker::Copy for KERB_QUERY_KDC_PROXY_CACHE_RESPONSE {}
1535 #[cfg(feature = "Win32_Foundation")]
1536 impl ::core::clone::Clone for KERB_QUERY_KDC_PROXY_CACHE_RESPONSE {
clone(&self) -> Self1537     fn clone(&self) -> Self {
1538         *self
1539     }
1540 }
1541 #[repr(C)]
1542 #[cfg(feature = "Win32_Foundation")]
1543 pub 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")]
1549 impl ::core::marker::Copy for KERB_QUERY_S4U2PROXY_CACHE_REQUEST {}
1550 #[cfg(feature = "Win32_Foundation")]
1551 impl ::core::clone::Clone for KERB_QUERY_S4U2PROXY_CACHE_REQUEST {
clone(&self) -> Self1552     fn clone(&self) -> Self {
1553         *self
1554     }
1555 }
1556 #[repr(C)]
1557 #[cfg(feature = "Win32_Foundation")]
1558 pub 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")]
1564 impl ::core::marker::Copy for KERB_QUERY_S4U2PROXY_CACHE_RESPONSE {}
1565 #[cfg(feature = "Win32_Foundation")]
1566 impl ::core::clone::Clone for KERB_QUERY_S4U2PROXY_CACHE_RESPONSE {
clone(&self) -> Self1567     fn clone(&self) -> Self {
1568         *self
1569     }
1570 }
1571 #[repr(C)]
1572 #[cfg(feature = "Win32_Foundation")]
1573 pub 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")]
1579 impl ::core::marker::Copy for KERB_QUERY_TKT_CACHE_EX2_RESPONSE {}
1580 #[cfg(feature = "Win32_Foundation")]
1581 impl ::core::clone::Clone for KERB_QUERY_TKT_CACHE_EX2_RESPONSE {
clone(&self) -> Self1582     fn clone(&self) -> Self {
1583         *self
1584     }
1585 }
1586 #[repr(C)]
1587 #[cfg(feature = "Win32_Foundation")]
1588 pub 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")]
1594 impl ::core::marker::Copy for KERB_QUERY_TKT_CACHE_EX3_RESPONSE {}
1595 #[cfg(feature = "Win32_Foundation")]
1596 impl ::core::clone::Clone for KERB_QUERY_TKT_CACHE_EX3_RESPONSE {
clone(&self) -> Self1597     fn clone(&self) -> Self {
1598         *self
1599     }
1600 }
1601 #[repr(C)]
1602 #[cfg(feature = "Win32_Foundation")]
1603 pub 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")]
1609 impl ::core::marker::Copy for KERB_QUERY_TKT_CACHE_EX_RESPONSE {}
1610 #[cfg(feature = "Win32_Foundation")]
1611 impl ::core::clone::Clone for KERB_QUERY_TKT_CACHE_EX_RESPONSE {
clone(&self) -> Self1612     fn clone(&self) -> Self {
1613         *self
1614     }
1615 }
1616 #[repr(C)]
1617 #[cfg(feature = "Win32_Foundation")]
1618 pub 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")]
1623 impl ::core::marker::Copy for KERB_QUERY_TKT_CACHE_REQUEST {}
1624 #[cfg(feature = "Win32_Foundation")]
1625 impl ::core::clone::Clone for KERB_QUERY_TKT_CACHE_REQUEST {
clone(&self) -> Self1626     fn clone(&self) -> Self {
1627         *self
1628     }
1629 }
1630 #[repr(C)]
1631 #[cfg(feature = "Win32_Foundation")]
1632 pub 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")]
1638 impl ::core::marker::Copy for KERB_QUERY_TKT_CACHE_RESPONSE {}
1639 #[cfg(feature = "Win32_Foundation")]
1640 impl ::core::clone::Clone for KERB_QUERY_TKT_CACHE_RESPONSE {
clone(&self) -> Self1641     fn clone(&self) -> Self {
1642         *self
1643     }
1644 }
1645 pub const KERB_REFRESH_POLICY_KDC: u32 = 2u32;
1646 pub const KERB_REFRESH_POLICY_KERBEROS: u32 = 1u32;
1647 #[repr(C)]
1648 pub struct KERB_REFRESH_POLICY_REQUEST {
1649     pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1650     pub Flags: u32,
1651 }
1652 impl ::core::marker::Copy for KERB_REFRESH_POLICY_REQUEST {}
1653 impl ::core::clone::Clone for KERB_REFRESH_POLICY_REQUEST {
clone(&self) -> Self1654     fn clone(&self) -> Self {
1655         *self
1656     }
1657 }
1658 #[repr(C)]
1659 pub struct KERB_REFRESH_POLICY_RESPONSE {
1660     pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1661     pub Flags: u32,
1662 }
1663 impl ::core::marker::Copy for KERB_REFRESH_POLICY_RESPONSE {}
1664 impl ::core::clone::Clone for KERB_REFRESH_POLICY_RESPONSE {
clone(&self) -> Self1665     fn clone(&self) -> Self {
1666         *self
1667     }
1668 }
1669 pub const KERB_REFRESH_SCCRED_GETTGT: u32 = 1u32;
1670 pub const KERB_REFRESH_SCCRED_RELEASE: u32 = 0u32;
1671 #[repr(C)]
1672 #[cfg(feature = "Win32_Foundation")]
1673 pub 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")]
1680 impl ::core::marker::Copy for KERB_REFRESH_SCCRED_REQUEST {}
1681 #[cfg(feature = "Win32_Foundation")]
1682 impl ::core::clone::Clone for KERB_REFRESH_SCCRED_REQUEST {
clone(&self) -> Self1683     fn clone(&self) -> Self {
1684         *self
1685     }
1686 }
1687 pub type KERB_REQUEST_FLAGS = u32;
1688 pub const KERB_REQUEST_ADD_CREDENTIAL: KERB_REQUEST_FLAGS = 1u32;
1689 pub const KERB_REQUEST_REPLACE_CREDENTIAL: KERB_REQUEST_FLAGS = 2u32;
1690 pub const KERB_REQUEST_REMOVE_CREDENTIAL: KERB_REQUEST_FLAGS = 4u32;
1691 #[repr(C)]
1692 #[cfg(feature = "Win32_Foundation")]
1693 pub 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")]
1701 impl ::core::marker::Copy for KERB_RETRIEVE_KEY_TAB_REQUEST {}
1702 #[cfg(feature = "Win32_Foundation")]
1703 impl ::core::clone::Clone for KERB_RETRIEVE_KEY_TAB_REQUEST {
clone(&self) -> Self1704     fn clone(&self) -> Self {
1705         *self
1706     }
1707 }
1708 #[repr(C)]
1709 pub struct KERB_RETRIEVE_KEY_TAB_RESPONSE {
1710     pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
1711     pub KeyTabLength: u32,
1712     pub KeyTab: *mut u8,
1713 }
1714 impl ::core::marker::Copy for KERB_RETRIEVE_KEY_TAB_RESPONSE {}
1715 impl ::core::clone::Clone for KERB_RETRIEVE_KEY_TAB_RESPONSE {
clone(&self) -> Self1716     fn clone(&self) -> Self {
1717         *self
1718     }
1719 }
1720 pub const KERB_RETRIEVE_TICKET_AS_KERB_CRED: u32 = 8u32;
1721 pub const KERB_RETRIEVE_TICKET_CACHE_TICKET: u32 = 32u32;
1722 pub const KERB_RETRIEVE_TICKET_DEFAULT: u32 = 0u32;
1723 pub const KERB_RETRIEVE_TICKET_DONT_USE_CACHE: u32 = 1u32;
1724 pub const KERB_RETRIEVE_TICKET_MAX_LIFETIME: u32 = 64u32;
1725 pub const KERB_RETRIEVE_TICKET_USE_CACHE_ONLY: u32 = 2u32;
1726 pub const KERB_RETRIEVE_TICKET_USE_CREDHANDLE: u32 = 4u32;
1727 pub const KERB_RETRIEVE_TICKET_WITH_SEC_CRED: u32 = 16u32;
1728 #[repr(C)]
1729 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
1730 pub 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"))]
1740 impl ::core::marker::Copy for KERB_RETRIEVE_TKT_REQUEST {}
1741 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
1742 impl ::core::clone::Clone for KERB_RETRIEVE_TKT_REQUEST {
clone(&self) -> Self1743     fn clone(&self) -> Self {
1744         *self
1745     }
1746 }
1747 #[repr(C)]
1748 #[cfg(feature = "Win32_Foundation")]
1749 pub struct KERB_RETRIEVE_TKT_RESPONSE {
1750     pub Ticket: KERB_EXTERNAL_TICKET,
1751 }
1752 #[cfg(feature = "Win32_Foundation")]
1753 impl ::core::marker::Copy for KERB_RETRIEVE_TKT_RESPONSE {}
1754 #[cfg(feature = "Win32_Foundation")]
1755 impl ::core::clone::Clone for KERB_RETRIEVE_TKT_RESPONSE {
clone(&self) -> Self1756     fn clone(&self) -> Self {
1757         *self
1758     }
1759 }
1760 #[repr(C)]
1761 #[cfg(feature = "Win32_Foundation")]
1762 pub 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")]
1769 impl ::core::marker::Copy for KERB_S4U2PROXY_CACHE_ENTRY_INFO {}
1770 #[cfg(feature = "Win32_Foundation")]
1771 impl ::core::clone::Clone for KERB_S4U2PROXY_CACHE_ENTRY_INFO {
clone(&self) -> Self1772     fn clone(&self) -> Self {
1773         *self
1774     }
1775 }
1776 pub const KERB_S4U2PROXY_CACHE_ENTRY_INFO_FLAG_NEGATIVE: u32 = 1u32;
1777 #[repr(C)]
1778 #[cfg(feature = "Win32_Foundation")]
1779 pub 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")]
1789 impl ::core::marker::Copy for KERB_S4U2PROXY_CRED {}
1790 #[cfg(feature = "Win32_Foundation")]
1791 impl ::core::clone::Clone for KERB_S4U2PROXY_CRED {
clone(&self) -> Self1792     fn clone(&self) -> Self {
1793         *self
1794     }
1795 }
1796 pub const KERB_S4U2PROXY_CRED_FLAG_NEGATIVE: u32 = 1u32;
1797 #[repr(C)]
1798 #[cfg(feature = "Win32_Foundation")]
1799 pub 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")]
1806 impl ::core::marker::Copy for KERB_S4U_LOGON {}
1807 #[cfg(feature = "Win32_Foundation")]
1808 impl ::core::clone::Clone for KERB_S4U_LOGON {
clone(&self) -> Self1809     fn clone(&self) -> Self {
1810         *self
1811     }
1812 }
1813 pub const KERB_S4U_LOGON_FLAG_CHECK_LOGONHOURS: u32 = 2u32;
1814 pub const KERB_S4U_LOGON_FLAG_IDENTIFY: u32 = 8u32;
1815 #[repr(C)]
1816 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
1817 pub 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"))]
1832 impl ::core::marker::Copy for KERB_SETPASSWORD_EX_REQUEST {}
1833 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
1834 impl ::core::clone::Clone for KERB_SETPASSWORD_EX_REQUEST {
clone(&self) -> Self1835     fn clone(&self) -> Self {
1836         *self
1837     }
1838 }
1839 #[repr(C)]
1840 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
1841 pub 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"))]
1851 impl ::core::marker::Copy for KERB_SETPASSWORD_REQUEST {}
1852 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
1853 impl ::core::clone::Clone for KERB_SETPASSWORD_REQUEST {
clone(&self) -> Self1854     fn clone(&self) -> Self {
1855         *self
1856     }
1857 }
1858 pub const KERB_SETPASS_USE_CREDHANDLE: u32 = 2u32;
1859 pub const KERB_SETPASS_USE_LOGONID: u32 = 1u32;
1860 #[repr(C)]
1861 #[cfg(feature = "Win32_Foundation")]
1862 pub 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")]
1869 impl ::core::marker::Copy for KERB_SMART_CARD_LOGON {}
1870 #[cfg(feature = "Win32_Foundation")]
1871 impl ::core::clone::Clone for KERB_SMART_CARD_LOGON {
clone(&self) -> Self1872     fn clone(&self) -> Self {
1873         *self
1874     }
1875 }
1876 #[repr(C)]
1877 #[cfg(feature = "Win32_Foundation")]
1878 pub 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")]
1884 impl ::core::marker::Copy for KERB_SMART_CARD_PROFILE {}
1885 #[cfg(feature = "Win32_Foundation")]
1886 impl ::core::clone::Clone for KERB_SMART_CARD_PROFILE {
clone(&self) -> Self1887     fn clone(&self) -> Self {
1888         *self
1889     }
1890 }
1891 #[repr(C)]
1892 #[cfg(feature = "Win32_Foundation")]
1893 pub 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")]
1898 impl ::core::marker::Copy for KERB_SMART_CARD_UNLOCK_LOGON {}
1899 #[cfg(feature = "Win32_Foundation")]
1900 impl ::core::clone::Clone for KERB_SMART_CARD_UNLOCK_LOGON {
clone(&self) -> Self1901     fn clone(&self) -> Self {
1902         *self
1903     }
1904 }
1905 #[repr(C)]
1906 #[cfg(feature = "Win32_Foundation")]
1907 pub 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")]
1916 impl ::core::marker::Copy for KERB_SUBMIT_TKT_REQUEST {}
1917 #[cfg(feature = "Win32_Foundation")]
1918 impl ::core::clone::Clone for KERB_SUBMIT_TKT_REQUEST {
clone(&self) -> Self1919     fn clone(&self) -> Self {
1920         *self
1921     }
1922 }
1923 #[repr(C)]
1924 #[cfg(feature = "Win32_Foundation")]
1925 pub 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")]
1935 impl ::core::marker::Copy for KERB_TICKET_CACHE_INFO {}
1936 #[cfg(feature = "Win32_Foundation")]
1937 impl ::core::clone::Clone for KERB_TICKET_CACHE_INFO {
clone(&self) -> Self1938     fn clone(&self) -> Self {
1939         *self
1940     }
1941 }
1942 #[repr(C)]
1943 #[cfg(feature = "Win32_Foundation")]
1944 pub 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")]
1956 impl ::core::marker::Copy for KERB_TICKET_CACHE_INFO_EX {}
1957 #[cfg(feature = "Win32_Foundation")]
1958 impl ::core::clone::Clone for KERB_TICKET_CACHE_INFO_EX {
clone(&self) -> Self1959     fn clone(&self) -> Self {
1960         *self
1961     }
1962 }
1963 #[repr(C)]
1964 #[cfg(feature = "Win32_Foundation")]
1965 pub 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")]
1979 impl ::core::marker::Copy for KERB_TICKET_CACHE_INFO_EX2 {}
1980 #[cfg(feature = "Win32_Foundation")]
1981 impl ::core::clone::Clone for KERB_TICKET_CACHE_INFO_EX2 {
clone(&self) -> Self1982     fn clone(&self) -> Self {
1983         *self
1984     }
1985 }
1986 #[repr(C)]
1987 #[cfg(feature = "Win32_Foundation")]
1988 pub 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")]
2004 impl ::core::marker::Copy for KERB_TICKET_CACHE_INFO_EX3 {}
2005 #[cfg(feature = "Win32_Foundation")]
2006 impl ::core::clone::Clone for KERB_TICKET_CACHE_INFO_EX3 {
clone(&self) -> Self2007     fn clone(&self) -> Self {
2008         *self
2009     }
2010 }
2011 pub type KERB_TICKET_FLAGS = u32;
2012 pub const KERB_TICKET_FLAGS_forwardable: KERB_TICKET_FLAGS = 1073741824u32;
2013 pub const KERB_TICKET_FLAGS_forwarded: KERB_TICKET_FLAGS = 536870912u32;
2014 pub const KERB_TICKET_FLAGS_hw_authent: KERB_TICKET_FLAGS = 1048576u32;
2015 pub const KERB_TICKET_FLAGS_initial: KERB_TICKET_FLAGS = 4194304u32;
2016 pub const KERB_TICKET_FLAGS_invalid: KERB_TICKET_FLAGS = 16777216u32;
2017 pub const KERB_TICKET_FLAGS_may_postdate: KERB_TICKET_FLAGS = 67108864u32;
2018 pub const KERB_TICKET_FLAGS_ok_as_delegate: KERB_TICKET_FLAGS = 262144u32;
2019 pub const KERB_TICKET_FLAGS_postdated: KERB_TICKET_FLAGS = 33554432u32;
2020 pub const KERB_TICKET_FLAGS_pre_authent: KERB_TICKET_FLAGS = 2097152u32;
2021 pub const KERB_TICKET_FLAGS_proxiable: KERB_TICKET_FLAGS = 268435456u32;
2022 pub const KERB_TICKET_FLAGS_proxy: KERB_TICKET_FLAGS = 134217728u32;
2023 pub const KERB_TICKET_FLAGS_renewable: KERB_TICKET_FLAGS = 8388608u32;
2024 pub const KERB_TICKET_FLAGS_reserved: KERB_TICKET_FLAGS = 2147483648u32;
2025 pub const KERB_TICKET_FLAGS_reserved1: KERB_TICKET_FLAGS = 1u32;
2026 pub const KERB_TICKET_FLAGS_cname_in_pa_data: u32 = 262144u32;
2027 pub const KERB_TICKET_FLAGS_enc_pa_rep: u32 = 65536u32;
2028 pub const KERB_TICKET_FLAGS_name_canonicalize: u32 = 65536u32;
2029 #[repr(C)]
2030 pub 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 }
2038 impl ::core::marker::Copy for KERB_TICKET_LOGON {}
2039 impl ::core::clone::Clone for KERB_TICKET_LOGON {
clone(&self) -> Self2040     fn clone(&self) -> Self {
2041         *self
2042     }
2043 }
2044 #[repr(C)]
2045 #[cfg(feature = "Win32_Foundation")]
2046 pub struct KERB_TICKET_PROFILE {
2047     pub Profile: KERB_INTERACTIVE_PROFILE,
2048     pub SessionKey: KERB_CRYPTO_KEY,
2049 }
2050 #[cfg(feature = "Win32_Foundation")]
2051 impl ::core::marker::Copy for KERB_TICKET_PROFILE {}
2052 #[cfg(feature = "Win32_Foundation")]
2053 impl ::core::clone::Clone for KERB_TICKET_PROFILE {
clone(&self) -> Self2054     fn clone(&self) -> Self {
2055         *self
2056     }
2057 }
2058 #[repr(C)]
2059 #[cfg(feature = "Win32_Foundation")]
2060 pub 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")]
2065 impl ::core::marker::Copy for KERB_TICKET_UNLOCK_LOGON {}
2066 #[cfg(feature = "Win32_Foundation")]
2067 impl ::core::clone::Clone for KERB_TICKET_UNLOCK_LOGON {
clone(&self) -> Self2068     fn clone(&self) -> Self {
2069         *self
2070     }
2071 }
2072 pub const KERB_TRANSFER_CRED_CLEANUP_CREDENTIALS: u32 = 2u32;
2073 #[repr(C)]
2074 #[cfg(feature = "Win32_Foundation")]
2075 pub 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")]
2082 impl ::core::marker::Copy for KERB_TRANSFER_CRED_REQUEST {}
2083 #[cfg(feature = "Win32_Foundation")]
2084 impl ::core::clone::Clone for KERB_TRANSFER_CRED_REQUEST {
clone(&self) -> Self2085     fn clone(&self) -> Self {
2086         *self
2087     }
2088 }
2089 pub const KERB_TRANSFER_CRED_WITH_TICKETS: u32 = 1u32;
2090 pub const KERB_USE_DEFAULT_TICKET_FLAGS: u32 = 0u32;
2091 pub const KERB_WRAP_NO_ENCRYPT: u32 = 2147483649u32;
2092 pub const KERN_CONTEXT_CERT_INFO_V1: u32 = 0u32;
2093 pub const KRB_NT_ENTERPRISE_PRINCIPAL: u32 = 10u32;
2094 pub const KRB_NT_ENT_PRINCIPAL_AND_ID: i32 = -130i32;
2095 pub const KRB_NT_MS_BRANCH_ID: i32 = -133i32;
2096 pub const KRB_NT_MS_PRINCIPAL: i32 = -128i32;
2097 pub const KRB_NT_MS_PRINCIPAL_AND_ID: i32 = -129i32;
2098 pub const KRB_NT_PRINCIPAL: u32 = 1u32;
2099 pub const KRB_NT_PRINCIPAL_AND_ID: i32 = -131i32;
2100 pub const KRB_NT_SRV_HST: u32 = 3u32;
2101 pub const KRB_NT_SRV_INST: u32 = 2u32;
2102 pub const KRB_NT_SRV_INST_AND_ID: i32 = -132i32;
2103 pub const KRB_NT_SRV_XHST: u32 = 4u32;
2104 pub const KRB_NT_UID: u32 = 5u32;
2105 pub const KRB_NT_UNKNOWN: u32 = 0u32;
2106 pub const KRB_NT_WELLKNOWN: u32 = 11u32;
2107 pub const KRB_NT_X500_PRINCIPAL: u32 = 6u32;
2108 pub type KSEC_CONTEXT_TYPE = i32;
2109 pub const KSecPaged: KSEC_CONTEXT_TYPE = 0i32;
2110 pub const KSecNonPaged: KSEC_CONTEXT_TYPE = 1i32;
2111 #[repr(C)]
2112 #[cfg(feature = "Win32_System_Kernel")]
2113 pub 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")]
2121 impl ::core::marker::Copy for KSEC_LIST_ENTRY {}
2122 #[cfg(feature = "Win32_System_Kernel")]
2123 impl ::core::clone::Clone for KSEC_LIST_ENTRY {
clone(&self) -> Self2124     fn clone(&self) -> Self {
2125         *self
2126     }
2127 }
2128 #[cfg(feature = "Win32_Foundation")]
2129 pub type KspCompleteTokenFn = unsafe extern "system" fn(contextid: usize, token: *const SecBufferDesc) -> super::super::super::Foundation::NTSTATUS;
2130 #[cfg(feature = "Win32_Foundation")]
2131 pub type KspDeleteContextFn = unsafe extern "system" fn(contextid: usize, lsacontextid: *mut usize) -> super::super::super::Foundation::NTSTATUS;
2132 #[cfg(feature = "Win32_Foundation")]
2133 pub 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")]
2135 pub 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"))]
2137 pub type KspInitPackageFn = unsafe extern "system" fn(functiontable: *const SECPKG_KERNEL_FUNCTIONS) -> super::super::super::Foundation::NTSTATUS;
2138 #[cfg(feature = "Win32_Foundation")]
2139 pub 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")]
2141 pub type KspMapHandleFn = unsafe extern "system" fn(contextid: usize, lsacontextid: *mut usize) -> super::super::super::Foundation::NTSTATUS;
2142 #[cfg(feature = "Win32_Foundation")]
2143 pub 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")]
2145 pub 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")]
2147 pub 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")]
2149 pub type KspSetPagingModeFn = unsafe extern "system" fn(pagingmode: super::super::super::Foundation::BOOLEAN) -> super::super::super::Foundation::NTSTATUS;
2150 #[cfg(feature = "Win32_Foundation")]
2151 pub 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")]
2153 pub type KspVerifySignatureFn = unsafe extern "system" fn(contextid: usize, message: *const SecBufferDesc, messageseqno: u32, pfqop: *mut u32) -> super::super::super::Foundation::NTSTATUS;
2154 pub const LCRED_CRED_EXISTS: u32 = 1u32;
2155 pub const LCRED_STATUS_NOCRED: u32 = 0u32;
2156 pub const LCRED_STATUS_UNKNOWN_ISSUER: u32 = 2u32;
2157 pub const LOGON_GRACE_LOGON: u32 = 16777216u32;
2158 #[repr(C)]
2159 pub struct LOGON_HOURS {
2160     pub UnitsPerWeek: u16,
2161     pub LogonHours: *mut u8,
2162 }
2163 impl ::core::marker::Copy for LOGON_HOURS {}
2164 impl ::core::clone::Clone for LOGON_HOURS {
clone(&self) -> Self2165     fn clone(&self) -> Self {
2166         *self
2167     }
2168 }
2169 pub const LOGON_LM_V2: u32 = 4096u32;
2170 pub const LOGON_MANAGED_SERVICE: u32 = 524288u32;
2171 pub const LOGON_NO_ELEVATION: u32 = 262144u32;
2172 pub const LOGON_NO_OPTIMIZED: u32 = 131072u32;
2173 pub const LOGON_NTLMV2_ENABLED: u32 = 256u32;
2174 pub const LOGON_NTLM_V2: u32 = 8192u32;
2175 pub const LOGON_NT_V2: u32 = 2048u32;
2176 pub const LOGON_OPTIMIZED: u32 = 16384u32;
2177 pub const LOGON_PKINIT: u32 = 65536u32;
2178 pub const LOGON_WINLOGON: u32 = 32768u32;
2179 pub const LOOKUP_TRANSLATE_NAMES: u32 = 2048u32;
2180 pub const LOOKUP_VIEW_LOCAL_INFORMATION: u32 = 1u32;
2181 pub const LSASETCAPS_RELOAD_FLAG: u32 = 1u32;
2182 pub const LSASETCAPS_VALID_FLAG_MASK: u32 = 1u32;
2183 #[cfg(feature = "Win32_Foundation")]
2184 pub 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)]
2186 pub 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 }
2192 impl ::core::marker::Copy for LSA_AUTH_INFORMATION {}
2193 impl ::core::clone::Clone for LSA_AUTH_INFORMATION {
clone(&self) -> Self2194     fn clone(&self) -> Self {
2195         *self
2196     }
2197 }
2198 pub type LSA_AUTH_INFORMATION_AUTH_TYPE = u32;
2199 pub const TRUST_AUTH_TYPE_NONE: LSA_AUTH_INFORMATION_AUTH_TYPE = 0u32;
2200 pub const TRUST_AUTH_TYPE_NT4OWF: LSA_AUTH_INFORMATION_AUTH_TYPE = 1u32;
2201 pub const TRUST_AUTH_TYPE_CLEAR: LSA_AUTH_INFORMATION_AUTH_TYPE = 2u32;
2202 pub const TRUST_AUTH_TYPE_VERSION: LSA_AUTH_INFORMATION_AUTH_TYPE = 3u32;
2203 pub const LSA_CALL_LICENSE_SERVER: u32 = 2147483648u32;
2204 #[repr(C)]
2205 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
2206 pub 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"))]
2220 impl ::core::marker::Copy for LSA_DISPATCH_TABLE {}
2221 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
2222 impl ::core::clone::Clone for LSA_DISPATCH_TABLE {
clone(&self) -> Self2223     fn clone(&self) -> Self {
2224         *self
2225     }
2226 }
2227 #[repr(C)]
2228 #[cfg(feature = "Win32_Foundation")]
2229 pub struct LSA_ENUMERATION_INFORMATION {
2230     pub Sid: super::super::super::Foundation::PSID,
2231 }
2232 #[cfg(feature = "Win32_Foundation")]
2233 impl ::core::marker::Copy for LSA_ENUMERATION_INFORMATION {}
2234 #[cfg(feature = "Win32_Foundation")]
2235 impl ::core::clone::Clone for LSA_ENUMERATION_INFORMATION {
clone(&self) -> Self2236     fn clone(&self) -> Self {
2237         *self
2238     }
2239 }
2240 #[repr(C)]
2241 pub struct LSA_FOREST_TRUST_BINARY_DATA {
2242     pub Length: u32,
2243     pub Buffer: *mut u8,
2244 }
2245 impl ::core::marker::Copy for LSA_FOREST_TRUST_BINARY_DATA {}
2246 impl ::core::clone::Clone for LSA_FOREST_TRUST_BINARY_DATA {
clone(&self) -> Self2247     fn clone(&self) -> Self {
2248         *self
2249     }
2250 }
2251 #[repr(C)]
2252 #[cfg(feature = "Win32_Foundation")]
2253 pub 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")]
2258 impl ::core::marker::Copy for LSA_FOREST_TRUST_COLLISION_INFORMATION {}
2259 #[cfg(feature = "Win32_Foundation")]
2260 impl ::core::clone::Clone for LSA_FOREST_TRUST_COLLISION_INFORMATION {
clone(&self) -> Self2261     fn clone(&self) -> Self {
2262         *self
2263     }
2264 }
2265 #[repr(C)]
2266 #[cfg(feature = "Win32_Foundation")]
2267 pub 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")]
2274 impl ::core::marker::Copy for LSA_FOREST_TRUST_COLLISION_RECORD {}
2275 #[cfg(feature = "Win32_Foundation")]
2276 impl ::core::clone::Clone for LSA_FOREST_TRUST_COLLISION_RECORD {
clone(&self) -> Self2277     fn clone(&self) -> Self {
2278         *self
2279     }
2280 }
2281 pub type LSA_FOREST_TRUST_COLLISION_RECORD_TYPE = i32;
2282 pub const CollisionTdo: LSA_FOREST_TRUST_COLLISION_RECORD_TYPE = 0i32;
2283 pub const CollisionXref: LSA_FOREST_TRUST_COLLISION_RECORD_TYPE = 1i32;
2284 pub const CollisionOther: LSA_FOREST_TRUST_COLLISION_RECORD_TYPE = 2i32;
2285 #[repr(C)]
2286 #[cfg(feature = "Win32_Foundation")]
2287 pub 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")]
2293 impl ::core::marker::Copy for LSA_FOREST_TRUST_DOMAIN_INFO {}
2294 #[cfg(feature = "Win32_Foundation")]
2295 impl ::core::clone::Clone for LSA_FOREST_TRUST_DOMAIN_INFO {
clone(&self) -> Self2296     fn clone(&self) -> Self {
2297         *self
2298     }
2299 }
2300 #[repr(C)]
2301 #[cfg(feature = "Win32_Foundation")]
2302 pub struct LSA_FOREST_TRUST_INFORMATION {
2303     pub RecordCount: u32,
2304     pub Entries: *mut *mut LSA_FOREST_TRUST_RECORD,
2305 }
2306 #[cfg(feature = "Win32_Foundation")]
2307 impl ::core::marker::Copy for LSA_FOREST_TRUST_INFORMATION {}
2308 #[cfg(feature = "Win32_Foundation")]
2309 impl ::core::clone::Clone for LSA_FOREST_TRUST_INFORMATION {
clone(&self) -> Self2310     fn clone(&self) -> Self {
2311         *self
2312     }
2313 }
2314 #[repr(C)]
2315 #[cfg(feature = "Win32_Foundation")]
2316 pub 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")]
2323 impl ::core::marker::Copy for LSA_FOREST_TRUST_RECORD {}
2324 #[cfg(feature = "Win32_Foundation")]
2325 impl ::core::clone::Clone for LSA_FOREST_TRUST_RECORD {
clone(&self) -> Self2326     fn clone(&self) -> Self {
2327         *self
2328     }
2329 }
2330 #[repr(C)]
2331 #[cfg(feature = "Win32_Foundation")]
2332 pub 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")]
2338 impl ::core::marker::Copy for LSA_FOREST_TRUST_RECORD_0 {}
2339 #[cfg(feature = "Win32_Foundation")]
2340 impl ::core::clone::Clone for LSA_FOREST_TRUST_RECORD_0 {
clone(&self) -> Self2341     fn clone(&self) -> Self {
2342         *self
2343     }
2344 }
2345 pub type LSA_FOREST_TRUST_RECORD_TYPE = i32;
2346 pub const ForestTrustTopLevelName: LSA_FOREST_TRUST_RECORD_TYPE = 0i32;
2347 pub const ForestTrustTopLevelNameEx: LSA_FOREST_TRUST_RECORD_TYPE = 1i32;
2348 pub const ForestTrustDomainInfo: LSA_FOREST_TRUST_RECORD_TYPE = 2i32;
2349 pub const ForestTrustRecordTypeLast: LSA_FOREST_TRUST_RECORD_TYPE = 2i32;
2350 pub const LSA_FOREST_TRUST_RECORD_TYPE_UNRECOGNIZED: u32 = 2147483648u32;
2351 pub const LSA_FTRECORD_DISABLED_REASONS: i32 = 65535i32;
2352 pub const LSA_GLOBAL_SECRET_PREFIX_LENGTH: u32 = 2u32;
2353 #[repr(C)]
2354 pub struct LSA_LAST_INTER_LOGON_INFO {
2355     pub LastSuccessfulLogon: i64,
2356     pub LastFailedLogon: i64,
2357     pub FailedAttemptCountSinceLastSuccessfulLogon: u32,
2358 }
2359 impl ::core::marker::Copy for LSA_LAST_INTER_LOGON_INFO {}
2360 impl ::core::clone::Clone for LSA_LAST_INTER_LOGON_INFO {
clone(&self) -> Self2361     fn clone(&self) -> Self {
2362         *self
2363     }
2364 }
2365 pub const LSA_LOCAL_SECRET_PREFIX_LENGTH: u32 = 2u32;
2366 pub const LSA_LOOKUP_DISALLOW_CONNECTED_ACCOUNT_INTERNET_SID: u32 = 2147483648u32;
2367 pub type LSA_LOOKUP_DOMAIN_INFO_CLASS = i32;
2368 pub const AccountDomainInformation: LSA_LOOKUP_DOMAIN_INFO_CLASS = 5i32;
2369 pub const DnsDomainInformation: LSA_LOOKUP_DOMAIN_INFO_CLASS = 12i32;
2370 pub const LSA_LOOKUP_ISOLATED_AS_LOCAL: u32 = 2147483648u32;
2371 pub const LSA_LOOKUP_PREFER_INTERNET_NAMES: u32 = 1073741824u32;
2372 pub const LSA_MAXIMUM_ENUMERATION_LENGTH: u32 = 32000u32;
2373 pub const LSA_MAXIMUM_SID_COUNT: i32 = 256i32;
2374 pub const LSA_MODE_INDIVIDUAL_ACCOUNTS: i32 = 2i32;
2375 pub const LSA_MODE_LOG_FULL: i32 = 8i32;
2376 pub const LSA_MODE_MANDATORY_ACCESS: i32 = 4i32;
2377 pub const LSA_MODE_PASSWORD_PROTECTED: i32 = 1i32;
2378 pub const LSA_NB_DISABLED_ADMIN: i32 = 4i32;
2379 pub const LSA_NB_DISABLED_CONFLICT: i32 = 8i32;
2380 pub const LSA_QUERY_CLIENT_PRELOGON_SESSION_ID: u32 = 1u32;
2381 #[repr(C)]
2382 #[cfg(feature = "Win32_Foundation")]
2383 pub struct LSA_REFERENCED_DOMAIN_LIST {
2384     pub Entries: u32,
2385     pub Domains: *mut LSA_TRUST_INFORMATION,
2386 }
2387 #[cfg(feature = "Win32_Foundation")]
2388 impl ::core::marker::Copy for LSA_REFERENCED_DOMAIN_LIST {}
2389 #[cfg(feature = "Win32_Foundation")]
2390 impl ::core::clone::Clone for LSA_REFERENCED_DOMAIN_LIST {
clone(&self) -> Self2391     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"))]
2397 pub 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"))]
2463 impl ::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"))]
2465 impl ::core::clone::Clone for LSA_SECPKG_FUNCTION_TABLE {
clone(&self) -> Self2466     fn clone(&self) -> Self {
2467         *self
2468     }
2469 }
2470 pub const LSA_SECRET_MAXIMUM_COUNT: i32 = 4096i32;
2471 pub const LSA_SECRET_MAXIMUM_LENGTH: i32 = 512i32;
2472 pub const LSA_SID_DISABLED_ADMIN: i32 = 1i32;
2473 pub const LSA_SID_DISABLED_CONFLICT: i32 = 2i32;
2474 pub const LSA_TLN_DISABLED_ADMIN: i32 = 2i32;
2475 pub const LSA_TLN_DISABLED_CONFLICT: i32 = 4i32;
2476 pub const LSA_TLN_DISABLED_NEW: i32 = 1i32;
2477 #[repr(C)]
2478 #[cfg(feature = "Win32_Foundation")]
2479 pub struct LSA_TOKEN_INFORMATION_NULL {
2480     pub ExpirationTime: i64,
2481     pub Groups: *mut super::super::TOKEN_GROUPS,
2482 }
2483 #[cfg(feature = "Win32_Foundation")]
2484 impl ::core::marker::Copy for LSA_TOKEN_INFORMATION_NULL {}
2485 #[cfg(feature = "Win32_Foundation")]
2486 impl ::core::clone::Clone for LSA_TOKEN_INFORMATION_NULL {
clone(&self) -> Self2487     fn clone(&self) -> Self {
2488         *self
2489     }
2490 }
2491 pub type LSA_TOKEN_INFORMATION_TYPE = i32;
2492 pub const LsaTokenInformationNull: LSA_TOKEN_INFORMATION_TYPE = 0i32;
2493 pub const LsaTokenInformationV1: LSA_TOKEN_INFORMATION_TYPE = 1i32;
2494 pub const LsaTokenInformationV2: LSA_TOKEN_INFORMATION_TYPE = 2i32;
2495 pub const LsaTokenInformationV3: LSA_TOKEN_INFORMATION_TYPE = 3i32;
2496 #[repr(C)]
2497 #[cfg(feature = "Win32_Foundation")]
2498 pub 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")]
2508 impl ::core::marker::Copy for LSA_TOKEN_INFORMATION_V1 {}
2509 #[cfg(feature = "Win32_Foundation")]
2510 impl ::core::clone::Clone for LSA_TOKEN_INFORMATION_V1 {
clone(&self) -> Self2511     fn clone(&self) -> Self {
2512         *self
2513     }
2514 }
2515 #[repr(C)]
2516 #[cfg(feature = "Win32_Foundation")]
2517 pub 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")]
2530 impl ::core::marker::Copy for LSA_TOKEN_INFORMATION_V3 {}
2531 #[cfg(feature = "Win32_Foundation")]
2532 impl ::core::clone::Clone for LSA_TOKEN_INFORMATION_V3 {
clone(&self) -> Self2533     fn clone(&self) -> Self {
2534         *self
2535     }
2536 }
2537 #[repr(C)]
2538 #[cfg(feature = "Win32_Foundation")]
2539 pub 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")]
2545 impl ::core::marker::Copy for LSA_TRANSLATED_NAME {}
2546 #[cfg(feature = "Win32_Foundation")]
2547 impl ::core::clone::Clone for LSA_TRANSLATED_NAME {
clone(&self) -> Self2548     fn clone(&self) -> Self {
2549         *self
2550     }
2551 }
2552 #[repr(C)]
2553 pub struct LSA_TRANSLATED_SID {
2554     pub Use: super::super::SID_NAME_USE,
2555     pub RelativeId: u32,
2556     pub DomainIndex: i32,
2557 }
2558 impl ::core::marker::Copy for LSA_TRANSLATED_SID {}
2559 impl ::core::clone::Clone for LSA_TRANSLATED_SID {
clone(&self) -> Self2560     fn clone(&self) -> Self {
2561         *self
2562     }
2563 }
2564 #[repr(C)]
2565 #[cfg(feature = "Win32_Foundation")]
2566 pub 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")]
2573 impl ::core::marker::Copy for LSA_TRANSLATED_SID2 {}
2574 #[cfg(feature = "Win32_Foundation")]
2575 impl ::core::clone::Clone for LSA_TRANSLATED_SID2 {
clone(&self) -> Self2576     fn clone(&self) -> Self {
2577         *self
2578     }
2579 }
2580 #[repr(C)]
2581 #[cfg(feature = "Win32_Foundation")]
2582 pub 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")]
2587 impl ::core::marker::Copy for LSA_TRUST_INFORMATION {}
2588 #[cfg(feature = "Win32_Foundation")]
2589 impl ::core::clone::Clone for LSA_TRUST_INFORMATION {
clone(&self) -> Self2590     fn clone(&self) -> Self {
2591         *self
2592     }
2593 }
2594 pub type LsaHandle = isize;
2595 #[cfg(feature = "Win32_Security_Credentials")]
2596 pub type MAKE_SIGNATURE_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut SecBufferDesc, param3: u32) -> i32;
2597 pub const MAXIMUM_CAPES_PER_CAP: u32 = 127u32;
2598 pub const MAX_CRED_SIZE: u32 = 1024u32;
2599 pub const MAX_PROTOCOL_ID_SIZE: u32 = 255u32;
2600 pub const MAX_RECORDS_IN_FOREST_TRUST_INFO: u32 = 4000u32;
2601 pub const MAX_USER_RECORDS: u32 = 1000u32;
2602 pub type MSV1_0 = u32;
2603 pub const MSV1_0_PASSTHRU: MSV1_0 = 1u32;
2604 pub const MSV1_0_GUEST_LOGON: MSV1_0 = 2u32;
2605 pub const MSV1_0_ALLOW_FORCE_GUEST: u32 = 8192u32;
2606 pub const MSV1_0_ALLOW_MSVCHAPV2: u32 = 65536u32;
2607 pub type MSV1_0_AVID = i32;
2608 pub const MsvAvEOL: MSV1_0_AVID = 0i32;
2609 pub const MsvAvNbComputerName: MSV1_0_AVID = 1i32;
2610 pub const MsvAvNbDomainName: MSV1_0_AVID = 2i32;
2611 pub const MsvAvDnsComputerName: MSV1_0_AVID = 3i32;
2612 pub const MsvAvDnsDomainName: MSV1_0_AVID = 4i32;
2613 pub const MsvAvDnsTreeName: MSV1_0_AVID = 5i32;
2614 pub const MsvAvFlags: MSV1_0_AVID = 6i32;
2615 pub const MsvAvTimestamp: MSV1_0_AVID = 7i32;
2616 pub const MsvAvRestrictions: MSV1_0_AVID = 8i32;
2617 pub const MsvAvTargetName: MSV1_0_AVID = 9i32;
2618 pub const MsvAvChannelBindings: MSV1_0_AVID = 10i32;
2619 pub const MSV1_0_AV_FLAG_FORCE_GUEST: u32 = 1u32;
2620 pub const MSV1_0_AV_FLAG_MIC_HANDSHAKE_MESSAGES: u32 = 2u32;
2621 pub const MSV1_0_AV_FLAG_UNVERIFIED_TARGET: u32 = 4u32;
2622 #[repr(C)]
2623 pub struct MSV1_0_AV_PAIR {
2624     pub AvId: u16,
2625     pub AvLen: u16,
2626 }
2627 impl ::core::marker::Copy for MSV1_0_AV_PAIR {}
2628 impl ::core::clone::Clone for MSV1_0_AV_PAIR {
clone(&self) -> Self2629     fn clone(&self) -> Self {
2630         *self
2631     }
2632 }
2633 pub const MSV1_0_CHALLENGE_LENGTH: u32 = 8u32;
2634 #[repr(C)]
2635 #[cfg(feature = "Win32_Foundation")]
2636 pub 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")]
2645 impl ::core::marker::Copy for MSV1_0_CHANGEPASSWORD_REQUEST {}
2646 #[cfg(feature = "Win32_Foundation")]
2647 impl ::core::clone::Clone for MSV1_0_CHANGEPASSWORD_REQUEST {
clone(&self) -> Self2648     fn clone(&self) -> Self {
2649         *self
2650     }
2651 }
2652 #[repr(C)]
2653 #[cfg(feature = "Win32_Foundation")]
2654 pub 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")]
2660 impl ::core::marker::Copy for MSV1_0_CHANGEPASSWORD_RESPONSE {}
2661 #[cfg(feature = "Win32_Foundation")]
2662 impl ::core::clone::Clone for MSV1_0_CHANGEPASSWORD_RESPONSE {
clone(&self) -> Self2663     fn clone(&self) -> Self {
2664         *self
2665     }
2666 }
2667 pub const MSV1_0_CHECK_LOGONHOURS_FOR_S4U: u32 = 262144u32;
2668 pub const MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED: u32 = 16384u32;
2669 #[repr(C)]
2670 pub struct MSV1_0_CREDENTIAL_KEY {
2671     pub Data: [u8; 20],
2672 }
2673 impl ::core::marker::Copy for MSV1_0_CREDENTIAL_KEY {}
2674 impl ::core::clone::Clone for MSV1_0_CREDENTIAL_KEY {
clone(&self) -> Self2675     fn clone(&self) -> Self {
2676         *self
2677     }
2678 }
2679 pub const MSV1_0_CREDENTIAL_KEY_LENGTH: u32 = 20u32;
2680 pub type MSV1_0_CREDENTIAL_KEY_TYPE = i32;
2681 pub const InvalidCredKey: MSV1_0_CREDENTIAL_KEY_TYPE = 0i32;
2682 pub const DeprecatedIUMCredKey: MSV1_0_CREDENTIAL_KEY_TYPE = 1i32;
2683 pub const DomainUserCredKey: MSV1_0_CREDENTIAL_KEY_TYPE = 2i32;
2684 pub const LocalUserCredKey: MSV1_0_CREDENTIAL_KEY_TYPE = 3i32;
2685 pub const ExternallySuppliedCredKey: MSV1_0_CREDENTIAL_KEY_TYPE = 4i32;
2686 pub const MSV1_0_CRED_CREDKEY_PRESENT: u32 = 8u32;
2687 pub const MSV1_0_CRED_REMOVED: u32 = 4u32;
2688 pub const MSV1_0_CRED_SHA_PRESENT: u32 = 16u32;
2689 pub const MSV1_0_CRED_VERSION_ARSO: u32 = 4294901763u32;
2690 pub const MSV1_0_CRED_VERSION_INVALID: u32 = 4294967295u32;
2691 pub const MSV1_0_CRED_VERSION_IUM: u32 = 4294901761u32;
2692 pub const MSV1_0_CRED_VERSION_REMOTE: u32 = 4294901762u32;
2693 pub const MSV1_0_CRED_VERSION_RESERVED_1: u32 = 4294967294u32;
2694 pub const MSV1_0_CRED_VERSION_V2: u32 = 2u32;
2695 pub const MSV1_0_CRED_VERSION_V3: u32 = 4u32;
2696 pub const MSV1_0_DISABLE_PERSONAL_FALLBACK: u32 = 4096u32;
2697 #[repr(C)]
2698 #[cfg(feature = "Win32_Foundation")]
2699 pub 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")]
2706 impl ::core::marker::Copy for MSV1_0_INTERACTIVE_LOGON {}
2707 #[cfg(feature = "Win32_Foundation")]
2708 impl ::core::clone::Clone for MSV1_0_INTERACTIVE_LOGON {
clone(&self) -> Self2709     fn clone(&self) -> Self {
2710         *self
2711     }
2712 }
2713 #[repr(C)]
2714 #[cfg(feature = "Win32_Foundation")]
2715 pub 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")]
2734 impl ::core::marker::Copy for MSV1_0_INTERACTIVE_PROFILE {}
2735 #[cfg(feature = "Win32_Foundation")]
2736 impl ::core::clone::Clone for MSV1_0_INTERACTIVE_PROFILE {
clone(&self) -> Self2737     fn clone(&self) -> Self {
2738         *self
2739     }
2740 }
2741 pub const MSV1_0_INTERNET_DOMAIN: u32 = 524288u32;
2742 #[repr(C)]
2743 pub struct MSV1_0_IUM_SUPPLEMENTAL_CREDENTIAL {
2744     pub Version: u32,
2745     pub EncryptedCredsSize: u32,
2746     pub EncryptedCreds: [u8; 1],
2747 }
2748 impl ::core::marker::Copy for MSV1_0_IUM_SUPPLEMENTAL_CREDENTIAL {}
2749 impl ::core::clone::Clone for MSV1_0_IUM_SUPPLEMENTAL_CREDENTIAL {
clone(&self) -> Self2750     fn clone(&self) -> Self {
2751         *self
2752     }
2753 }
2754 pub const MSV1_0_LANMAN_SESSION_KEY_LENGTH: u32 = 8u32;
2755 #[repr(C)]
2756 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
2757 pub 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"))]
2768 impl ::core::marker::Copy for MSV1_0_LM20_LOGON {}
2769 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
2770 impl ::core::clone::Clone for MSV1_0_LM20_LOGON {
clone(&self) -> Self2771     fn clone(&self) -> Self {
2772         *self
2773     }
2774 }
2775 #[repr(C)]
2776 #[cfg(feature = "Win32_Foundation")]
2777 pub 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")]
2789 impl ::core::marker::Copy for MSV1_0_LM20_LOGON_PROFILE {}
2790 #[cfg(feature = "Win32_Foundation")]
2791 impl ::core::clone::Clone for MSV1_0_LM20_LOGON_PROFILE {
clone(&self) -> Self2792     fn clone(&self) -> Self {
2793         *self
2794     }
2795 }
2796 pub type MSV1_0_LOGON_SUBMIT_TYPE = i32;
2797 pub const MsV1_0InteractiveLogon: MSV1_0_LOGON_SUBMIT_TYPE = 2i32;
2798 pub const MsV1_0Lm20Logon: MSV1_0_LOGON_SUBMIT_TYPE = 3i32;
2799 pub const MsV1_0NetworkLogon: MSV1_0_LOGON_SUBMIT_TYPE = 4i32;
2800 pub const MsV1_0SubAuthLogon: MSV1_0_LOGON_SUBMIT_TYPE = 5i32;
2801 pub const MsV1_0WorkstationUnlockLogon: MSV1_0_LOGON_SUBMIT_TYPE = 7i32;
2802 pub const MsV1_0S4ULogon: MSV1_0_LOGON_SUBMIT_TYPE = 12i32;
2803 pub const MsV1_0VirtualLogon: MSV1_0_LOGON_SUBMIT_TYPE = 82i32;
2804 pub const MsV1_0NoElevationLogon: MSV1_0_LOGON_SUBMIT_TYPE = 83i32;
2805 pub const MsV1_0LuidLogon: MSV1_0_LOGON_SUBMIT_TYPE = 84i32;
2806 pub const MSV1_0_MAX_AVL_SIZE: u32 = 64000u32;
2807 pub const MSV1_0_MAX_NTLM3_LIFE: u32 = 1800u32;
2808 pub const MSV1_0_MNS_LOGON: u32 = 16777216u32;
2809 pub const MSV1_0_NTLM3_OWF_LENGTH: u32 = 16u32;
2810 #[repr(C)]
2811 pub 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 }
2822 impl ::core::marker::Copy for MSV1_0_NTLM3_RESPONSE {}
2823 impl ::core::clone::Clone for MSV1_0_NTLM3_RESPONSE {
clone(&self) -> Self2824     fn clone(&self) -> Self {
2825         *self
2826     }
2827 }
2828 pub const MSV1_0_NTLM3_RESPONSE_LENGTH: u32 = 16u32;
2829 pub const MSV1_0_OWF_PASSWORD_LENGTH: u32 = 16u32;
2830 #[repr(C)]
2831 #[cfg(feature = "Win32_Foundation")]
2832 pub 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")]
2841 impl ::core::marker::Copy for MSV1_0_PASSTHROUGH_REQUEST {}
2842 #[cfg(feature = "Win32_Foundation")]
2843 impl ::core::clone::Clone for MSV1_0_PASSTHROUGH_REQUEST {
clone(&self) -> Self2844     fn clone(&self) -> Self {
2845         *self
2846     }
2847 }
2848 #[repr(C)]
2849 pub 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 }
2855 impl ::core::marker::Copy for MSV1_0_PASSTHROUGH_RESPONSE {}
2856 impl ::core::clone::Clone for MSV1_0_PASSTHROUGH_RESPONSE {
clone(&self) -> Self2857     fn clone(&self) -> Self {
2858         *self
2859     }
2860 }
2861 pub type MSV1_0_PROFILE_BUFFER_TYPE = i32;
2862 pub const MsV1_0InteractiveProfile: MSV1_0_PROFILE_BUFFER_TYPE = 2i32;
2863 pub const MsV1_0Lm20LogonProfile: MSV1_0_PROFILE_BUFFER_TYPE = 3i32;
2864 pub const MsV1_0SmartCardProfile: MSV1_0_PROFILE_BUFFER_TYPE = 4i32;
2865 pub type MSV1_0_PROTOCOL_MESSAGE_TYPE = i32;
2866 pub const MsV1_0Lm20ChallengeRequest: MSV1_0_PROTOCOL_MESSAGE_TYPE = 0i32;
2867 pub const MsV1_0Lm20GetChallengeResponse: MSV1_0_PROTOCOL_MESSAGE_TYPE = 1i32;
2868 pub const MsV1_0EnumerateUsers: MSV1_0_PROTOCOL_MESSAGE_TYPE = 2i32;
2869 pub const MsV1_0GetUserInfo: MSV1_0_PROTOCOL_MESSAGE_TYPE = 3i32;
2870 pub const MsV1_0ReLogonUsers: MSV1_0_PROTOCOL_MESSAGE_TYPE = 4i32;
2871 pub const MsV1_0ChangePassword: MSV1_0_PROTOCOL_MESSAGE_TYPE = 5i32;
2872 pub const MsV1_0ChangeCachedPassword: MSV1_0_PROTOCOL_MESSAGE_TYPE = 6i32;
2873 pub const MsV1_0GenericPassthrough: MSV1_0_PROTOCOL_MESSAGE_TYPE = 7i32;
2874 pub const MsV1_0CacheLogon: MSV1_0_PROTOCOL_MESSAGE_TYPE = 8i32;
2875 pub const MsV1_0SubAuth: MSV1_0_PROTOCOL_MESSAGE_TYPE = 9i32;
2876 pub const MsV1_0DeriveCredential: MSV1_0_PROTOCOL_MESSAGE_TYPE = 10i32;
2877 pub const MsV1_0CacheLookup: MSV1_0_PROTOCOL_MESSAGE_TYPE = 11i32;
2878 pub const MsV1_0SetProcessOption: MSV1_0_PROTOCOL_MESSAGE_TYPE = 12i32;
2879 pub const MsV1_0ConfigLocalAliases: MSV1_0_PROTOCOL_MESSAGE_TYPE = 13i32;
2880 pub const MsV1_0ClearCachedCredentials: MSV1_0_PROTOCOL_MESSAGE_TYPE = 14i32;
2881 pub const MsV1_0LookupToken: MSV1_0_PROTOCOL_MESSAGE_TYPE = 15i32;
2882 pub const MsV1_0ValidateAuth: MSV1_0_PROTOCOL_MESSAGE_TYPE = 16i32;
2883 pub const MsV1_0CacheLookupEx: MSV1_0_PROTOCOL_MESSAGE_TYPE = 17i32;
2884 pub const MsV1_0GetCredentialKey: MSV1_0_PROTOCOL_MESSAGE_TYPE = 18i32;
2885 pub const MsV1_0SetThreadOption: MSV1_0_PROTOCOL_MESSAGE_TYPE = 19i32;
2886 pub const MsV1_0DecryptDpapiMasterKey: MSV1_0_PROTOCOL_MESSAGE_TYPE = 20i32;
2887 pub const MsV1_0GetStrongCredentialKey: MSV1_0_PROTOCOL_MESSAGE_TYPE = 21i32;
2888 pub const MsV1_0TransferCred: MSV1_0_PROTOCOL_MESSAGE_TYPE = 22i32;
2889 pub const MsV1_0ProvisionTbal: MSV1_0_PROTOCOL_MESSAGE_TYPE = 23i32;
2890 pub const MsV1_0DeleteTbalSecrets: MSV1_0_PROTOCOL_MESSAGE_TYPE = 24i32;
2891 #[repr(C, packed(1))]
2892 pub 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 }
2900 impl ::core::marker::Copy for MSV1_0_REMOTE_SUPPLEMENTAL_CREDENTIAL {}
2901 impl ::core::clone::Clone for MSV1_0_REMOTE_SUPPLEMENTAL_CREDENTIAL {
clone(&self) -> Self2902     fn clone(&self) -> Self {
2903         *self
2904     }
2905 }
2906 pub const MSV1_0_S4U2SELF: u32 = 131072u32;
2907 #[repr(C)]
2908 #[cfg(feature = "Win32_Foundation")]
2909 pub 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")]
2916 impl ::core::marker::Copy for MSV1_0_S4U_LOGON {}
2917 #[cfg(feature = "Win32_Foundation")]
2918 impl ::core::clone::Clone for MSV1_0_S4U_LOGON {
clone(&self) -> Self2919     fn clone(&self) -> Self {
2920         *self
2921     }
2922 }
2923 pub const MSV1_0_S4U_LOGON_FLAG_CHECK_LOGONHOURS: u32 = 2u32;
2924 pub const MSV1_0_SHA_PASSWORD_LENGTH: u32 = 20u32;
2925 pub const MSV1_0_SUBAUTHENTICATION_DLL: u32 = 4278190080u32;
2926 pub const MSV1_0_SUBAUTHENTICATION_DLL_EX: u32 = 1048576u32;
2927 pub const MSV1_0_SUBAUTHENTICATION_DLL_IIS: u32 = 132u32;
2928 pub const MSV1_0_SUBAUTHENTICATION_DLL_RAS: u32 = 2u32;
2929 pub const MSV1_0_SUBAUTHENTICATION_DLL_SHIFT: u32 = 24u32;
2930 pub const MSV1_0_SUBAUTHENTICATION_FLAGS: u32 = 4278190080u32;
2931 pub const MSV1_0_SUBAUTH_ACCOUNT_DISABLED: u32 = 1u32;
2932 pub const MSV1_0_SUBAUTH_ACCOUNT_EXPIRY: u32 = 16u32;
2933 pub const MSV1_0_SUBAUTH_ACCOUNT_TYPE: u32 = 64u32;
2934 pub const MSV1_0_SUBAUTH_LOCKOUT: u32 = 128u32;
2935 #[repr(C)]
2936 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
2937 pub 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"))]
2949 impl ::core::marker::Copy for MSV1_0_SUBAUTH_LOGON {}
2950 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
2951 impl ::core::clone::Clone for MSV1_0_SUBAUTH_LOGON {
clone(&self) -> Self2952     fn clone(&self) -> Self {
2953         *self
2954     }
2955 }
2956 pub const MSV1_0_SUBAUTH_LOGON_HOURS: u32 = 8u32;
2957 pub const MSV1_0_SUBAUTH_PASSWORD: u32 = 2u32;
2958 pub const MSV1_0_SUBAUTH_PASSWORD_EXPIRY: u32 = 32u32;
2959 #[repr(C)]
2960 pub 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 }
2966 impl ::core::marker::Copy for MSV1_0_SUBAUTH_REQUEST {}
2967 impl ::core::clone::Clone for MSV1_0_SUBAUTH_REQUEST {
clone(&self) -> Self2968     fn clone(&self) -> Self {
2969         *self
2970     }
2971 }
2972 #[repr(C)]
2973 pub struct MSV1_0_SUBAUTH_RESPONSE {
2974     pub MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE,
2975     pub SubAuthInfoLength: u32,
2976     pub SubAuthReturnBuffer: *mut u8,
2977 }
2978 impl ::core::marker::Copy for MSV1_0_SUBAUTH_RESPONSE {}
2979 impl ::core::clone::Clone for MSV1_0_SUBAUTH_RESPONSE {
clone(&self) -> Self2980     fn clone(&self) -> Self {
2981         *self
2982     }
2983 }
2984 pub const MSV1_0_SUBAUTH_WORKSTATIONS: u32 = 4u32;
2985 #[repr(C)]
2986 pub 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 }
2992 impl ::core::marker::Copy for MSV1_0_SUPPLEMENTAL_CREDENTIAL {}
2993 impl ::core::clone::Clone for MSV1_0_SUPPLEMENTAL_CREDENTIAL {
clone(&self) -> Self2994     fn clone(&self) -> Self {
2995         *self
2996     }
2997 }
2998 #[repr(C)]
2999 pub 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 }
3005 impl ::core::marker::Copy for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V2 {}
3006 impl ::core::clone::Clone for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V2 {
clone(&self) -> Self3007     fn clone(&self) -> Self {
3008         *self
3009     }
3010 }
3011 #[repr(C)]
3012 pub 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 }
3020 impl ::core::marker::Copy for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V3 {}
3021 impl ::core::clone::Clone for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V3 {
clone(&self) -> Self3022     fn clone(&self) -> Self {
3023         *self
3024     }
3025 }
3026 pub const MSV1_0_USER_SESSION_KEY_LENGTH: u32 = 16u32;
3027 pub const MSV1_0_USE_CLIENT_CHALLENGE: u32 = 128u32;
3028 pub const MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY: u32 = 32768u32;
3029 #[repr(C)]
3030 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
3031 pub 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"))]
3043 impl ::core::marker::Copy for MSV1_0_VALIDATION_INFO {}
3044 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
3045 impl ::core::clone::Clone for MSV1_0_VALIDATION_INFO {
clone(&self) -> Self3046     fn clone(&self) -> Self {
3047         *self
3048     }
3049 }
3050 pub const MSV1_0_VALIDATION_KICKOFF_TIME: u32 = 2u32;
3051 pub const MSV1_0_VALIDATION_LOGOFF_TIME: u32 = 1u32;
3052 pub const MSV1_0_VALIDATION_LOGON_DOMAIN: u32 = 8u32;
3053 pub const MSV1_0_VALIDATION_LOGON_SERVER: u32 = 4u32;
3054 pub const MSV1_0_VALIDATION_SESSION_KEY: u32 = 16u32;
3055 pub const MSV1_0_VALIDATION_USER_FLAGS: u32 = 32u32;
3056 pub const MSV1_0_VALIDATION_USER_ID: u32 = 64u32;
3057 pub type MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = u32;
3058 pub const MSV1_0_CLEARTEXT_PASSWORD_ALLOWED: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = 2u32;
3059 pub const MSV1_0_UPDATE_LOGON_STATISTICS: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = 4u32;
3060 pub const MSV1_0_RETURN_USER_PARAMETERS: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = 8u32;
3061 pub const MSV1_0_DONT_TRY_GUEST_ACCOUNT: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = 16u32;
3062 pub const MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = 32u32;
3063 pub const MSV1_0_RETURN_PASSWORD_EXPIRY: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = 64u32;
3064 pub const MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = 2048u32;
3065 pub const MSV1_0_TRY_GUEST_ACCOUNT_ONLY: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = 256u32;
3066 pub const MSV1_0_RETURN_PROFILE_PATH: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = 512u32;
3067 pub const MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = 1024u32;
3068 pub type MSV_SUB_AUTHENTICATION_FILTER = u32;
3069 pub const LOGON_GUEST: MSV_SUB_AUTHENTICATION_FILTER = 1u32;
3070 pub const LOGON_NOENCRYPTION: MSV_SUB_AUTHENTICATION_FILTER = 2u32;
3071 pub const LOGON_CACHED_ACCOUNT: MSV_SUB_AUTHENTICATION_FILTER = 4u32;
3072 pub const LOGON_USED_LM_PASSWORD: MSV_SUB_AUTHENTICATION_FILTER = 8u32;
3073 pub const LOGON_EXTRA_SIDS: MSV_SUB_AUTHENTICATION_FILTER = 32u32;
3074 pub const LOGON_SUBAUTH_SESSION_KEY: MSV_SUB_AUTHENTICATION_FILTER = 64u32;
3075 pub const LOGON_SERVER_TRUST_ACCOUNT: MSV_SUB_AUTHENTICATION_FILTER = 128u32;
3076 pub const LOGON_PROFILE_PATH_RETURNED: MSV_SUB_AUTHENTICATION_FILTER = 1024u32;
3077 pub const LOGON_RESOURCE_GROUPS: MSV_SUB_AUTHENTICATION_FILTER = 512u32;
3078 pub type MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS = u32;
3079 pub const MSV1_0_CRED_LM_PRESENT: MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS = 1u32;
3080 pub const MSV1_0_CRED_NT_PRESENT: MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS = 2u32;
3081 pub const MSV1_0_CRED_VERSION: MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS = 0u32;
3082 pub const NEGOTIATE_ALLOW_NTLM: u32 = 268435456u32;
3083 #[repr(C)]
3084 #[cfg(feature = "Win32_Foundation")]
3085 pub struct NEGOTIATE_CALLER_NAME_REQUEST {
3086     pub MessageType: u32,
3087     pub LogonId: super::super::super::Foundation::LUID,
3088 }
3089 #[cfg(feature = "Win32_Foundation")]
3090 impl ::core::marker::Copy for NEGOTIATE_CALLER_NAME_REQUEST {}
3091 #[cfg(feature = "Win32_Foundation")]
3092 impl ::core::clone::Clone for NEGOTIATE_CALLER_NAME_REQUEST {
clone(&self) -> Self3093     fn clone(&self) -> Self {
3094         *self
3095     }
3096 }
3097 #[repr(C)]
3098 #[cfg(feature = "Win32_Foundation")]
3099 pub struct NEGOTIATE_CALLER_NAME_RESPONSE {
3100     pub MessageType: u32,
3101     pub CallerName: super::super::super::Foundation::PWSTR,
3102 }
3103 #[cfg(feature = "Win32_Foundation")]
3104 impl ::core::marker::Copy for NEGOTIATE_CALLER_NAME_RESPONSE {}
3105 #[cfg(feature = "Win32_Foundation")]
3106 impl ::core::clone::Clone for NEGOTIATE_CALLER_NAME_RESPONSE {
clone(&self) -> Self3107     fn clone(&self) -> Self {
3108         *self
3109     }
3110 }
3111 pub const NEGOTIATE_MAX_PREFIX: u32 = 32u32;
3112 pub type NEGOTIATE_MESSAGES = i32;
3113 pub const NegEnumPackagePrefixes: NEGOTIATE_MESSAGES = 0i32;
3114 pub const NegGetCallerName: NEGOTIATE_MESSAGES = 1i32;
3115 pub const NegTransferCredentials: NEGOTIATE_MESSAGES = 2i32;
3116 pub const NegMsgReserved1: NEGOTIATE_MESSAGES = 3i32;
3117 pub const NegCallPackageMax: NEGOTIATE_MESSAGES = 4i32;
3118 pub const NEGOTIATE_NEG_NTLM: u32 = 536870912u32;
3119 #[repr(C)]
3120 pub 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 }
3127 impl ::core::marker::Copy for NEGOTIATE_PACKAGE_PREFIX {}
3128 impl ::core::clone::Clone for NEGOTIATE_PACKAGE_PREFIX {
clone(&self) -> Self3129     fn clone(&self) -> Self {
3130         *self
3131     }
3132 }
3133 #[repr(C)]
3134 pub struct NEGOTIATE_PACKAGE_PREFIXES {
3135     pub MessageType: u32,
3136     pub PrefixCount: u32,
3137     pub Offset: u32,
3138     pub Pad: u32,
3139 }
3140 impl ::core::marker::Copy for NEGOTIATE_PACKAGE_PREFIXES {}
3141 impl ::core::clone::Clone for NEGOTIATE_PACKAGE_PREFIXES {
clone(&self) -> Self3142     fn clone(&self) -> Self {
3143         *self
3144     }
3145 }
3146 #[repr(C)]
3147 #[cfg(feature = "Win32_Foundation")]
3148 pub 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")]
3155 impl ::core::marker::Copy for NETLOGON_GENERIC_INFO {}
3156 #[cfg(feature = "Win32_Foundation")]
3157 impl ::core::clone::Clone for NETLOGON_GENERIC_INFO {
clone(&self) -> Self3158     fn clone(&self) -> Self {
3159         *self
3160     }
3161 }
3162 #[repr(C)]
3163 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
3164 pub 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"))]
3170 impl ::core::marker::Copy for NETLOGON_INTERACTIVE_INFO {}
3171 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
3172 impl ::core::clone::Clone for NETLOGON_INTERACTIVE_INFO {
clone(&self) -> Self3173     fn clone(&self) -> Self {
3174         *self
3175     }
3176 }
3177 #[repr(C)]
3178 #[cfg(feature = "Win32_Foundation")]
3179 pub 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")]
3187 impl ::core::marker::Copy for NETLOGON_LOGON_IDENTITY_INFO {}
3188 #[cfg(feature = "Win32_Foundation")]
3189 impl ::core::clone::Clone for NETLOGON_LOGON_IDENTITY_INFO {
clone(&self) -> Self3190     fn clone(&self) -> Self {
3191         *self
3192     }
3193 }
3194 pub type NETLOGON_LOGON_INFO_CLASS = i32;
3195 pub const NetlogonInteractiveInformation: NETLOGON_LOGON_INFO_CLASS = 1i32;
3196 pub const NetlogonNetworkInformation: NETLOGON_LOGON_INFO_CLASS = 2i32;
3197 pub const NetlogonServiceInformation: NETLOGON_LOGON_INFO_CLASS = 3i32;
3198 pub const NetlogonGenericInformation: NETLOGON_LOGON_INFO_CLASS = 4i32;
3199 pub const NetlogonInteractiveTransitiveInformation: NETLOGON_LOGON_INFO_CLASS = 5i32;
3200 pub const NetlogonNetworkTransitiveInformation: NETLOGON_LOGON_INFO_CLASS = 6i32;
3201 pub const NetlogonServiceTransitiveInformation: NETLOGON_LOGON_INFO_CLASS = 7i32;
3202 #[repr(C)]
3203 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
3204 pub 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"))]
3211 impl ::core::marker::Copy for NETLOGON_NETWORK_INFO {}
3212 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
3213 impl ::core::clone::Clone for NETLOGON_NETWORK_INFO {
clone(&self) -> Self3214     fn clone(&self) -> Self {
3215         *self
3216     }
3217 }
3218 #[repr(C)]
3219 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
3220 pub 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"))]
3226 impl ::core::marker::Copy for NETLOGON_SERVICE_INFO {}
3227 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
3228 impl ::core::clone::Clone for NETLOGON_SERVICE_INFO {
clone(&self) -> Self3229     fn clone(&self) -> Self {
3230         *self
3231     }
3232 }
3233 pub const NGC_DATA_FLAG_IS_CLOUD_TRUST_CRED: u32 = 8u32;
3234 pub const NGC_DATA_FLAG_IS_SMARTCARD_DATA: u32 = 4u32;
3235 pub const NGC_DATA_FLAG_KERB_CERTIFICATE_LOGON_FLAG_CHECK_DUPLICATES: u32 = 1u32;
3236 pub const NGC_DATA_FLAG_KERB_CERTIFICATE_LOGON_FLAG_USE_CERTIFICATE_INFO: u32 = 2u32;
3237 pub const NOTIFIER_FLAG_NEW_THREAD: u32 = 1u32;
3238 pub const NOTIFIER_FLAG_ONE_SHOT: u32 = 2u32;
3239 pub const NOTIFIER_FLAG_SECONDS: u32 = 2147483648u32;
3240 pub const NOTIFIER_TYPE_HANDLE_WAIT: u32 = 2u32;
3241 pub const NOTIFIER_TYPE_IMMEDIATE: u32 = 16u32;
3242 pub const NOTIFIER_TYPE_INTERVAL: u32 = 1u32;
3243 pub const NOTIFIER_TYPE_NOTIFY_EVENT: u32 = 4u32;
3244 pub const NOTIFIER_TYPE_STATE_CHANGE: u32 = 3u32;
3245 pub const NOTIFY_CLASS_DOMAIN_CHANGE: u32 = 3u32;
3246 pub const NOTIFY_CLASS_PACKAGE_CHANGE: u32 = 1u32;
3247 pub const NOTIFY_CLASS_REGISTRY_CHANGE: u32 = 4u32;
3248 pub const NOTIFY_CLASS_ROLE_CHANGE: u32 = 2u32;
3249 pub const NO_LONG_NAMES: u32 = 2u32;
3250 pub const PER_USER_AUDIT_FAILURE_EXCLUDE: u32 = 8u32;
3251 pub const PER_USER_AUDIT_FAILURE_INCLUDE: u32 = 4u32;
3252 pub const PER_USER_AUDIT_NONE: u32 = 16u32;
3253 pub const PER_USER_AUDIT_SUCCESS_EXCLUDE: u32 = 2u32;
3254 pub const PER_USER_AUDIT_SUCCESS_INCLUDE: u32 = 1u32;
3255 pub const PER_USER_POLICY_UNCHANGED: u32 = 0u32;
3256 pub 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")]
3258 pub type PKSEC_DEREFERENCE_LIST_ENTRY = unsafe extern "system" fn(entry: *const KSEC_LIST_ENTRY, delete: *mut u8);
3259 #[cfg(feature = "Win32_System_Kernel")]
3260 pub type PKSEC_INSERT_LIST_ENTRY = unsafe extern "system" fn(list: *const ::core::ffi::c_void, entry: *const KSEC_LIST_ENTRY);
3261 pub 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"))]
3263 pub 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")]
3265 pub 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")]
3267 pub 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")]
3270 pub 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")]
3279 impl ::core::marker::Copy for PKU2U_CERTIFICATE_S4U_LOGON {}
3280 #[cfg(feature = "Win32_Foundation")]
3281 impl ::core::clone::Clone for PKU2U_CERTIFICATE_S4U_LOGON {
clone(&self) -> Self3282     fn clone(&self) -> Self {
3283         *self
3284     }
3285 }
3286 #[repr(C)]
3287 pub struct PKU2U_CERT_BLOB {
3288     pub CertOffset: u32,
3289     pub CertLength: u16,
3290 }
3291 impl ::core::marker::Copy for PKU2U_CERT_BLOB {}
3292 impl ::core::clone::Clone for PKU2U_CERT_BLOB {
clone(&self) -> Self3293     fn clone(&self) -> Self {
3294         *self
3295     }
3296 }
3297 #[repr(C)]
3298 pub 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 }
3305 impl ::core::marker::Copy for PKU2U_CREDUI_CONTEXT {}
3306 impl ::core::clone::Clone for PKU2U_CREDUI_CONTEXT {
clone(&self) -> Self3307     fn clone(&self) -> Self {
3308         *self
3309     }
3310 }
3311 pub type PKU2U_LOGON_SUBMIT_TYPE = i32;
3312 pub const Pku2uCertificateS4ULogon: PKU2U_LOGON_SUBMIT_TYPE = 14i32;
3313 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
3314 pub 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")]
3316 pub 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;
3317 pub type PLSA_ALLOCATE_LSA_HEAP = unsafe extern "system" fn(length: u32) -> *mut ::core::ffi::c_void;
3318 pub type PLSA_ALLOCATE_PRIVATE_HEAP = unsafe extern "system" fn(length: usize) -> *mut ::core::ffi::c_void;
3319 pub 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")]
3321 pub 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")]
3323 pub 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"))]
3325 pub 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")]
3327 pub type PLSA_AP_LOGON_TERMINATED = unsafe extern "system" fn(logonid: *const super::super::super::Foundation::LUID);
3328 #[cfg(feature = "Win32_Foundation")]
3329 pub 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")]
3345 pub 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")]
3362 pub 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")]
3381 pub 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")]
3401 pub 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")]
3422 pub 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")]
3424 pub 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")]
3426 pub 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")]
3438 pub 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")]
3451 pub 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")]
3453 pub 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")]
3455 pub 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")]
3457 pub 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")]
3459 pub type PLSA_CANCEL_NOTIFICATION = unsafe extern "system" fn(notifyhandle: super::super::super::Foundation::HANDLE) -> super::super::super::Foundation::NTSTATUS;
3460 #[cfg(feature = "Win32_Foundation")]
3461 pub 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")]
3463 pub 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")]
3465 pub 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")]
3467 pub 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")]
3480 pub 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")]
3482 pub 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")]
3484 pub 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")]
3486 pub type PLSA_CREATE_LOGON_SESSION = unsafe extern "system" fn(logonid: *mut super::super::super::Foundation::LUID) -> super::super::super::Foundation::NTSTATUS;
3487 pub 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"))]
3489 pub 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")]
3491 pub 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")]
3507 pub 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"))]
3523 pub 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")]
3525 pub 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")]
3527 pub 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")]
3529 pub 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")]
3531 pub 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")]
3533 pub 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;
3534 pub type PLSA_FREE_LSA_HEAP = unsafe extern "system" fn(base: *const ::core::ffi::c_void);
3535 pub type PLSA_FREE_PRIVATE_HEAP = unsafe extern "system" fn(base: *const ::core::ffi::c_void);
3536 pub 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")]
3538 pub 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")]
3540 pub 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")]
3542 pub type PLSA_GET_CALL_INFO = unsafe extern "system" fn(info: *mut SECPKG_CALL_INFO) -> super::super::super::Foundation::BOOLEAN;
3543 #[cfg(feature = "Win32_Foundation")]
3544 pub 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"))]
3546 pub 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")]
3548 pub type PLSA_GET_EXTENDED_CALL_FLAGS = unsafe extern "system" fn(flags: *mut u32) -> super::super::super::Foundation::NTSTATUS;
3549 #[cfg(feature = "Win32_Foundation")]
3550 pub 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")]
3560 pub 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")]
3562 pub 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")]
3564 pub type PLSA_IMPERSONATE_CLIENT = unsafe extern "system" fn() -> super::super::super::Foundation::NTSTATUS;
3565 pub type PLSA_LOCATE_PKG_BY_ID = unsafe extern "system" fn(packgeid: u32) -> *mut ::core::ffi::c_void;
3566 #[cfg(feature = "Win32_Foundation")]
3567 pub type PLSA_MAP_BUFFER = unsafe extern "system" fn(inputbuffer: *const SecBuffer, outputbuffer: *mut SecBuffer) -> super::super::super::Foundation::NTSTATUS;
3568 #[cfg(feature = "Win32_Foundation")]
3569 pub 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")]
3571 pub 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;
3572 pub type PLSA_PROTECT_MEMORY = unsafe extern "system" fn(buffer: *mut ::core::ffi::c_void, buffersize: u32);
3573 #[cfg(feature = "Win32_Foundation")]
3574 pub 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")]
3576 pub 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")]
3578 pub type PLSA_REDIRECTED_LOGON_CLEANUP_CALLBACK = unsafe extern "system" fn(redirectedlogonhandle: super::super::super::Foundation::HANDLE);
3579 #[cfg(feature = "Win32_Foundation")]
3580 pub 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")]
3582 pub 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")]
3584 pub 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")]
3586 pub 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"))]
3588 pub 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")]
3590 pub 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")]
3592 pub 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")]
3594 pub type PLSA_UNLOAD_PACKAGE = unsafe extern "system" fn() -> super::super::super::Foundation::NTSTATUS;
3595 #[cfg(feature = "Win32_Foundation")]
3596 pub 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")]
3599 pub 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")]
3604 impl ::core::marker::Copy for POLICY_ACCOUNT_DOMAIN_INFO {}
3605 #[cfg(feature = "Win32_Foundation")]
3606 impl ::core::clone::Clone for POLICY_ACCOUNT_DOMAIN_INFO {
clone(&self) -> Self3607     fn clone(&self) -> Self {
3608         *self
3609     }
3610 }
3611 #[repr(C)]
3612 pub struct POLICY_AUDIT_CATEGORIES_INFO {
3613     pub MaximumCategoryCount: u32,
3614     pub SubCategoriesInfo: *mut POLICY_AUDIT_SUBCATEGORIES_INFO,
3615 }
3616 impl ::core::marker::Copy for POLICY_AUDIT_CATEGORIES_INFO {}
3617 impl ::core::clone::Clone for POLICY_AUDIT_CATEGORIES_INFO {
clone(&self) -> Self3618     fn clone(&self) -> Self {
3619         *self
3620     }
3621 }
3622 #[repr(C)]
3623 #[cfg(feature = "Win32_Foundation")]
3624 pub 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")]
3630 impl ::core::marker::Copy for POLICY_AUDIT_EVENTS_INFO {}
3631 #[cfg(feature = "Win32_Foundation")]
3632 impl ::core::clone::Clone for POLICY_AUDIT_EVENTS_INFO {
clone(&self) -> Self3633     fn clone(&self) -> Self {
3634         *self
3635     }
3636 }
3637 pub const POLICY_AUDIT_EVENT_FAILURE: i32 = 2i32;
3638 pub const POLICY_AUDIT_EVENT_NONE: i32 = 4i32;
3639 pub const POLICY_AUDIT_EVENT_SUCCESS: i32 = 1i32;
3640 pub type POLICY_AUDIT_EVENT_TYPE = i32;
3641 pub const AuditCategorySystem: POLICY_AUDIT_EVENT_TYPE = 0i32;
3642 pub const AuditCategoryLogon: POLICY_AUDIT_EVENT_TYPE = 1i32;
3643 pub const AuditCategoryObjectAccess: POLICY_AUDIT_EVENT_TYPE = 2i32;
3644 pub const AuditCategoryPrivilegeUse: POLICY_AUDIT_EVENT_TYPE = 3i32;
3645 pub const AuditCategoryDetailedTracking: POLICY_AUDIT_EVENT_TYPE = 4i32;
3646 pub const AuditCategoryPolicyChange: POLICY_AUDIT_EVENT_TYPE = 5i32;
3647 pub const AuditCategoryAccountManagement: POLICY_AUDIT_EVENT_TYPE = 6i32;
3648 pub const AuditCategoryDirectoryServiceAccess: POLICY_AUDIT_EVENT_TYPE = 7i32;
3649 pub const AuditCategoryAccountLogon: POLICY_AUDIT_EVENT_TYPE = 8i32;
3650 pub const POLICY_AUDIT_EVENT_UNCHANGED: i32 = 0i32;
3651 #[repr(C)]
3652 #[cfg(feature = "Win32_Foundation")]
3653 pub 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")]
3658 impl ::core::marker::Copy for POLICY_AUDIT_FULL_QUERY_INFO {}
3659 #[cfg(feature = "Win32_Foundation")]
3660 impl ::core::clone::Clone for POLICY_AUDIT_FULL_QUERY_INFO {
clone(&self) -> Self3661     fn clone(&self) -> Self {
3662         *self
3663     }
3664 }
3665 #[repr(C)]
3666 #[cfg(feature = "Win32_Foundation")]
3667 pub struct POLICY_AUDIT_FULL_SET_INFO {
3668     pub ShutDownOnFull: super::super::super::Foundation::BOOLEAN,
3669 }
3670 #[cfg(feature = "Win32_Foundation")]
3671 impl ::core::marker::Copy for POLICY_AUDIT_FULL_SET_INFO {}
3672 #[cfg(feature = "Win32_Foundation")]
3673 impl ::core::clone::Clone for POLICY_AUDIT_FULL_SET_INFO {
clone(&self) -> Self3674     fn clone(&self) -> Self {
3675         *self
3676     }
3677 }
3678 pub const POLICY_AUDIT_LOG_ADMIN: i32 = 512i32;
3679 #[repr(C)]
3680 #[cfg(feature = "Win32_Foundation")]
3681 pub 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")]
3690 impl ::core::marker::Copy for POLICY_AUDIT_LOG_INFO {}
3691 #[cfg(feature = "Win32_Foundation")]
3692 impl ::core::clone::Clone for POLICY_AUDIT_LOG_INFO {
clone(&self) -> Self3693     fn clone(&self) -> Self {
3694         *self
3695     }
3696 }
3697 #[repr(C)]
3698 #[cfg(feature = "Win32_Foundation")]
3699 pub struct POLICY_AUDIT_SID_ARRAY {
3700     pub UsersCount: u32,
3701     pub UserSidArray: *mut super::super::super::Foundation::PSID,
3702 }
3703 #[cfg(feature = "Win32_Foundation")]
3704 impl ::core::marker::Copy for POLICY_AUDIT_SID_ARRAY {}
3705 #[cfg(feature = "Win32_Foundation")]
3706 impl ::core::clone::Clone for POLICY_AUDIT_SID_ARRAY {
clone(&self) -> Self3707     fn clone(&self) -> Self {
3708         *self
3709     }
3710 }
3711 #[repr(C)]
3712 pub struct POLICY_AUDIT_SUBCATEGORIES_INFO {
3713     pub MaximumSubCategoryCount: u32,
3714     pub EventAuditingOptions: *mut u32,
3715 }
3716 impl ::core::marker::Copy for POLICY_AUDIT_SUBCATEGORIES_INFO {}
3717 impl ::core::clone::Clone for POLICY_AUDIT_SUBCATEGORIES_INFO {
clone(&self) -> Self3718     fn clone(&self) -> Self {
3719         *self
3720     }
3721 }
3722 pub const POLICY_CREATE_ACCOUNT: i32 = 16i32;
3723 pub const POLICY_CREATE_PRIVILEGE: i32 = 64i32;
3724 pub const POLICY_CREATE_SECRET: i32 = 32i32;
3725 #[repr(C)]
3726 pub struct POLICY_DEFAULT_QUOTA_INFO {
3727     pub QuotaLimits: super::super::QUOTA_LIMITS,
3728 }
3729 impl ::core::marker::Copy for POLICY_DEFAULT_QUOTA_INFO {}
3730 impl ::core::clone::Clone for POLICY_DEFAULT_QUOTA_INFO {
clone(&self) -> Self3731     fn clone(&self) -> Self {
3732         *self
3733     }
3734 }
3735 #[repr(C)]
3736 #[cfg(feature = "Win32_Foundation")]
3737 pub 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")]
3745 impl ::core::marker::Copy for POLICY_DNS_DOMAIN_INFO {}
3746 #[cfg(feature = "Win32_Foundation")]
3747 impl ::core::clone::Clone for POLICY_DNS_DOMAIN_INFO {
clone(&self) -> Self3748     fn clone(&self) -> Self {
3749         *self
3750     }
3751 }
3752 #[repr(C)]
3753 pub struct POLICY_DOMAIN_EFS_INFO {
3754     pub InfoLength: u32,
3755     pub EfsBlob: *mut u8,
3756 }
3757 impl ::core::marker::Copy for POLICY_DOMAIN_EFS_INFO {}
3758 impl ::core::clone::Clone for POLICY_DOMAIN_EFS_INFO {
clone(&self) -> Self3759     fn clone(&self) -> Self {
3760         *self
3761     }
3762 }
3763 pub type POLICY_DOMAIN_INFORMATION_CLASS = i32;
3764 pub const PolicyDomainEfsInformation: POLICY_DOMAIN_INFORMATION_CLASS = 2i32;
3765 pub const PolicyDomainKerberosTicketInformation: POLICY_DOMAIN_INFORMATION_CLASS = 3i32;
3766 #[repr(C)]
3767 pub 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 }
3775 impl ::core::marker::Copy for POLICY_DOMAIN_KERBEROS_TICKET_INFO {}
3776 impl ::core::clone::Clone for POLICY_DOMAIN_KERBEROS_TICKET_INFO {
clone(&self) -> Self3777     fn clone(&self) -> Self {
3778         *self
3779     }
3780 }
3781 pub const POLICY_GET_PRIVATE_INFORMATION: i32 = 4i32;
3782 pub type POLICY_INFORMATION_CLASS = i32;
3783 pub const PolicyAuditLogInformation: POLICY_INFORMATION_CLASS = 1i32;
3784 pub const PolicyAuditEventsInformation: POLICY_INFORMATION_CLASS = 2i32;
3785 pub const PolicyPrimaryDomainInformation: POLICY_INFORMATION_CLASS = 3i32;
3786 pub const PolicyPdAccountInformation: POLICY_INFORMATION_CLASS = 4i32;
3787 pub const PolicyAccountDomainInformation: POLICY_INFORMATION_CLASS = 5i32;
3788 pub const PolicyLsaServerRoleInformation: POLICY_INFORMATION_CLASS = 6i32;
3789 pub const PolicyReplicaSourceInformation: POLICY_INFORMATION_CLASS = 7i32;
3790 pub const PolicyDefaultQuotaInformation: POLICY_INFORMATION_CLASS = 8i32;
3791 pub const PolicyModificationInformation: POLICY_INFORMATION_CLASS = 9i32;
3792 pub const PolicyAuditFullSetInformation: POLICY_INFORMATION_CLASS = 10i32;
3793 pub const PolicyAuditFullQueryInformation: POLICY_INFORMATION_CLASS = 11i32;
3794 pub const PolicyDnsDomainInformation: POLICY_INFORMATION_CLASS = 12i32;
3795 pub const PolicyDnsDomainInformationInt: POLICY_INFORMATION_CLASS = 13i32;
3796 pub const PolicyLocalAccountDomainInformation: POLICY_INFORMATION_CLASS = 14i32;
3797 pub const PolicyMachineAccountInformation: POLICY_INFORMATION_CLASS = 15i32;
3798 pub const PolicyLastEntry: POLICY_INFORMATION_CLASS = 16i32;
3799 pub const POLICY_KERBEROS_VALIDATE_CLIENT: u32 = 128u32;
3800 pub const POLICY_LOOKUP_NAMES: i32 = 2048i32;
3801 pub type POLICY_LSA_SERVER_ROLE = i32;
3802 pub const PolicyServerRoleBackup: POLICY_LSA_SERVER_ROLE = 2i32;
3803 pub const PolicyServerRolePrimary: POLICY_LSA_SERVER_ROLE = 3i32;
3804 #[repr(C)]
3805 pub struct POLICY_LSA_SERVER_ROLE_INFO {
3806     pub LsaServerRole: POLICY_LSA_SERVER_ROLE,
3807 }
3808 impl ::core::marker::Copy for POLICY_LSA_SERVER_ROLE_INFO {}
3809 impl ::core::clone::Clone for POLICY_LSA_SERVER_ROLE_INFO {
clone(&self) -> Self3810     fn clone(&self) -> Self {
3811         *self
3812     }
3813 }
3814 #[repr(C)]
3815 #[cfg(feature = "Win32_Foundation")]
3816 pub struct POLICY_MACHINE_ACCT_INFO {
3817     pub Rid: u32,
3818     pub Sid: super::super::super::Foundation::PSID,
3819 }
3820 #[cfg(feature = "Win32_Foundation")]
3821 impl ::core::marker::Copy for POLICY_MACHINE_ACCT_INFO {}
3822 #[cfg(feature = "Win32_Foundation")]
3823 impl ::core::clone::Clone for POLICY_MACHINE_ACCT_INFO {
clone(&self) -> Self3824     fn clone(&self) -> Self {
3825         *self
3826     }
3827 }
3828 #[repr(C)]
3829 pub struct POLICY_MODIFICATION_INFO {
3830     pub ModifiedId: i64,
3831     pub DatabaseCreationTime: i64,
3832 }
3833 impl ::core::marker::Copy for POLICY_MODIFICATION_INFO {}
3834 impl ::core::clone::Clone for POLICY_MODIFICATION_INFO {
clone(&self) -> Self3835     fn clone(&self) -> Self {
3836         *self
3837     }
3838 }
3839 pub const POLICY_NOTIFICATION: i32 = 4096i32;
3840 pub type POLICY_NOTIFICATION_INFORMATION_CLASS = i32;
3841 pub const PolicyNotifyAuditEventsInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = 1i32;
3842 pub const PolicyNotifyAccountDomainInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = 2i32;
3843 pub const PolicyNotifyServerRoleInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = 3i32;
3844 pub const PolicyNotifyDnsDomainInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = 4i32;
3845 pub const PolicyNotifyDomainEfsInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = 5i32;
3846 pub const PolicyNotifyDomainKerberosTicketInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = 6i32;
3847 pub const PolicyNotifyMachineAccountPasswordInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = 7i32;
3848 pub const PolicyNotifyGlobalSaclInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = 8i32;
3849 pub const PolicyNotifyMax: POLICY_NOTIFICATION_INFORMATION_CLASS = 9i32;
3850 #[repr(C)]
3851 #[cfg(feature = "Win32_Foundation")]
3852 pub struct POLICY_PD_ACCOUNT_INFO {
3853     pub Name: super::super::super::Foundation::UNICODE_STRING,
3854 }
3855 #[cfg(feature = "Win32_Foundation")]
3856 impl ::core::marker::Copy for POLICY_PD_ACCOUNT_INFO {}
3857 #[cfg(feature = "Win32_Foundation")]
3858 impl ::core::clone::Clone for POLICY_PD_ACCOUNT_INFO {
clone(&self) -> Self3859     fn clone(&self) -> Self {
3860         *self
3861     }
3862 }
3863 #[repr(C)]
3864 #[cfg(feature = "Win32_Foundation")]
3865 pub 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")]
3870 impl ::core::marker::Copy for POLICY_PRIMARY_DOMAIN_INFO {}
3871 #[cfg(feature = "Win32_Foundation")]
3872 impl ::core::clone::Clone for POLICY_PRIMARY_DOMAIN_INFO {
clone(&self) -> Self3873     fn clone(&self) -> Self {
3874         *self
3875     }
3876 }
3877 pub const POLICY_QOS_ALLOW_LOCAL_ROOT_CERT_STORE: u32 = 32u32;
3878 pub const POLICY_QOS_DHCP_SERVER_ALLOWED: u32 = 128u32;
3879 pub const POLICY_QOS_INBOUND_CONFIDENTIALITY: u32 = 16u32;
3880 pub const POLICY_QOS_INBOUND_INTEGRITY: u32 = 8u32;
3881 pub const POLICY_QOS_OUTBOUND_CONFIDENTIALITY: u32 = 4u32;
3882 pub const POLICY_QOS_OUTBOUND_INTEGRITY: u32 = 2u32;
3883 pub const POLICY_QOS_RAS_SERVER_ALLOWED: u32 = 64u32;
3884 pub const POLICY_QOS_SCHANNEL_REQUIRED: u32 = 1u32;
3885 #[repr(C)]
3886 #[cfg(feature = "Win32_Foundation")]
3887 pub 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")]
3892 impl ::core::marker::Copy for POLICY_REPLICA_SOURCE_INFO {}
3893 #[cfg(feature = "Win32_Foundation")]
3894 impl ::core::clone::Clone for POLICY_REPLICA_SOURCE_INFO {
clone(&self) -> Self3895     fn clone(&self) -> Self {
3896         *self
3897     }
3898 }
3899 pub const POLICY_SERVER_ADMIN: i32 = 1024i32;
3900 pub const POLICY_SET_AUDIT_REQUIREMENTS: i32 = 256i32;
3901 pub const POLICY_SET_DEFAULT_QUOTA_LIMITS: i32 = 128i32;
3902 pub const POLICY_TRUST_ADMIN: i32 = 8i32;
3903 pub const POLICY_VIEW_AUDIT_INFORMATION: i32 = 2i32;
3904 pub const POLICY_VIEW_LOCAL_INFORMATION: i32 = 1i32;
3905 pub const PRIMARY_CRED_ARSO_LOGON: u32 = 2097152u32;
3906 pub const PRIMARY_CRED_AUTH_ID: u32 = 512u32;
3907 pub const PRIMARY_CRED_CACHED_INTERACTIVE_LOGON: u32 = 262144u32;
3908 pub const PRIMARY_CRED_CACHED_LOGON: u32 = 8u32;
3909 pub const PRIMARY_CRED_CLEAR_PASSWORD: u32 = 1u32;
3910 pub const PRIMARY_CRED_DO_NOT_SPLIT: u32 = 1024u32;
3911 pub const PRIMARY_CRED_ENCRYPTED_CREDGUARD_PASSWORD: u32 = 131072u32;
3912 pub const PRIMARY_CRED_ENTERPRISE_INTERNET_USER: u32 = 65536u32;
3913 pub const PRIMARY_CRED_EX: u32 = 4096u32;
3914 pub const PRIMARY_CRED_INTERACTIVE_FIDO_LOGON: u32 = 1048576u32;
3915 pub const PRIMARY_CRED_INTERACTIVE_NGC_LOGON: u32 = 524288u32;
3916 pub const PRIMARY_CRED_INTERACTIVE_SMARTCARD_LOGON: u32 = 64u32;
3917 pub const PRIMARY_CRED_INTERNET_USER: u32 = 256u32;
3918 pub const PRIMARY_CRED_LOGON_LUA: u32 = 32u32;
3919 pub const PRIMARY_CRED_LOGON_NO_TCB: u32 = 16u32;
3920 pub const PRIMARY_CRED_LOGON_PACKAGE_SHIFT: u32 = 24u32;
3921 pub const PRIMARY_CRED_OWF_PASSWORD: u32 = 2u32;
3922 pub const PRIMARY_CRED_PACKAGE_MASK: u32 = 4278190080u32;
3923 pub const PRIMARY_CRED_PACKED_CREDS: u32 = 32768u32;
3924 pub const PRIMARY_CRED_PROTECTED_USER: u32 = 2048u32;
3925 pub const PRIMARY_CRED_REFRESH_NEEDED: u32 = 128u32;
3926 pub const PRIMARY_CRED_RESTRICTED_TS: u32 = 16384u32;
3927 pub const PRIMARY_CRED_SUPPLEMENTAL: u32 = 4194304u32;
3928 pub const PRIMARY_CRED_TRANSFER: u32 = 8192u32;
3929 pub const PRIMARY_CRED_UPDATE: u32 = 4u32;
3930 pub type PSAM_CREDENTIAL_UPDATE_FREE_ROUTINE = unsafe extern "system" fn(p: *const ::core::ffi::c_void);
3931 #[cfg(feature = "Win32_Foundation")]
3932 pub 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")]
3945 pub 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")]
3947 pub 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")]
3949 pub type PSAM_INIT_NOTIFICATION_ROUTINE = unsafe extern "system" fn() -> super::super::super::Foundation::BOOLEAN;
3950 #[cfg(feature = "Win32_Foundation")]
3951 pub 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")]
3953 pub 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)]
3955 pub struct PctPublicKey {
3956     pub Type: u32,
3957     pub cbKey: u32,
3958     pub pKey: [u8; 1],
3959 }
3960 impl ::core::marker::Copy for PctPublicKey {}
3961 impl ::core::clone::Clone for PctPublicKey {
clone(&self) -> Self3962     fn clone(&self) -> Self {
3963         *self
3964     }
3965 }
3966 #[cfg(feature = "Win32_Security_Credentials")]
3967 pub 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")]
3969 pub 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")]
3971 pub 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")]
3973 pub 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")]
3975 pub 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")]
3977 pub 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")]
3979 pub 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")]
3981 pub 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")]
3983 pub type QUERY_SECURITY_CONTEXT_TOKEN_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: *mut *mut ::core::ffi::c_void) -> i32;
3984 pub type QUERY_SECURITY_PACKAGE_INFO_FN_A = unsafe extern "system" fn(param0: *mut i8, param1: *mut *mut SecPkgInfoA) -> i32;
3985 pub type QUERY_SECURITY_PACKAGE_INFO_FN_W = unsafe extern "system" fn(param0: *mut u16, param1: *mut *mut SecPkgInfoW) -> i32;
3986 pub const RCRED_CRED_EXISTS: u32 = 1u32;
3987 pub const RCRED_STATUS_NOCRED: u32 = 0u32;
3988 pub const RCRED_STATUS_UNKNOWN_ISSUER: u32 = 2u32;
3989 #[cfg(feature = "Win32_Security_Credentials")]
3990 pub type REVERT_SECURITY_CONTEXT_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle) -> i32;
3991 pub const RTL_ENCRYPT_MEMORY_SIZE: u32 = 8u32;
3992 pub const RTL_ENCRYPT_OPTION_CROSS_PROCESS: u32 = 1u32;
3993 pub const RTL_ENCRYPT_OPTION_FOR_SYSTEM: u32 = 4u32;
3994 pub const RTL_ENCRYPT_OPTION_SAME_LOGON: u32 = 2u32;
3995 pub const SAM_DAYS_PER_WEEK: u32 = 7u32;
3996 #[repr(C)]
3997 #[cfg(feature = "Win32_Foundation")]
3998 pub 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")]
4004 impl ::core::marker::Copy for SAM_REGISTER_MAPPING_ELEMENT {}
4005 #[cfg(feature = "Win32_Foundation")]
4006 impl ::core::clone::Clone for SAM_REGISTER_MAPPING_ELEMENT {
clone(&self) -> Self4007     fn clone(&self) -> Self {
4008         *self
4009     }
4010 }
4011 #[repr(C)]
4012 #[cfg(feature = "Win32_Foundation")]
4013 pub struct SAM_REGISTER_MAPPING_LIST {
4014     pub Count: u32,
4015     pub Elements: *mut SAM_REGISTER_MAPPING_ELEMENT,
4016 }
4017 #[cfg(feature = "Win32_Foundation")]
4018 impl ::core::marker::Copy for SAM_REGISTER_MAPPING_LIST {}
4019 #[cfg(feature = "Win32_Foundation")]
4020 impl ::core::clone::Clone for SAM_REGISTER_MAPPING_LIST {
clone(&self) -> Self4021     fn clone(&self) -> Self {
4022         *self
4023     }
4024 }
4025 #[repr(C)]
4026 #[cfg(feature = "Win32_Foundation")]
4027 pub struct SAM_REGISTER_MAPPING_TABLE {
4028     pub Count: u32,
4029     pub Lists: *mut SAM_REGISTER_MAPPING_LIST,
4030 }
4031 #[cfg(feature = "Win32_Foundation")]
4032 impl ::core::marker::Copy for SAM_REGISTER_MAPPING_TABLE {}
4033 #[cfg(feature = "Win32_Foundation")]
4034 impl ::core::clone::Clone for SAM_REGISTER_MAPPING_TABLE {
clone(&self) -> Self4035     fn clone(&self) -> Self {
4036         *self
4037     }
4038 }
4039 pub type SASL_AUTHZID_STATE = i32;
4040 pub const Sasl_AuthZIDForbidden: SASL_AUTHZID_STATE = 0i32;
4041 pub const Sasl_AuthZIDProcessed: SASL_AUTHZID_STATE = 1i32;
4042 pub const SASL_OPTION_AUTHZ_PROCESSING: u32 = 4u32;
4043 pub const SASL_OPTION_AUTHZ_STRING: u32 = 3u32;
4044 pub const SASL_OPTION_RECV_SIZE: u32 = 2u32;
4045 pub const SASL_OPTION_SEND_SIZE: u32 = 1u32;
4046 pub const SCHANNEL_ALERT: u32 = 2u32;
4047 #[repr(C)]
4048 pub struct SCHANNEL_ALERT_TOKEN {
4049     pub dwTokenType: u32,
4050     pub dwAlertType: SCHANNEL_ALERT_TOKEN_ALERT_TYPE,
4051     pub dwAlertNumber: u32,
4052 }
4053 impl ::core::marker::Copy for SCHANNEL_ALERT_TOKEN {}
4054 impl ::core::clone::Clone for SCHANNEL_ALERT_TOKEN {
clone(&self) -> Self4055     fn clone(&self) -> Self {
4056         *self
4057     }
4058 }
4059 pub type SCHANNEL_ALERT_TOKEN_ALERT_TYPE = u32;
4060 pub const TLS1_ALERT_WARNING: SCHANNEL_ALERT_TOKEN_ALERT_TYPE = 1u32;
4061 pub const TLS1_ALERT_FATAL: SCHANNEL_ALERT_TOKEN_ALERT_TYPE = 2u32;
4062 #[repr(C)]
4063 pub struct SCHANNEL_CERT_HASH {
4064     pub dwLength: u32,
4065     pub dwFlags: u32,
4066     pub hProv: usize,
4067     pub ShaHash: [u8; 20],
4068 }
4069 impl ::core::marker::Copy for SCHANNEL_CERT_HASH {}
4070 impl ::core::clone::Clone for SCHANNEL_CERT_HASH {
clone(&self) -> Self4071     fn clone(&self) -> Self {
4072         *self
4073     }
4074 }
4075 #[repr(C)]
4076 pub 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 }
4083 impl ::core::marker::Copy for SCHANNEL_CERT_HASH_STORE {}
4084 impl ::core::clone::Clone for SCHANNEL_CERT_HASH_STORE {
clone(&self) -> Self4085     fn clone(&self) -> Self {
4086         *self
4087     }
4088 }
4089 #[repr(C)]
4090 pub 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 }
4097 impl ::core::marker::Copy for SCHANNEL_CLIENT_SIGNATURE {}
4098 impl ::core::clone::Clone for SCHANNEL_CLIENT_SIGNATURE {
clone(&self) -> Self4099     fn clone(&self) -> Self {
4100         *self
4101     }
4102 }
4103 #[repr(C)]
4104 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Cryptography"))]
4105 pub 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"))]
4122 impl ::core::marker::Copy for SCHANNEL_CRED {}
4123 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Cryptography"))]
4124 impl ::core::clone::Clone for SCHANNEL_CRED {
clone(&self) -> Self4125     fn clone(&self) -> Self {
4126         *self
4127     }
4128 }
4129 pub type SCHANNEL_CRED_FLAGS = u32;
4130 pub const SCH_CRED_AUTO_CRED_VALIDATION: SCHANNEL_CRED_FLAGS = 32u32;
4131 pub const SCH_CRED_CACHE_ONLY_URL_RETRIEVAL_ON_CREATE: SCHANNEL_CRED_FLAGS = 131072u32;
4132 pub const SCH_DISABLE_RECONNECTS: SCHANNEL_CRED_FLAGS = 128u32;
4133 pub const SCH_CRED_IGNORE_NO_REVOCATION_CHECK: SCHANNEL_CRED_FLAGS = 2048u32;
4134 pub const SCH_CRED_IGNORE_REVOCATION_OFFLINE: SCHANNEL_CRED_FLAGS = 4096u32;
4135 pub const SCH_CRED_MANUAL_CRED_VALIDATION: SCHANNEL_CRED_FLAGS = 8u32;
4136 pub const SCH_CRED_NO_DEFAULT_CREDS: SCHANNEL_CRED_FLAGS = 16u32;
4137 pub const SCH_CRED_NO_SERVERNAME_CHECK: SCHANNEL_CRED_FLAGS = 4u32;
4138 pub const SCH_CRED_NO_SYSTEM_MAPPER: SCHANNEL_CRED_FLAGS = 2u32;
4139 pub const SCH_CRED_REVOCATION_CHECK_CHAIN: SCHANNEL_CRED_FLAGS = 512u32;
4140 pub const SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT: SCHANNEL_CRED_FLAGS = 1024u32;
4141 pub const SCH_CRED_REVOCATION_CHECK_END_CERT: SCHANNEL_CRED_FLAGS = 256u32;
4142 pub const SCH_CRED_USE_DEFAULT_CREDS: SCHANNEL_CRED_FLAGS = 64u32;
4143 pub const SCH_SEND_AUX_RECORD: SCHANNEL_CRED_FLAGS = 2097152u32;
4144 pub const SCH_SEND_ROOT_CERT: SCHANNEL_CRED_FLAGS = 262144u32;
4145 pub const SCH_USE_STRONG_CRYPTO: SCHANNEL_CRED_FLAGS = 4194304u32;
4146 pub const SCH_USE_PRESHAREDKEY_ONLY: SCHANNEL_CRED_FLAGS = 8388608u32;
4147 pub const SCHANNEL_CRED_VERSION: u32 = 4u32;
4148 pub const SCHANNEL_RENEGOTIATE: u32 = 0u32;
4149 pub const SCHANNEL_SECRET_PRIVKEY: u32 = 2u32;
4150 pub const SCHANNEL_SECRET_TYPE_CAPI: u32 = 1u32;
4151 pub const SCHANNEL_SESSION: u32 = 3u32;
4152 #[repr(C)]
4153 pub struct SCHANNEL_SESSION_TOKEN {
4154     pub dwTokenType: u32,
4155     pub dwFlags: SCHANNEL_SESSION_TOKEN_FLAGS,
4156 }
4157 impl ::core::marker::Copy for SCHANNEL_SESSION_TOKEN {}
4158 impl ::core::clone::Clone for SCHANNEL_SESSION_TOKEN {
clone(&self) -> Self4159     fn clone(&self) -> Self {
4160         *self
4161     }
4162 }
4163 pub type SCHANNEL_SESSION_TOKEN_FLAGS = u32;
4164 pub const SSL_SESSION_ENABLE_RECONNECTS: SCHANNEL_SESSION_TOKEN_FLAGS = 1u32;
4165 pub const SSL_SESSION_DISABLE_RECONNECTS: SCHANNEL_SESSION_TOKEN_FLAGS = 2u32;
4166 pub const SCHANNEL_SHUTDOWN: u32 = 1u32;
4167 pub const SCH_ALLOW_NULL_ENCRYPTION: u32 = 33554432u32;
4168 #[repr(C)]
4169 pub 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 }
4177 impl ::core::marker::Copy for SCH_CRED {}
4178 impl ::core::clone::Clone for SCH_CRED {
clone(&self) -> Self4179     fn clone(&self) -> Self {
4180         *self
4181     }
4182 }
4183 pub const SCH_CREDENTIALS_VERSION: u32 = 5u32;
4184 pub const SCH_CRED_CACHE_ONLY_URL_RETRIEVAL: u32 = 32768u32;
4185 pub const SCH_CRED_CERT_CONTEXT: u32 = 3u32;
4186 pub const SCH_CRED_DEFERRED_CRED_VALIDATION: u32 = 67108864u32;
4187 pub const SCH_CRED_DISABLE_RECONNECTS: u32 = 128u32;
4188 pub const SCH_CRED_FORMAT_CERT_CONTEXT: u32 = 0u32;
4189 pub const SCH_CRED_FORMAT_CERT_HASH: u32 = 1u32;
4190 pub const SCH_CRED_FORMAT_CERT_HASH_STORE: u32 = 2u32;
4191 pub const SCH_CRED_MAX_STORE_NAME_SIZE: u32 = 128u32;
4192 pub const SCH_CRED_MAX_SUPPORTED_ALGS: u32 = 256u32;
4193 pub const SCH_CRED_MAX_SUPPORTED_ALPN_IDS: u32 = 16u32;
4194 pub const SCH_CRED_MAX_SUPPORTED_CERTS: u32 = 100u32;
4195 pub const SCH_CRED_MAX_SUPPORTED_CHAINING_MODES: u32 = 16u32;
4196 pub const SCH_CRED_MAX_SUPPORTED_CRYPTO_SETTINGS: u32 = 16u32;
4197 pub const SCH_CRED_MAX_SUPPORTED_PARAMETERS: u32 = 16u32;
4198 pub const SCH_CRED_MEMORY_STORE_CERT: u32 = 65536u32;
4199 #[repr(C)]
4200 pub struct SCH_CRED_PUBLIC_CERTCHAIN {
4201     pub dwType: u32,
4202     pub cbCertChain: u32,
4203     pub pCertChain: *mut u8,
4204 }
4205 impl ::core::marker::Copy for SCH_CRED_PUBLIC_CERTCHAIN {}
4206 impl ::core::clone::Clone for SCH_CRED_PUBLIC_CERTCHAIN {
clone(&self) -> Self4207     fn clone(&self) -> Self {
4208         *self
4209     }
4210 }
4211 pub const SCH_CRED_RESTRICTED_ROOTS: u32 = 8192u32;
4212 pub const SCH_CRED_REVOCATION_CHECK_CACHE_ONLY: u32 = 16384u32;
4213 #[repr(C)]
4214 pub struct SCH_CRED_SECRET_CAPI {
4215     pub dwType: u32,
4216     pub hProv: usize,
4217 }
4218 impl ::core::marker::Copy for SCH_CRED_SECRET_CAPI {}
4219 impl ::core::clone::Clone for SCH_CRED_SECRET_CAPI {
clone(&self) -> Self4220     fn clone(&self) -> Self {
4221         *self
4222     }
4223 }
4224 #[repr(C)]
4225 #[cfg(feature = "Win32_Foundation")]
4226 pub 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")]
4233 impl ::core::marker::Copy for SCH_CRED_SECRET_PRIVKEY {}
4234 #[cfg(feature = "Win32_Foundation")]
4235 impl ::core::clone::Clone for SCH_CRED_SECRET_PRIVKEY {
clone(&self) -> Self4236     fn clone(&self) -> Self {
4237         *self
4238     }
4239 }
4240 pub const SCH_CRED_SNI_CREDENTIAL: u32 = 524288u32;
4241 pub const SCH_CRED_SNI_ENABLE_OCSP: u32 = 1048576u32;
4242 pub const SCH_CRED_V1: u32 = 1u32;
4243 pub const SCH_CRED_V2: u32 = 2u32;
4244 pub const SCH_CRED_V3: u32 = 3u32;
4245 pub const SCH_CRED_VERSION: u32 = 2u32;
4246 pub const SCH_CRED_X509_CAPI: u32 = 2u32;
4247 pub const SCH_CRED_X509_CERTCHAIN: u32 = 1u32;
4248 #[repr(C)]
4249 pub struct SCH_EXTENSION_DATA {
4250     pub ExtensionType: u16,
4251     pub pExtData: *mut u8,
4252     pub cbExtData: u32,
4253 }
4254 impl ::core::marker::Copy for SCH_EXTENSION_DATA {}
4255 impl ::core::clone::Clone for SCH_EXTENSION_DATA {
clone(&self) -> Self4256     fn clone(&self) -> Self {
4257         *self
4258     }
4259 }
4260 pub const SCH_MACHINE_CERT_HASH: u32 = 1u32;
4261 pub const SCH_MAX_EXT_SUBSCRIPTIONS: u32 = 2u32;
4262 pub const SCH_USE_DTLS_ONLY: u32 = 16777216u32;
4263 pub const SECBUFFER_ALERT: u32 = 17u32;
4264 pub const SECBUFFER_APPLICATION_PROTOCOLS: u32 = 18u32;
4265 pub const SECBUFFER_ATTRMASK: u32 = 4026531840u32;
4266 pub const SECBUFFER_CHANGE_PASS_RESPONSE: u32 = 15u32;
4267 pub const SECBUFFER_CHANNEL_BINDINGS: u32 = 14u32;
4268 pub const SECBUFFER_DATA: u32 = 1u32;
4269 pub const SECBUFFER_DTLS_MTU: u32 = 24u32;
4270 pub const SECBUFFER_EMPTY: u32 = 0u32;
4271 pub const SECBUFFER_EXTRA: u32 = 5u32;
4272 pub const SECBUFFER_FLAGS: u32 = 27u32;
4273 pub const SECBUFFER_KERNEL_MAP: u32 = 536870912u32;
4274 pub const SECBUFFER_MECHLIST: u32 = 11u32;
4275 pub const SECBUFFER_MECHLIST_SIGNATURE: u32 = 12u32;
4276 pub const SECBUFFER_MISSING: u32 = 4u32;
4277 pub const SECBUFFER_NEGOTIATION_INFO: u32 = 8u32;
4278 pub const SECBUFFER_PADDING: u32 = 9u32;
4279 pub const SECBUFFER_PKG_PARAMS: u32 = 3u32;
4280 pub const SECBUFFER_PRESHARED_KEY: u32 = 22u32;
4281 pub const SECBUFFER_PRESHARED_KEY_IDENTITY: u32 = 23u32;
4282 pub const SECBUFFER_READONLY: u32 = 2147483648u32;
4283 pub const SECBUFFER_READONLY_WITH_CHECKSUM: u32 = 268435456u32;
4284 pub const SECBUFFER_RESERVED: u32 = 1610612736u32;
4285 pub const SECBUFFER_SEND_GENERIC_TLS_EXTENSION: u32 = 25u32;
4286 pub const SECBUFFER_SRTP_MASTER_KEY_IDENTIFIER: u32 = 20u32;
4287 pub const SECBUFFER_SRTP_PROTECTION_PROFILES: u32 = 19u32;
4288 pub const SECBUFFER_STREAM: u32 = 10u32;
4289 pub const SECBUFFER_STREAM_HEADER: u32 = 7u32;
4290 pub const SECBUFFER_STREAM_TRAILER: u32 = 6u32;
4291 pub const SECBUFFER_SUBSCRIBE_GENERIC_TLS_EXTENSION: u32 = 26u32;
4292 pub const SECBUFFER_TARGET: u32 = 13u32;
4293 pub const SECBUFFER_TARGET_HOST: u32 = 16u32;
4294 pub const SECBUFFER_TOKEN: u32 = 2u32;
4295 pub const SECBUFFER_TOKEN_BINDING: u32 = 21u32;
4296 pub const SECBUFFER_TRAFFIC_SECRETS: u32 = 28u32;
4297 pub const SECBUFFER_UNMAPPED: u32 = 1073741824u32;
4298 pub const SECBUFFER_VERSION: u32 = 0u32;
4299 pub const SECPKGCONTEXT_CIPHERINFO_V1: u32 = 1u32;
4300 pub const SECPKGCONTEXT_CONNECTION_INFO_EX_V1: u32 = 1u32;
4301 pub const SECPKG_ANSI_ATTRIBUTE: u32 = 0u32;
4302 #[repr(C)]
4303 #[cfg(feature = "Win32_Foundation")]
4304 pub 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")]
4312 impl ::core::marker::Copy for SECPKG_APP_MODE_INFO {}
4313 #[cfg(feature = "Win32_Foundation")]
4314 impl ::core::clone::Clone for SECPKG_APP_MODE_INFO {
clone(&self) -> Self4315     fn clone(&self) -> Self {
4316         *self
4317     }
4318 }
4319 pub type SECPKG_ATTR = u32;
4320 pub const SECPKG_ATTR_C_ACCESS_TOKEN: SECPKG_ATTR = 2147483666u32;
4321 pub const SECPKG_ATTR_C_FULL_ACCESS_TOKEN: SECPKG_ATTR = 2147483778u32;
4322 pub const SECPKG_ATTR_CERT_TRUST_STATUS: SECPKG_ATTR = 2147483780u32;
4323 pub const SECPKG_ATTR_CREDS: SECPKG_ATTR = 2147483776u32;
4324 pub const SECPKG_ATTR_CREDS_2: SECPKG_ATTR = 2147483782u32;
4325 pub const SECPKG_ATTR_NEGOTIATION_PACKAGE: SECPKG_ATTR = 2147483777u32;
4326 pub const SECPKG_ATTR_PACKAGE_INFO: SECPKG_ATTR = 10u32;
4327 pub const SECPKG_ATTR_SERVER_AUTH_FLAGS: SECPKG_ATTR = 2147483779u32;
4328 pub const SECPKG_ATTR_SIZES: SECPKG_ATTR = 0u32;
4329 pub const SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTES: SECPKG_ATTR = 124u32;
4330 pub const SECPKG_ATTR_APP_DATA: SECPKG_ATTR = 94u32;
4331 pub const SECPKG_ATTR_EAP_PRF_INFO: SECPKG_ATTR = 101u32;
4332 pub const SECPKG_ATTR_EARLY_START: SECPKG_ATTR = 105u32;
4333 pub const SECPKG_ATTR_DTLS_MTU: SECPKG_ATTR = 34u32;
4334 pub const SECPKG_ATTR_KEYING_MATERIAL_INFO: SECPKG_ATTR = 106u32;
4335 pub const SECPKG_ATTR_ACCESS_TOKEN: SECPKG_ATTR = 18u32;
4336 pub const SECPKG_ATTR_AUTHORITY: SECPKG_ATTR = 6u32;
4337 pub const SECPKG_ATTR_CLIENT_SPECIFIED_TARGET: SECPKG_ATTR = 27u32;
4338 pub const SECPKG_ATTR_CONNECTION_INFO: SECPKG_ATTR = 90u32;
4339 pub const SECPKG_ATTR_DCE_INFO: SECPKG_ATTR = 3u32;
4340 pub const SECPKG_ATTR_ENDPOINT_BINDINGS: SECPKG_ATTR = 26u32;
4341 pub const SECPKG_ATTR_EAP_KEY_BLOCK: SECPKG_ATTR = 91u32;
4342 pub const SECPKG_ATTR_FLAGS: SECPKG_ATTR = 14u32;
4343 pub const SECPKG_ATTR_ISSUER_LIST_EX: SECPKG_ATTR = 89u32;
4344 pub const SECPKG_ATTR_KEY_INFO: SECPKG_ATTR = 5u32;
4345 pub const SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS: SECPKG_ATTR = 30u32;
4346 pub const SECPKG_ATTR_LIFESPAN: SECPKG_ATTR = 2u32;
4347 pub const SECPKG_ATTR_LOCAL_CERT_CONTEXT: SECPKG_ATTR = 84u32;
4348 pub const SECPKG_ATTR_LOCAL_CRED: SECPKG_ATTR = 82u32;
4349 pub const SECPKG_ATTR_NAMES: SECPKG_ATTR = 1u32;
4350 pub const SECPKG_ATTR_NATIVE_NAMES: SECPKG_ATTR = 13u32;
4351 pub const SECPKG_ATTR_NEGOTIATION_INFO: SECPKG_ATTR = 12u32;
4352 pub const SECPKG_ATTR_PASSWORD_EXPIRY: SECPKG_ATTR = 8u32;
4353 pub const SECPKG_ATTR_REMOTE_CERT_CONTEXT: SECPKG_ATTR = 83u32;
4354 pub const SECPKG_ATTR_ROOT_STORE: SECPKG_ATTR = 85u32;
4355 pub const SECPKG_ATTR_SESSION_KEY: SECPKG_ATTR = 9u32;
4356 pub const SECPKG_ATTR_SESSION_INFO: SECPKG_ATTR = 93u32;
4357 pub const SECPKG_ATTR_STREAM_SIZES: SECPKG_ATTR = 4u32;
4358 pub const SECPKG_ATTR_SUPPORTED_SIGNATURES: SECPKG_ATTR = 102u32;
4359 pub const SECPKG_ATTR_TARGET_INFORMATION: SECPKG_ATTR = 17u32;
4360 pub const SECPKG_ATTR_UNIQUE_BINDINGS: SECPKG_ATTR = 25u32;
4361 pub const SECPKG_ATTR_APPLICATION_PROTOCOL: u32 = 35u32;
4362 pub const SECPKG_ATTR_AUTHENTICATION_ID: u32 = 20u32;
4363 pub const SECPKG_ATTR_CC_POLICY_RESULT: u32 = 97u32;
4364 pub const SECPKG_ATTR_CERT_CHECK_RESULT: u32 = 113u32;
4365 pub const SECPKG_ATTR_CERT_CHECK_RESULT_INPROC: u32 = 114u32;
4366 pub const SECPKG_ATTR_CIPHER_INFO: u32 = 100u32;
4367 pub const SECPKG_ATTR_CIPHER_STRENGTHS: u32 = 87u32;
4368 pub const SECPKG_ATTR_CLIENT_CERT_POLICY: u32 = 96u32;
4369 pub const SECPKG_ATTR_CONNECTION_INFO_EX: u32 = 110u32;
4370 pub const SECPKG_ATTR_CONTEXT_DELETED: u32 = 33u32;
4371 pub const SECPKG_ATTR_CREDENTIAL_NAME: u32 = 16u32;
4372 pub const SECPKG_ATTR_ISSUER_LIST: u32 = 80u32;
4373 pub const SECPKG_ATTR_IS_LOOPBACK: u32 = 37u32;
4374 pub const SECPKG_ATTR_KEYING_MATERIAL: u32 = 107u32;
4375 pub const SECPKG_ATTR_KEYING_MATERIAL_INPROC: u32 = 112u32;
4376 pub const SECPKG_ATTR_KEYING_MATERIAL_TOKEN_BINDING: u32 = 111u32;
4377 pub type SECPKG_ATTR_LCT_STATUS = i32;
4378 pub const SecPkgAttrLastClientTokenYes: SECPKG_ATTR_LCT_STATUS = 0i32;
4379 pub const SecPkgAttrLastClientTokenNo: SECPKG_ATTR_LCT_STATUS = 1i32;
4380 pub const SecPkgAttrLastClientTokenMaybe: SECPKG_ATTR_LCT_STATUS = 2i32;
4381 pub const SECPKG_ATTR_LOCAL_CERT_INFO: u32 = 99u32;
4382 pub const SECPKG_ATTR_LOGOFF_TIME: u32 = 21u32;
4383 pub const SECPKG_ATTR_MAPPED_CRED_ATTR: u32 = 92u32;
4384 pub const SECPKG_ATTR_NEGOTIATED_TLS_EXTENSIONS: u32 = 36u32;
4385 pub const SECPKG_ATTR_NEGO_INFO_FLAG_NO_KERBEROS: u32 = 1u32;
4386 pub const SECPKG_ATTR_NEGO_INFO_FLAG_NO_NTLM: u32 = 2u32;
4387 pub const SECPKG_ATTR_NEGO_KEYS: u32 = 22u32;
4388 pub const SECPKG_ATTR_NEGO_PKG_INFO: u32 = 31u32;
4389 pub const SECPKG_ATTR_NEGO_STATUS: u32 = 32u32;
4390 pub const SECPKG_ATTR_PROMPTING_NEEDED: u32 = 24u32;
4391 pub const SECPKG_ATTR_PROTO_INFO: u32 = 7u32;
4392 pub const SECPKG_ATTR_REMOTE_CERTIFICATES: u32 = 95u32;
4393 pub const SECPKG_ATTR_REMOTE_CERT_CHAIN: u32 = 103u32;
4394 pub const SECPKG_ATTR_REMOTE_CRED: u32 = 81u32;
4395 pub const SECPKG_ATTR_SASL_CONTEXT: u32 = 65536u32;
4396 pub const SECPKG_ATTR_SESSION_TICKET_KEYS: u32 = 115u32;
4397 pub const SECPKG_ATTR_SRTP_PARAMETERS: u32 = 108u32;
4398 pub const SECPKG_ATTR_SUPPORTED_ALGS: u32 = 86u32;
4399 pub const SECPKG_ATTR_SUPPORTED_PROTOCOLS: u32 = 88u32;
4400 pub const SECPKG_ATTR_TARGET: u32 = 19u32;
4401 pub const SECPKG_ATTR_THUNK_ALL: u32 = 65536u32;
4402 pub const SECPKG_ATTR_TOKEN_BINDING: u32 = 109u32;
4403 pub const SECPKG_ATTR_UI_INFO: u32 = 104u32;
4404 pub const SECPKG_ATTR_USER_FLAGS: u32 = 11u32;
4405 pub const SECPKG_ATTR_USE_NCRYPT: u32 = 98u32;
4406 pub const SECPKG_ATTR_USE_VALIDATED: u32 = 15u32;
4407 #[repr(C)]
4408 pub struct SECPKG_BYTE_VECTOR {
4409     pub ByteArrayOffset: u32,
4410     pub ByteArrayLength: u16,
4411 }
4412 impl ::core::marker::Copy for SECPKG_BYTE_VECTOR {}
4413 impl ::core::clone::Clone for SECPKG_BYTE_VECTOR {
clone(&self) -> Self4414     fn clone(&self) -> Self {
4415         *self
4416     }
4417 }
4418 pub const SECPKG_CALLFLAGS_APPCONTAINER: u32 = 1u32;
4419 pub const SECPKG_CALLFLAGS_APPCONTAINER_AUTHCAPABLE: u32 = 2u32;
4420 pub const SECPKG_CALLFLAGS_APPCONTAINER_UPNCAPABLE: u32 = 8u32;
4421 pub const SECPKG_CALLFLAGS_FORCE_SUPPLIED: u32 = 4u32;
4422 pub const SECPKG_CALL_ANSI: u32 = 2u32;
4423 pub const SECPKG_CALL_ASYNC_UPDATE: u32 = 4096u32;
4424 pub const SECPKG_CALL_BUFFER_MARSHAL: u32 = 65536u32;
4425 pub const SECPKG_CALL_CLEANUP: u32 = 32u32;
4426 pub const SECPKG_CALL_CLOUDAP_CONNECT: u32 = 262144u32;
4427 #[repr(C)]
4428 pub 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 }
4435 impl ::core::marker::Copy for SECPKG_CALL_INFO {}
4436 impl ::core::clone::Clone for SECPKG_CALL_INFO {
clone(&self) -> Self4437     fn clone(&self) -> Self {
4438         *self
4439     }
4440 }
4441 pub const SECPKG_CALL_IN_PROC: u32 = 16u32;
4442 pub const SECPKG_CALL_IS_TCB: u32 = 512u32;
4443 pub const SECPKG_CALL_KERNEL_MODE: u32 = 1u32;
4444 pub const SECPKG_CALL_NEGO: u32 = 16384u32;
4445 pub const SECPKG_CALL_NEGO_EXTENDER: u32 = 32768u32;
4446 pub const SECPKG_CALL_NETWORK_ONLY: u32 = 1024u32;
4447 pub type SECPKG_CALL_PACKAGE_MESSAGE_TYPE = i32;
4448 pub const SecPkgCallPackageMinMessage: SECPKG_CALL_PACKAGE_MESSAGE_TYPE = 1024i32;
4449 pub const SecPkgCallPackagePinDcMessage: SECPKG_CALL_PACKAGE_MESSAGE_TYPE = 1024i32;
4450 pub const SecPkgCallPackageUnpinAllDcsMessage: SECPKG_CALL_PACKAGE_MESSAGE_TYPE = 1025i32;
4451 pub const SecPkgCallPackageTransferCredMessage: SECPKG_CALL_PACKAGE_MESSAGE_TYPE = 1026i32;
4452 pub const SecPkgCallPackageMaxMessage: SECPKG_CALL_PACKAGE_MESSAGE_TYPE = 1026i32;
4453 #[repr(C)]
4454 #[cfg(feature = "Win32_Foundation")]
4455 pub 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")]
4463 impl ::core::marker::Copy for SECPKG_CALL_PACKAGE_PIN_DC_REQUEST {}
4464 #[cfg(feature = "Win32_Foundation")]
4465 impl ::core::clone::Clone for SECPKG_CALL_PACKAGE_PIN_DC_REQUEST {
clone(&self) -> Self4466     fn clone(&self) -> Self {
4467         *self
4468     }
4469 }
4470 #[repr(C)]
4471 #[cfg(feature = "Win32_Foundation")]
4472 pub 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")]
4479 impl ::core::marker::Copy for SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST {}
4480 #[cfg(feature = "Win32_Foundation")]
4481 impl ::core::clone::Clone for SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST {
clone(&self) -> Self4482     fn clone(&self) -> Self {
4483         *self
4484     }
4485 }
4486 pub const SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST_FLAG_CLEANUP_CREDENTIALS: u32 = 2u32;
4487 pub const SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST_FLAG_OPTIMISTIC_LOGON: u32 = 1u32;
4488 pub const SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST_FLAG_TO_SSO_SESSION: u32 = 4u32;
4489 #[repr(C)]
4490 pub struct SECPKG_CALL_PACKAGE_UNPIN_ALL_DCS_REQUEST {
4491     pub MessageType: u32,
4492     pub Flags: u32,
4493 }
4494 impl ::core::marker::Copy for SECPKG_CALL_PACKAGE_UNPIN_ALL_DCS_REQUEST {}
4495 impl ::core::clone::Clone for SECPKG_CALL_PACKAGE_UNPIN_ALL_DCS_REQUEST {
clone(&self) -> Self4496     fn clone(&self) -> Self {
4497         *self
4498     }
4499 }
4500 pub const SECPKG_CALL_PROCESS_TERM: u32 = 256u32;
4501 pub const SECPKG_CALL_RECURSIVE: u32 = 8u32;
4502 pub const SECPKG_CALL_SYSTEM_PROC: u32 = 8192u32;
4503 pub const SECPKG_CALL_THREAD_TERM: u32 = 128u32;
4504 pub const SECPKG_CALL_UNLOCK: u32 = 131072u32;
4505 pub const SECPKG_CALL_URGENT: u32 = 4u32;
4506 pub const SECPKG_CALL_WINLOGON: u32 = 2048u32;
4507 pub const SECPKG_CALL_WOWA32: u32 = 262144u32;
4508 pub const SECPKG_CALL_WOWCLIENT: u32 = 64u32;
4509 pub const SECPKG_CALL_WOWX86: u32 = 64u32;
4510 #[repr(C)]
4511 #[cfg(feature = "Win32_Foundation")]
4512 pub 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")]
4524 impl ::core::marker::Copy for SECPKG_CLIENT_INFO {}
4525 #[cfg(feature = "Win32_Foundation")]
4526 impl ::core::clone::Clone for SECPKG_CLIENT_INFO {
clone(&self) -> Self4527     fn clone(&self) -> Self {
4528         *self
4529     }
4530 }
4531 pub const SECPKG_CLIENT_PROCESS_TERMINATED: u32 = 1u32;
4532 pub const SECPKG_CLIENT_THREAD_TERMINATED: u32 = 2u32;
4533 #[repr(C)]
4534 pub struct SECPKG_CONTEXT_THUNKS {
4535     pub InfoLevelCount: u32,
4536     pub Levels: [u32; 1],
4537 }
4538 impl ::core::marker::Copy for SECPKG_CONTEXT_THUNKS {}
4539 impl ::core::clone::Clone for SECPKG_CONTEXT_THUNKS {
clone(&self) -> Self4540     fn clone(&self) -> Self {
4541         *self
4542     }
4543 }
4544 pub type SECPKG_CRED = u32;
4545 pub const SECPKG_CRED_INBOUND: SECPKG_CRED = 1u32;
4546 pub const SECPKG_CRED_OUTBOUND: SECPKG_CRED = 2u32;
4547 #[repr(C)]
4548 #[cfg(feature = "Win32_Foundation")]
4549 pub 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")]
4566 impl ::core::marker::Copy for SECPKG_CREDENTIAL {}
4567 #[cfg(feature = "Win32_Foundation")]
4568 impl ::core::clone::Clone for SECPKG_CREDENTIAL {
clone(&self) -> Self4569     fn clone(&self) -> Self {
4570         *self
4571     }
4572 }
4573 pub const SECPKG_CREDENTIAL_ATTRIBUTE: u32 = 0u32;
4574 pub const SECPKG_CREDENTIAL_FLAGS_CALLER_HAS_TCB: u32 = 1u32;
4575 pub const SECPKG_CREDENTIAL_FLAGS_CREDMAN_CRED: u32 = 2u32;
4576 pub const SECPKG_CREDENTIAL_VERSION: u32 = 201u32;
4577 pub const SECPKG_CRED_ATTR_CERT: u32 = 4u32;
4578 pub const SECPKG_CRED_ATTR_KDC_PROXY_SETTINGS: u32 = 3u32;
4579 pub const SECPKG_CRED_ATTR_NAMES: u32 = 1u32;
4580 pub const SECPKG_CRED_ATTR_PAC_BYPASS: u32 = 5u32;
4581 pub const SECPKG_CRED_ATTR_SSI_PROVIDER: u32 = 2u32;
4582 pub const SECPKG_CRED_AUTOLOGON_RESTRICTED: u32 = 16u32;
4583 pub const SECPKG_CRED_BOTH: u32 = 3u32;
4584 pub type SECPKG_CRED_CLASS = i32;
4585 pub const SecPkgCredClass_None: SECPKG_CRED_CLASS = 0i32;
4586 pub const SecPkgCredClass_Ephemeral: SECPKG_CRED_CLASS = 10i32;
4587 pub const SecPkgCredClass_PersistedGeneric: SECPKG_CRED_CLASS = 20i32;
4588 pub const SecPkgCredClass_PersistedSpecific: SECPKG_CRED_CLASS = 30i32;
4589 pub const SecPkgCredClass_Explicit: SECPKG_CRED_CLASS = 40i32;
4590 pub const SECPKG_CRED_DEFAULT: u32 = 4u32;
4591 pub const SECPKG_CRED_PROCESS_POLICY_ONLY: u32 = 32u32;
4592 pub const SECPKG_CRED_RESERVED: u32 = 4026531840u32;
4593 #[repr(C)]
4594 #[cfg(feature = "Win32_Foundation")]
4595 pub 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")]
4602 impl ::core::marker::Copy for SECPKG_DLL_FUNCTIONS {}
4603 #[cfg(feature = "Win32_Foundation")]
4604 impl ::core::clone::Clone for SECPKG_DLL_FUNCTIONS {
clone(&self) -> Self4605     fn clone(&self) -> Self {
4606         *self
4607     }
4608 }
4609 #[repr(C)]
4610 pub 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 }
4617 impl ::core::marker::Copy for SECPKG_EVENT_NOTIFY {}
4618 impl ::core::clone::Clone for SECPKG_EVENT_NOTIFY {
clone(&self) -> Self4619     fn clone(&self) -> Self {
4620         *self
4621     }
4622 }
4623 #[repr(C)]
4624 #[cfg(feature = "Win32_Foundation")]
4625 pub 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")]
4631 impl ::core::marker::Copy for SECPKG_EVENT_PACKAGE_CHANGE {}
4632 #[cfg(feature = "Win32_Foundation")]
4633 impl ::core::clone::Clone for SECPKG_EVENT_PACKAGE_CHANGE {
clone(&self) -> Self4634     fn clone(&self) -> Self {
4635         *self
4636     }
4637 }
4638 #[repr(C)]
4639 pub struct SECPKG_EVENT_ROLE_CHANGE {
4640     pub PreviousRole: u32,
4641     pub NewRole: u32,
4642 }
4643 impl ::core::marker::Copy for SECPKG_EVENT_ROLE_CHANGE {}
4644 impl ::core::clone::Clone for SECPKG_EVENT_ROLE_CHANGE {
clone(&self) -> Self4645     fn clone(&self) -> Self {
4646         *self
4647     }
4648 }
4649 #[repr(C)]
4650 #[cfg(feature = "Win32_Foundation")]
4651 pub struct SECPKG_EXTENDED_INFORMATION {
4652     pub Class: SECPKG_EXTENDED_INFORMATION_CLASS,
4653     pub Info: SECPKG_EXTENDED_INFORMATION_0,
4654 }
4655 #[cfg(feature = "Win32_Foundation")]
4656 impl ::core::marker::Copy for SECPKG_EXTENDED_INFORMATION {}
4657 #[cfg(feature = "Win32_Foundation")]
4658 impl ::core::clone::Clone for SECPKG_EXTENDED_INFORMATION {
clone(&self) -> Self4659     fn clone(&self) -> Self {
4660         *self
4661     }
4662 }
4663 #[repr(C)]
4664 #[cfg(feature = "Win32_Foundation")]
4665 pub 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")]
4674 impl ::core::marker::Copy for SECPKG_EXTENDED_INFORMATION_0 {}
4675 #[cfg(feature = "Win32_Foundation")]
4676 impl ::core::clone::Clone for SECPKG_EXTENDED_INFORMATION_0 {
clone(&self) -> Self4677     fn clone(&self) -> Self {
4678         *self
4679     }
4680 }
4681 pub type SECPKG_EXTENDED_INFORMATION_CLASS = i32;
4682 pub const SecpkgGssInfo: SECPKG_EXTENDED_INFORMATION_CLASS = 1i32;
4683 pub const SecpkgContextThunks: SECPKG_EXTENDED_INFORMATION_CLASS = 2i32;
4684 pub const SecpkgMutualAuthLevel: SECPKG_EXTENDED_INFORMATION_CLASS = 3i32;
4685 pub const SecpkgWowClientDll: SECPKG_EXTENDED_INFORMATION_CLASS = 4i32;
4686 pub const SecpkgExtraOids: SECPKG_EXTENDED_INFORMATION_CLASS = 5i32;
4687 pub const SecpkgMaxInfo: SECPKG_EXTENDED_INFORMATION_CLASS = 6i32;
4688 pub const SecpkgNego2Info: SECPKG_EXTENDED_INFORMATION_CLASS = 7i32;
4689 #[repr(C)]
4690 pub struct SECPKG_EXTRA_OIDS {
4691     pub OidCount: u32,
4692     pub Oids: [SECPKG_SERIALIZED_OID; 1],
4693 }
4694 impl ::core::marker::Copy for SECPKG_EXTRA_OIDS {}
4695 impl ::core::clone::Clone for SECPKG_EXTRA_OIDS {
clone(&self) -> Self4696     fn clone(&self) -> Self {
4697         *self
4698     }
4699 }
4700 pub const SECPKG_FLAG_ACCEPT_WIN32_NAME: u32 = 512u32;
4701 pub const SECPKG_FLAG_APPCONTAINER_CHECKS: u32 = 8388608u32;
4702 pub const SECPKG_FLAG_APPCONTAINER_PASSTHROUGH: u32 = 4194304u32;
4703 pub const SECPKG_FLAG_APPLY_LOOPBACK: u32 = 33554432u32;
4704 pub const SECPKG_FLAG_ASCII_BUFFERS: u32 = 16384u32;
4705 pub const SECPKG_FLAG_CLIENT_ONLY: u32 = 64u32;
4706 pub const SECPKG_FLAG_CONNECTION: u32 = 16u32;
4707 pub const SECPKG_FLAG_CREDENTIAL_ISOLATION_ENABLED: u32 = 16777216u32;
4708 pub const SECPKG_FLAG_DATAGRAM: u32 = 8u32;
4709 pub const SECPKG_FLAG_DELEGATION: u32 = 131072u32;
4710 pub const SECPKG_FLAG_EXTENDED_ERROR: u32 = 128u32;
4711 pub const SECPKG_FLAG_FRAGMENT: u32 = 32768u32;
4712 pub const SECPKG_FLAG_GSS_COMPATIBLE: u32 = 4096u32;
4713 pub const SECPKG_FLAG_IMPERSONATION: u32 = 256u32;
4714 pub const SECPKG_FLAG_INTEGRITY: u32 = 1u32;
4715 pub const SECPKG_FLAG_LOGON: u32 = 8192u32;
4716 pub const SECPKG_FLAG_MULTI_REQUIRED: u32 = 32u32;
4717 pub const SECPKG_FLAG_MUTUAL_AUTH: u32 = 65536u32;
4718 pub const SECPKG_FLAG_NEGOTIABLE: u32 = 2048u32;
4719 pub const SECPKG_FLAG_NEGOTIABLE2: u32 = 2097152u32;
4720 pub const SECPKG_FLAG_NEGO_EXTENDER: u32 = 1048576u32;
4721 pub const SECPKG_FLAG_PRIVACY: u32 = 2u32;
4722 pub const SECPKG_FLAG_READONLY_WITH_CHECKSUM: u32 = 262144u32;
4723 pub const SECPKG_FLAG_RESTRICTED_TOKENS: u32 = 524288u32;
4724 pub const SECPKG_FLAG_STREAM: u32 = 1024u32;
4725 pub 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"))]
4728 pub 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"))]
4773 impl ::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"))]
4775 impl ::core::clone::Clone for SECPKG_FUNCTION_TABLE {
clone(&self) -> Self4776     fn clone(&self) -> Self {
4777         *self
4778     }
4779 }
4780 #[repr(C)]
4781 pub struct SECPKG_GSS_INFO {
4782     pub EncodedIdLength: u32,
4783     pub EncodedId: [u8; 4],
4784 }
4785 impl ::core::marker::Copy for SECPKG_GSS_INFO {}
4786 impl ::core::clone::Clone for SECPKG_GSS_INFO {
clone(&self) -> Self4787     fn clone(&self) -> Self {
4788         *self
4789     }
4790 }
4791 pub const SECPKG_ID_NONE: u32 = 65535u32;
4792 pub const SECPKG_INTERFACE_VERSION: u32 = 65536u32;
4793 pub const SECPKG_INTERFACE_VERSION_10: u32 = 33554432u32;
4794 pub const SECPKG_INTERFACE_VERSION_2: u32 = 131072u32;
4795 pub const SECPKG_INTERFACE_VERSION_3: u32 = 262144u32;
4796 pub const SECPKG_INTERFACE_VERSION_4: u32 = 524288u32;
4797 pub const SECPKG_INTERFACE_VERSION_5: u32 = 1048576u32;
4798 pub const SECPKG_INTERFACE_VERSION_6: u32 = 2097152u32;
4799 pub const SECPKG_INTERFACE_VERSION_7: u32 = 4194304u32;
4800 pub const SECPKG_INTERFACE_VERSION_8: u32 = 8388608u32;
4801 pub const SECPKG_INTERFACE_VERSION_9: u32 = 16777216u32;
4802 #[repr(C)]
4803 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4804 pub 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"))]
4816 impl ::core::marker::Copy for SECPKG_KERNEL_FUNCTIONS {}
4817 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4818 impl ::core::clone::Clone for SECPKG_KERNEL_FUNCTIONS {
clone(&self) -> Self4819     fn clone(&self) -> Self {
4820         *self
4821     }
4822 }
4823 #[repr(C)]
4824 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4825 pub 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"))]
4843 impl ::core::marker::Copy for SECPKG_KERNEL_FUNCTION_TABLE {}
4844 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4845 impl ::core::clone::Clone for SECPKG_KERNEL_FUNCTION_TABLE {
clone(&self) -> Self4846     fn clone(&self) -> Self {
4847         *self
4848     }
4849 }
4850 pub const SECPKG_MAX_OID_LENGTH: u32 = 32u32;
4851 #[repr(C)]
4852 pub struct SECPKG_MUTUAL_AUTH_LEVEL {
4853     pub MutualAuthLevel: u32,
4854 }
4855 impl ::core::marker::Copy for SECPKG_MUTUAL_AUTH_LEVEL {}
4856 impl ::core::clone::Clone for SECPKG_MUTUAL_AUTH_LEVEL {
clone(&self) -> Self4857     fn clone(&self) -> Self {
4858         *self
4859     }
4860 }
4861 pub type SECPKG_NAME_TYPE = i32;
4862 pub const SecNameSamCompatible: SECPKG_NAME_TYPE = 0i32;
4863 pub const SecNameAlternateId: SECPKG_NAME_TYPE = 1i32;
4864 pub const SecNameFlat: SECPKG_NAME_TYPE = 2i32;
4865 pub const SecNameDN: SECPKG_NAME_TYPE = 3i32;
4866 pub const SecNameSPN: SECPKG_NAME_TYPE = 4i32;
4867 #[repr(C)]
4868 pub struct SECPKG_NEGO2_INFO {
4869     pub AuthScheme: [u8; 16],
4870     pub PackageFlags: u32,
4871 }
4872 impl ::core::marker::Copy for SECPKG_NEGO2_INFO {}
4873 impl ::core::clone::Clone for SECPKG_NEGO2_INFO {
clone(&self) -> Self4874     fn clone(&self) -> Self {
4875         *self
4876     }
4877 }
4878 pub const SECPKG_NEGOTIATION_COMPLETE: u32 = 0u32;
4879 pub const SECPKG_NEGOTIATION_DIRECT: u32 = 3u32;
4880 pub const SECPKG_NEGOTIATION_IN_PROGRESS: u32 = 2u32;
4881 pub const SECPKG_NEGOTIATION_OPTIMISTIC: u32 = 1u32;
4882 pub const SECPKG_NEGOTIATION_TRY_MULTICRED: u32 = 4u32;
4883 pub const SECPKG_OPTIONS_PERMANENT: u32 = 1u32;
4884 pub type SECPKG_PACKAGE_CHANGE_TYPE = u32;
4885 pub const SECPKG_PACKAGE_CHANGE_LOAD: SECPKG_PACKAGE_CHANGE_TYPE = 0u32;
4886 pub const SECPKG_PACKAGE_CHANGE_UNLOAD: SECPKG_PACKAGE_CHANGE_TYPE = 1u32;
4887 pub const SECPKG_PACKAGE_CHANGE_SELECT: SECPKG_PACKAGE_CHANGE_TYPE = 2u32;
4888 #[repr(C)]
4889 #[cfg(feature = "Win32_Foundation")]
4890 pub 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")]
4900 impl ::core::marker::Copy for SECPKG_PARAMETERS {}
4901 #[cfg(feature = "Win32_Foundation")]
4902 impl ::core::clone::Clone for SECPKG_PARAMETERS {
clone(&self) -> Self4903     fn clone(&self) -> Self {
4904         *self
4905     }
4906 }
4907 #[repr(C)]
4908 #[cfg(feature = "Win32_Foundation")]
4909 pub 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")]
4915 impl ::core::marker::Copy for SECPKG_POST_LOGON_USER_INFO {}
4916 #[cfg(feature = "Win32_Foundation")]
4917 impl ::core::clone::Clone for SECPKG_POST_LOGON_USER_INFO {
clone(&self) -> Self4918     fn clone(&self) -> Self {
4919         *self
4920     }
4921 }
4922 #[repr(C)]
4923 #[cfg(feature = "Win32_Foundation")]
4924 pub 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")]
4941 impl ::core::marker::Copy for SECPKG_PRIMARY_CRED {}
4942 #[cfg(feature = "Win32_Foundation")]
4943 impl ::core::clone::Clone for SECPKG_PRIMARY_CRED {
clone(&self) -> Self4944     fn clone(&self) -> Self {
4945         *self
4946     }
4947 }
4948 #[repr(C)]
4949 #[cfg(feature = "Win32_Foundation")]
4950 pub 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")]
4970 impl ::core::marker::Copy for SECPKG_PRIMARY_CRED_EX {}
4971 #[cfg(feature = "Win32_Foundation")]
4972 impl ::core::clone::Clone for SECPKG_PRIMARY_CRED_EX {
clone(&self) -> Self4973     fn clone(&self) -> Self {
4974         *self
4975     }
4976 }
4977 pub const SECPKG_PRIMARY_CRED_EX_FLAGS_EX_DELEGATION_TOKEN: u32 = 1u32;
4978 #[repr(C)]
4979 #[cfg(feature = "Win32_Foundation")]
4980 pub 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")]
4990 impl ::core::marker::Copy for SECPKG_REDIRECTED_LOGON_BUFFER {}
4991 #[cfg(feature = "Win32_Foundation")]
4992 impl ::core::clone::Clone for SECPKG_REDIRECTED_LOGON_BUFFER {
clone(&self) -> Self4993     fn clone(&self) -> Self {
4994         *self
4995     }
4996 }
4997 #[repr(C)]
4998 pub struct SECPKG_SERIALIZED_OID {
4999     pub OidLength: u32,
5000     pub OidAttributes: u32,
5001     pub OidValue: [u8; 32],
5002 }
5003 impl ::core::marker::Copy for SECPKG_SERIALIZED_OID {}
5004 impl ::core::clone::Clone for SECPKG_SERIALIZED_OID {
clone(&self) -> Self5005     fn clone(&self) -> Self {
5006         *self
5007     }
5008 }
5009 pub type SECPKG_SESSIONINFO_TYPE = i32;
5010 pub const SecSessionPrimaryCred: SECPKG_SESSIONINFO_TYPE = 0i32;
5011 #[repr(C)]
5012 pub struct SECPKG_SHORT_VECTOR {
5013     pub ShortArrayOffset: u32,
5014     pub ShortArrayCount: u16,
5015 }
5016 impl ::core::marker::Copy for SECPKG_SHORT_VECTOR {}
5017 impl ::core::clone::Clone for SECPKG_SHORT_VECTOR {
clone(&self) -> Self5018     fn clone(&self) -> Self {
5019         *self
5020     }
5021 }
5022 pub const SECPKG_STATE_CRED_ISOLATION_ENABLED: u32 = 32u32;
5023 pub const SECPKG_STATE_DOMAIN_CONTROLLER: u32 = 4u32;
5024 pub const SECPKG_STATE_ENCRYPTION_PERMITTED: u32 = 1u32;
5025 pub const SECPKG_STATE_RESERVED_1: u32 = 2147483648u32;
5026 pub const SECPKG_STATE_STANDALONE: u32 = 16u32;
5027 pub const SECPKG_STATE_STRONG_ENCRYPTION_PERMITTED: u32 = 2u32;
5028 pub const SECPKG_STATE_WORKSTATION: u32 = 8u32;
5029 #[repr(C)]
5030 #[cfg(feature = "Win32_Foundation")]
5031 pub 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")]
5037 impl ::core::marker::Copy for SECPKG_SUPPLEMENTAL_CRED {}
5038 #[cfg(feature = "Win32_Foundation")]
5039 impl ::core::clone::Clone for SECPKG_SUPPLEMENTAL_CRED {
clone(&self) -> Self5040     fn clone(&self) -> Self {
5041         *self
5042     }
5043 }
5044 #[repr(C)]
5045 #[cfg(feature = "Win32_Foundation")]
5046 pub struct SECPKG_SUPPLEMENTAL_CRED_ARRAY {
5047     pub CredentialCount: u32,
5048     pub Credentials: [SECPKG_SUPPLEMENTAL_CRED; 1],
5049 }
5050 #[cfg(feature = "Win32_Foundation")]
5051 impl ::core::marker::Copy for SECPKG_SUPPLEMENTAL_CRED_ARRAY {}
5052 #[cfg(feature = "Win32_Foundation")]
5053 impl ::core::clone::Clone for SECPKG_SUPPLEMENTAL_CRED_ARRAY {
clone(&self) -> Self5054     fn clone(&self) -> Self {
5055         *self
5056     }
5057 }
5058 #[repr(C)]
5059 pub 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 }
5067 impl ::core::marker::Copy for SECPKG_SUPPLIED_CREDENTIAL {}
5068 impl ::core::clone::Clone for SECPKG_SUPPLIED_CREDENTIAL {
clone(&self) -> Self5069     fn clone(&self) -> Self {
5070         *self
5071     }
5072 }
5073 #[repr(C)]
5074 #[cfg(feature = "Win32_Foundation")]
5075 pub 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")]
5082 impl ::core::marker::Copy for SECPKG_SURROGATE_LOGON {}
5083 #[cfg(feature = "Win32_Foundation")]
5084 impl ::core::clone::Clone for SECPKG_SURROGATE_LOGON {
clone(&self) -> Self5085     fn clone(&self) -> Self {
5086         *self
5087     }
5088 }
5089 #[repr(C)]
5090 pub struct SECPKG_SURROGATE_LOGON_ENTRY {
5091     pub Type: ::windows_sys::core::GUID,
5092     pub Data: *mut ::core::ffi::c_void,
5093 }
5094 impl ::core::marker::Copy for SECPKG_SURROGATE_LOGON_ENTRY {}
5095 impl ::core::clone::Clone for SECPKG_SURROGATE_LOGON_ENTRY {
clone(&self) -> Self5096     fn clone(&self) -> Self {
5097         *self
5098     }
5099 }
5100 pub const SECPKG_SURROGATE_LOGON_VERSION_1: u32 = 1u32;
5101 #[repr(C)]
5102 #[cfg(feature = "Win32_Foundation")]
5103 pub 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")]
5108 impl ::core::marker::Copy for SECPKG_TARGETINFO {}
5109 #[cfg(feature = "Win32_Foundation")]
5110 impl ::core::clone::Clone for SECPKG_TARGETINFO {
clone(&self) -> Self5111     fn clone(&self) -> Self {
5112         *self
5113     }
5114 }
5115 pub const SECPKG_UNICODE_ATTRIBUTE: u32 = 2147483648u32;
5116 #[repr(C)]
5117 #[cfg(feature = "Win32_Foundation")]
5118 pub 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")]
5136 impl ::core::marker::Copy for SECPKG_USER_FUNCTION_TABLE {}
5137 #[cfg(feature = "Win32_Foundation")]
5138 impl ::core::clone::Clone for SECPKG_USER_FUNCTION_TABLE {
clone(&self) -> Self5139     fn clone(&self) -> Self {
5140         *self
5141     }
5142 }
5143 #[repr(C)]
5144 #[cfg(feature = "Win32_Foundation")]
5145 pub struct SECPKG_WOW_CLIENT_DLL {
5146     pub WowClientDllPath: super::super::super::Foundation::UNICODE_STRING,
5147 }
5148 #[cfg(feature = "Win32_Foundation")]
5149 impl ::core::marker::Copy for SECPKG_WOW_CLIENT_DLL {}
5150 #[cfg(feature = "Win32_Foundation")]
5151 impl ::core::clone::Clone for SECPKG_WOW_CLIENT_DLL {
clone(&self) -> Self5152     fn clone(&self) -> Self {
5153         *self
5154     }
5155 }
5156 pub const SECQOP_WRAP_NO_ENCRYPT: u32 = 2147483649u32;
5157 pub const SECQOP_WRAP_OOB_DATA: u32 = 1073741824u32;
5158 pub const SECRET_QUERY_VALUE: i32 = 2i32;
5159 pub const SECRET_SET_VALUE: i32 = 1i32;
5160 #[repr(C)]
5161 #[cfg(feature = "Win32_Foundation")]
5162 pub 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")]
5188 impl ::core::marker::Copy for SECURITY_LOGON_SESSION_DATA {}
5189 #[cfg(feature = "Win32_Foundation")]
5190 impl ::core::clone::Clone for SECURITY_LOGON_SESSION_DATA {
clone(&self) -> Self5191     fn clone(&self) -> Self {
5192         *self
5193     }
5194 }
5195 #[repr(transparent)]
5196 pub struct SECURITY_LOGON_TYPE(pub i32);
5197 impl 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 }
5212 impl ::core::marker::Copy for SECURITY_LOGON_TYPE {}
5213 impl ::core::clone::Clone for SECURITY_LOGON_TYPE {
clone(&self) -> Self5214     fn clone(&self) -> Self {
5215         *self
5216     }
5217 }
5218 pub const SECURITY_NATIVE_DREP: u32 = 16u32;
5219 pub const SECURITY_NETWORK_DREP: u32 = 0u32;
5220 #[repr(C)]
5221 pub 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 }
5228 impl ::core::marker::Copy for SECURITY_PACKAGE_OPTIONS {}
5229 impl ::core::clone::Clone for SECURITY_PACKAGE_OPTIONS {
clone(&self) -> Self5230     fn clone(&self) -> Self {
5231         *self
5232     }
5233 }
5234 pub type SECURITY_PACKAGE_OPTIONS_TYPE = u32;
5235 pub const SECPKG_OPTIONS_TYPE_UNKNOWN: SECURITY_PACKAGE_OPTIONS_TYPE = 0u32;
5236 pub const SECPKG_OPTIONS_TYPE_LSA: SECURITY_PACKAGE_OPTIONS_TYPE = 1u32;
5237 pub const SECPKG_OPTIONS_TYPE_SSPI: SECURITY_PACKAGE_OPTIONS_TYPE = 2u32;
5238 pub const SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION: u32 = 1u32;
5239 pub const SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_2: u32 = 2u32;
5240 pub const SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_3: u32 = 3u32;
5241 pub const SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_4: u32 = 4u32;
5242 pub const SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_5: u32 = 5u32;
5243 #[repr(C)]
5244 #[cfg(feature = "Win32_Foundation")]
5245 pub 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")]
5252 impl ::core::marker::Copy for SECURITY_USER_DATA {}
5253 #[cfg(feature = "Win32_Foundation")]
5254 impl ::core::clone::Clone for SECURITY_USER_DATA {
clone(&self) -> Self5255     fn clone(&self) -> Self {
5256         *self
5257     }
5258 }
5259 #[repr(C)]
5260 pub struct SEC_APPLICATION_PROTOCOLS {
5261     pub ProtocolListsSize: u32,
5262     pub ProtocolLists: [SEC_APPLICATION_PROTOCOL_LIST; 1],
5263 }
5264 impl ::core::marker::Copy for SEC_APPLICATION_PROTOCOLS {}
5265 impl ::core::clone::Clone for SEC_APPLICATION_PROTOCOLS {
clone(&self) -> Self5266     fn clone(&self) -> Self {
5267         *self
5268     }
5269 }
5270 #[repr(C)]
5271 pub struct SEC_APPLICATION_PROTOCOL_LIST {
5272     pub ProtoNegoExt: SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT,
5273     pub ProtocolListSize: u16,
5274     pub ProtocolList: [u8; 1],
5275 }
5276 impl ::core::marker::Copy for SEC_APPLICATION_PROTOCOL_LIST {}
5277 impl ::core::clone::Clone for SEC_APPLICATION_PROTOCOL_LIST {
clone(&self) -> Self5278     fn clone(&self) -> Self {
5279         *self
5280     }
5281 }
5282 pub type SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT = i32;
5283 pub const SecApplicationProtocolNegotiationExt_None: SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT = 0i32;
5284 pub const SecApplicationProtocolNegotiationExt_NPN: SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT = 1i32;
5285 pub const SecApplicationProtocolNegotiationExt_ALPN: SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT = 2i32;
5286 pub type SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS = i32;
5287 pub const SecApplicationProtocolNegotiationStatus_None: SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS = 0i32;
5288 pub const SecApplicationProtocolNegotiationStatus_Success: SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS = 1i32;
5289 pub const SecApplicationProtocolNegotiationStatus_SelectedClientOnly: SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS = 2i32;
5290 #[repr(C)]
5291 pub 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 }
5301 impl ::core::marker::Copy for SEC_CHANNEL_BINDINGS {}
5302 impl ::core::clone::Clone for SEC_CHANNEL_BINDINGS {
clone(&self) -> Self5303     fn clone(&self) -> Self {
5304         *self
5305     }
5306 }
5307 #[repr(C)]
5308 pub struct SEC_DTLS_MTU {
5309     pub PathMTU: u16,
5310 }
5311 impl ::core::marker::Copy for SEC_DTLS_MTU {}
5312 impl ::core::clone::Clone for SEC_DTLS_MTU {
clone(&self) -> Self5313     fn clone(&self) -> Self {
5314         *self
5315     }
5316 }
5317 #[repr(C)]
5318 pub struct SEC_FLAGS {
5319     pub Flags: u64,
5320 }
5321 impl ::core::marker::Copy for SEC_FLAGS {}
5322 impl ::core::clone::Clone for SEC_FLAGS {
clone(&self) -> Self5323     fn clone(&self) -> Self {
5324         *self
5325     }
5326 }
5327 pub 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)]
5329 pub 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 }
5335 impl ::core::marker::Copy for SEC_NEGOTIATION_INFO {}
5336 impl ::core::clone::Clone for SEC_NEGOTIATION_INFO {
clone(&self) -> Self5337     fn clone(&self) -> Self {
5338         *self
5339     }
5340 }
5341 #[repr(C)]
5342 pub struct SEC_PRESHAREDKEY {
5343     pub KeySize: u16,
5344     pub Key: [u8; 1],
5345 }
5346 impl ::core::marker::Copy for SEC_PRESHAREDKEY {}
5347 impl ::core::clone::Clone for SEC_PRESHAREDKEY {
clone(&self) -> Self5348     fn clone(&self) -> Self {
5349         *self
5350     }
5351 }
5352 #[repr(C)]
5353 pub struct SEC_PRESHAREDKEY_IDENTITY {
5354     pub KeyIdentitySize: u16,
5355     pub KeyIdentity: [u8; 1],
5356 }
5357 impl ::core::marker::Copy for SEC_PRESHAREDKEY_IDENTITY {}
5358 impl ::core::clone::Clone for SEC_PRESHAREDKEY_IDENTITY {
clone(&self) -> Self5359     fn clone(&self) -> Self {
5360         *self
5361     }
5362 }
5363 #[repr(C)]
5364 pub struct SEC_SRTP_MASTER_KEY_IDENTIFIER {
5365     pub MasterKeyIdentifierSize: u8,
5366     pub MasterKeyIdentifier: [u8; 1],
5367 }
5368 impl ::core::marker::Copy for SEC_SRTP_MASTER_KEY_IDENTIFIER {}
5369 impl ::core::clone::Clone for SEC_SRTP_MASTER_KEY_IDENTIFIER {
clone(&self) -> Self5370     fn clone(&self) -> Self {
5371         *self
5372     }
5373 }
5374 #[repr(C)]
5375 pub struct SEC_SRTP_PROTECTION_PROFILES {
5376     pub ProfilesSize: u16,
5377     pub ProfilesList: [u16; 1],
5378 }
5379 impl ::core::marker::Copy for SEC_SRTP_PROTECTION_PROFILES {}
5380 impl ::core::clone::Clone for SEC_SRTP_PROTECTION_PROFILES {
clone(&self) -> Self5381     fn clone(&self) -> Self {
5382         *self
5383     }
5384 }
5385 #[repr(C)]
5386 pub struct SEC_TOKEN_BINDING {
5387     pub MajorVersion: u8,
5388     pub MinorVersion: u8,
5389     pub KeyParametersSize: u16,
5390     pub KeyParameters: [u8; 1],
5391 }
5392 impl ::core::marker::Copy for SEC_TOKEN_BINDING {}
5393 impl ::core::clone::Clone for SEC_TOKEN_BINDING {
clone(&self) -> Self5394     fn clone(&self) -> Self {
5395         *self
5396     }
5397 }
5398 #[repr(C)]
5399 pub 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 }
5411 impl ::core::marker::Copy for SEC_TRAFFIC_SECRETS {}
5412 impl ::core::clone::Clone for SEC_TRAFFIC_SECRETS {
clone(&self) -> Self5413     fn clone(&self) -> Self {
5414         *self
5415     }
5416 }
5417 pub type SEC_TRAFFIC_SECRET_TYPE = i32;
5418 pub const SecTrafficSecret_None: SEC_TRAFFIC_SECRET_TYPE = 0i32;
5419 pub const SecTrafficSecret_Client: SEC_TRAFFIC_SECRET_TYPE = 1i32;
5420 pub const SecTrafficSecret_Server: SEC_TRAFFIC_SECRET_TYPE = 2i32;
5421 #[repr(C)]
5422 pub 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 }
5431 impl ::core::marker::Copy for SEC_WINNT_AUTH_IDENTITY32 {}
5432 impl ::core::clone::Clone for SEC_WINNT_AUTH_IDENTITY32 {
clone(&self) -> Self5433     fn clone(&self) -> Self {
5434         *self
5435     }
5436 }
5437 pub const SEC_WINNT_AUTH_IDENTITY_ENCRYPT_FOR_SYSTEM: u32 = 4u32;
5438 pub const SEC_WINNT_AUTH_IDENTITY_ENCRYPT_SAME_LOGON: u32 = 1u32;
5439 pub const SEC_WINNT_AUTH_IDENTITY_ENCRYPT_SAME_PROCESS: u32 = 2u32;
5440 #[repr(C)]
5441 pub 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 }
5455 impl ::core::marker::Copy for SEC_WINNT_AUTH_IDENTITY_EX2 {}
5456 impl ::core::clone::Clone for SEC_WINNT_AUTH_IDENTITY_EX2 {
clone(&self) -> Self5457     fn clone(&self) -> Self {
5458         *self
5459     }
5460 }
5461 #[repr(C)]
5462 pub 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 }
5475 impl ::core::marker::Copy for SEC_WINNT_AUTH_IDENTITY_EX32 {}
5476 impl ::core::clone::Clone for SEC_WINNT_AUTH_IDENTITY_EX32 {
clone(&self) -> Self5477     fn clone(&self) -> Self {
5478         *self
5479     }
5480 }
5481 #[repr(C)]
5482 pub 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 }
5495 impl ::core::marker::Copy for SEC_WINNT_AUTH_IDENTITY_EXA {}
5496 impl ::core::clone::Clone for SEC_WINNT_AUTH_IDENTITY_EXA {
clone(&self) -> Self5497     fn clone(&self) -> Self {
5498         *self
5499     }
5500 }
5501 #[repr(C)]
5502 pub 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 }
5515 impl ::core::marker::Copy for SEC_WINNT_AUTH_IDENTITY_EXW {}
5516 impl ::core::clone::Clone for SEC_WINNT_AUTH_IDENTITY_EXW {
clone(&self) -> Self5517     fn clone(&self) -> Self {
5518         *self
5519     }
5520 }
5521 pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_ID_PROVIDER: u32 = 524288u32;
5522 pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_NULL_DOMAIN: u32 = 262144u32;
5523 pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_NULL_USER: u32 = 131072u32;
5524 pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_PROCESS_ENCRYPTED: u32 = 16u32;
5525 pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_RESERVED: u32 = 65536u32;
5526 pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_CREDPROV_DO_NOT_LOAD: u32 = 268435456u32;
5527 pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_CREDPROV_DO_NOT_SAVE: u32 = 2147483648u32;
5528 pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_NO_CHECKBOX: u32 = 536870912u32;
5529 pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_SAVE_CRED_BY_CALLER: u32 = 2147483648u32;
5530 pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_SAVE_CRED_CHECKED: u32 = 1073741824u32;
5531 pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_USE_MASK: u32 = 4278190080u32;
5532 pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SYSTEM_ENCRYPTED: u32 = 128u32;
5533 pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SYSTEM_PROTECTED: u32 = 32u32;
5534 pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_USER_PROTECTED: u32 = 64u32;
5535 #[repr(C)]
5536 #[cfg(feature = "Win32_System_Rpc")]
5537 pub 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")]
5545 impl ::core::marker::Copy for SEC_WINNT_AUTH_IDENTITY_INFO {}
5546 #[cfg(feature = "Win32_System_Rpc")]
5547 impl ::core::clone::Clone for SEC_WINNT_AUTH_IDENTITY_INFO {
clone(&self) -> Self5548     fn clone(&self) -> Self {
5549         *self
5550     }
5551 }
5552 pub const SEC_WINNT_AUTH_IDENTITY_MARSHALLED: u32 = 4u32;
5553 pub const SEC_WINNT_AUTH_IDENTITY_ONLY: u32 = 8u32;
5554 pub const SEC_WINNT_AUTH_IDENTITY_VERSION: u32 = 512u32;
5555 pub const SEC_WINNT_AUTH_IDENTITY_VERSION_2: u32 = 513u32;
5556 #[repr(C)]
5557 pub 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 }
5564 impl ::core::marker::Copy for SEND_GENERIC_TLS_EXTENSION {}
5565 impl ::core::clone::Clone for SEND_GENERIC_TLS_EXTENSION {
clone(&self) -> Self5566     fn clone(&self) -> Self {
5567         *self
5568     }
5569 }
5570 pub const SESSION_TICKET_INFO_V0: u32 = 0u32;
5571 pub const SESSION_TICKET_INFO_VERSION: u32 = 0u32;
5572 #[cfg(feature = "Win32_Security_Credentials")]
5573 pub 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")]
5575 pub 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")]
5577 pub 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")]
5579 pub 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")]
5582 pub 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")]
5590 impl ::core::marker::Copy for SE_ADT_ACCESS_REASON {}
5591 #[cfg(feature = "Win32_Foundation")]
5592 impl ::core::clone::Clone for SE_ADT_ACCESS_REASON {
clone(&self) -> Self5593     fn clone(&self) -> Self {
5594         *self
5595     }
5596 }
5597 #[repr(C)]
5598 pub struct SE_ADT_CLAIMS {
5599     pub Length: u32,
5600     pub Claims: *mut ::core::ffi::c_void,
5601 }
5602 impl ::core::marker::Copy for SE_ADT_CLAIMS {}
5603 impl ::core::clone::Clone for SE_ADT_CLAIMS {
clone(&self) -> Self5604     fn clone(&self) -> Self {
5605         *self
5606     }
5607 }
5608 pub const SE_ADT_OBJECT_ONLY: u32 = 1u32;
5609 #[repr(C)]
5610 pub 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 }
5616 impl ::core::marker::Copy for SE_ADT_OBJECT_TYPE {}
5617 impl ::core::clone::Clone for SE_ADT_OBJECT_TYPE {
clone(&self) -> Self5618     fn clone(&self) -> Self {
5619         *self
5620     }
5621 }
5622 pub const SE_ADT_PARAMETERS_SELF_RELATIVE: u32 = 1u32;
5623 pub const SE_ADT_PARAMETERS_SEND_TO_LSA: u32 = 2u32;
5624 #[repr(C)]
5625 pub 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 }
5635 impl ::core::marker::Copy for SE_ADT_PARAMETER_ARRAY {}
5636 impl ::core::clone::Clone for SE_ADT_PARAMETER_ARRAY {
clone(&self) -> Self5637     fn clone(&self) -> Self {
5638         *self
5639     }
5640 }
5641 #[repr(C)]
5642 pub 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 }
5648 impl ::core::marker::Copy for SE_ADT_PARAMETER_ARRAY_ENTRY {}
5649 impl ::core::clone::Clone for SE_ADT_PARAMETER_ARRAY_ENTRY {
clone(&self) -> Self5650     fn clone(&self) -> Self {
5651         *self
5652     }
5653 }
5654 #[repr(C)]
5655 pub 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 }
5666 impl ::core::marker::Copy for SE_ADT_PARAMETER_ARRAY_EX {}
5667 impl ::core::clone::Clone for SE_ADT_PARAMETER_ARRAY_EX {
clone(&self) -> Self5668     fn clone(&self) -> Self {
5669         *self
5670     }
5671 }
5672 pub const SE_ADT_PARAMETER_EXTENSIBLE_AUDIT: u32 = 4u32;
5673 pub const SE_ADT_PARAMETER_GENERIC_AUDIT: u32 = 8u32;
5674 pub type SE_ADT_PARAMETER_TYPE = i32;
5675 pub const SeAdtParmTypeNone: SE_ADT_PARAMETER_TYPE = 0i32;
5676 pub const SeAdtParmTypeString: SE_ADT_PARAMETER_TYPE = 1i32;
5677 pub const SeAdtParmTypeFileSpec: SE_ADT_PARAMETER_TYPE = 2i32;
5678 pub const SeAdtParmTypeUlong: SE_ADT_PARAMETER_TYPE = 3i32;
5679 pub const SeAdtParmTypeSid: SE_ADT_PARAMETER_TYPE = 4i32;
5680 pub const SeAdtParmTypeLogonId: SE_ADT_PARAMETER_TYPE = 5i32;
5681 pub const SeAdtParmTypeNoLogonId: SE_ADT_PARAMETER_TYPE = 6i32;
5682 pub const SeAdtParmTypeAccessMask: SE_ADT_PARAMETER_TYPE = 7i32;
5683 pub const SeAdtParmTypePrivs: SE_ADT_PARAMETER_TYPE = 8i32;
5684 pub const SeAdtParmTypeObjectTypes: SE_ADT_PARAMETER_TYPE = 9i32;
5685 pub const SeAdtParmTypeHexUlong: SE_ADT_PARAMETER_TYPE = 10i32;
5686 pub const SeAdtParmTypePtr: SE_ADT_PARAMETER_TYPE = 11i32;
5687 pub const SeAdtParmTypeTime: SE_ADT_PARAMETER_TYPE = 12i32;
5688 pub const SeAdtParmTypeGuid: SE_ADT_PARAMETER_TYPE = 13i32;
5689 pub const SeAdtParmTypeLuid: SE_ADT_PARAMETER_TYPE = 14i32;
5690 pub const SeAdtParmTypeHexInt64: SE_ADT_PARAMETER_TYPE = 15i32;
5691 pub const SeAdtParmTypeStringList: SE_ADT_PARAMETER_TYPE = 16i32;
5692 pub const SeAdtParmTypeSidList: SE_ADT_PARAMETER_TYPE = 17i32;
5693 pub const SeAdtParmTypeDuration: SE_ADT_PARAMETER_TYPE = 18i32;
5694 pub const SeAdtParmTypeUserAccountControl: SE_ADT_PARAMETER_TYPE = 19i32;
5695 pub const SeAdtParmTypeNoUac: SE_ADT_PARAMETER_TYPE = 20i32;
5696 pub const SeAdtParmTypeMessage: SE_ADT_PARAMETER_TYPE = 21i32;
5697 pub const SeAdtParmTypeDateTime: SE_ADT_PARAMETER_TYPE = 22i32;
5698 pub const SeAdtParmTypeSockAddr: SE_ADT_PARAMETER_TYPE = 23i32;
5699 pub const SeAdtParmTypeSD: SE_ADT_PARAMETER_TYPE = 24i32;
5700 pub const SeAdtParmTypeLogonHours: SE_ADT_PARAMETER_TYPE = 25i32;
5701 pub const SeAdtParmTypeLogonIdNoSid: SE_ADT_PARAMETER_TYPE = 26i32;
5702 pub const SeAdtParmTypeUlongNoConv: SE_ADT_PARAMETER_TYPE = 27i32;
5703 pub const SeAdtParmTypeSockAddrNoPort: SE_ADT_PARAMETER_TYPE = 28i32;
5704 pub const SeAdtParmTypeAccessReason: SE_ADT_PARAMETER_TYPE = 29i32;
5705 pub const SeAdtParmTypeStagingReason: SE_ADT_PARAMETER_TYPE = 30i32;
5706 pub const SeAdtParmTypeResourceAttribute: SE_ADT_PARAMETER_TYPE = 31i32;
5707 pub const SeAdtParmTypeClaims: SE_ADT_PARAMETER_TYPE = 32i32;
5708 pub const SeAdtParmTypeLogonIdAsSid: SE_ADT_PARAMETER_TYPE = 33i32;
5709 pub const SeAdtParmTypeMultiSzString: SE_ADT_PARAMETER_TYPE = 34i32;
5710 pub const SeAdtParmTypeLogonIdEx: SE_ADT_PARAMETER_TYPE = 35i32;
5711 pub const SE_ADT_PARAMETER_WRITE_SYNCHRONOUS: u32 = 16u32;
5712 pub const SE_ADT_POLICY_AUDIT_EVENT_TYPE_EX_BEGIN: u32 = 100u32;
5713 pub const SE_MAX_AUDIT_PARAMETERS: u32 = 32u32;
5714 pub const SE_MAX_GENERIC_AUDIT_PARAMETERS: u32 = 28u32;
5715 pub type SLDATATYPE = u32;
5716 pub const SL_DATA_NONE: SLDATATYPE = 0u32;
5717 pub const SL_DATA_SZ: SLDATATYPE = 1u32;
5718 pub const SL_DATA_DWORD: SLDATATYPE = 4u32;
5719 pub const SL_DATA_BINARY: SLDATATYPE = 3u32;
5720 pub const SL_DATA_MULTI_SZ: SLDATATYPE = 7u32;
5721 pub const SL_DATA_SUM: SLDATATYPE = 100u32;
5722 pub type SLIDTYPE = i32;
5723 pub const SL_ID_APPLICATION: SLIDTYPE = 0i32;
5724 pub const SL_ID_PRODUCT_SKU: SLIDTYPE = 1i32;
5725 pub const SL_ID_LICENSE_FILE: SLIDTYPE = 2i32;
5726 pub const SL_ID_LICENSE: SLIDTYPE = 3i32;
5727 pub const SL_ID_PKEY: SLIDTYPE = 4i32;
5728 pub const SL_ID_ALL_LICENSES: SLIDTYPE = 5i32;
5729 pub const SL_ID_ALL_LICENSE_FILES: SLIDTYPE = 6i32;
5730 pub const SL_ID_STORE_TOKEN: SLIDTYPE = 7i32;
5731 pub const SL_ID_LAST: SLIDTYPE = 8i32;
5732 pub type SLLICENSINGSTATUS = i32;
5733 pub const SL_LICENSING_STATUS_UNLICENSED: SLLICENSINGSTATUS = 0i32;
5734 pub const SL_LICENSING_STATUS_LICENSED: SLLICENSINGSTATUS = 1i32;
5735 pub const SL_LICENSING_STATUS_IN_GRACE_PERIOD: SLLICENSINGSTATUS = 2i32;
5736 pub const SL_LICENSING_STATUS_NOTIFICATION: SLLICENSINGSTATUS = 3i32;
5737 pub const SL_LICENSING_STATUS_LAST: SLLICENSINGSTATUS = 4i32;
5738 pub type SLREFERRALTYPE = i32;
5739 pub const SL_REFERRALTYPE_SKUID: SLREFERRALTYPE = 0i32;
5740 pub const SL_REFERRALTYPE_APPID: SLREFERRALTYPE = 1i32;
5741 pub const SL_REFERRALTYPE_OVERRIDE_SKUID: SLREFERRALTYPE = 2i32;
5742 pub const SL_REFERRALTYPE_OVERRIDE_APPID: SLREFERRALTYPE = 3i32;
5743 pub const SL_REFERRALTYPE_BEST_MATCH: SLREFERRALTYPE = 4i32;
5744 #[repr(C)]
5745 pub struct SL_ACTIVATION_INFO_HEADER {
5746     pub cbSize: u32,
5747     pub r#type: SL_ACTIVATION_TYPE,
5748 }
5749 impl ::core::marker::Copy for SL_ACTIVATION_INFO_HEADER {}
5750 impl ::core::clone::Clone for SL_ACTIVATION_INFO_HEADER {
clone(&self) -> Self5751     fn clone(&self) -> Self {
5752         *self
5753     }
5754 }
5755 pub type SL_ACTIVATION_TYPE = i32;
5756 pub const SL_ACTIVATION_TYPE_DEFAULT: SL_ACTIVATION_TYPE = 0i32;
5757 pub const SL_ACTIVATION_TYPE_ACTIVE_DIRECTORY: SL_ACTIVATION_TYPE = 1i32;
5758 #[repr(C)]
5759 #[cfg(feature = "Win32_Foundation")]
5760 pub 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")]
5766 impl ::core::marker::Copy for SL_AD_ACTIVATION_INFO {}
5767 #[cfg(feature = "Win32_Foundation")]
5768 impl ::core::clone::Clone for SL_AD_ACTIVATION_INFO {
clone(&self) -> Self5769     fn clone(&self) -> Self {
5770         *self
5771     }
5772 }
5773 pub const SL_CLIENTAPI_ZONE: u32 = 61440u32;
5774 pub const SL_E_ACTIVATION_IN_PROGRESS: ::windows_sys::core::HRESULT = -1073422296i32;
5775 pub const SL_E_APPLICATION_POLICIES_MISSING: ::windows_sys::core::HRESULT = -1073418126i32;
5776 pub const SL_E_APPLICATION_POLICIES_NOT_LOADED: ::windows_sys::core::HRESULT = -1073418125i32;
5777 pub const SL_E_AUTHN_CANT_VERIFY: ::windows_sys::core::HRESULT = -1073418118i32;
5778 pub const SL_E_AUTHN_CHALLENGE_NOT_SET: ::windows_sys::core::HRESULT = -1073418119i32;
5779 pub const SL_E_AUTHN_MISMATCHED_KEY: ::windows_sys::core::HRESULT = -1073418120i32;
5780 pub const SL_E_AUTHN_WRONG_VERSION: ::windows_sys::core::HRESULT = -1073418121i32;
5781 pub const SL_E_BASE_SKU_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -1073418155i32;
5782 pub const SL_E_BIOS_KEY: ::windows_sys::core::HRESULT = -1073417707i32;
5783 pub const SL_E_BLOCKED_PRODUCT_KEY: ::windows_sys::core::HRESULT = -1073418159i32;
5784 pub const SL_E_CHPA_ACTCONFIG_ID_NOT_FOUND: ::windows_sys::core::HRESULT = -1073430519i32;
5785 pub const SL_E_CHPA_BINDING_MAPPING_NOT_FOUND: ::windows_sys::core::HRESULT = -1073430522i32;
5786 pub const SL_E_CHPA_BINDING_NOT_FOUND: ::windows_sys::core::HRESULT = -1073430523i32;
5787 pub const SL_E_CHPA_BUSINESS_RULE_INPUT_NOT_FOUND: ::windows_sys::core::HRESULT = -1073428736i32;
5788 pub const SL_E_CHPA_DATABASE_ERROR: ::windows_sys::core::HRESULT = -1073430509i32;
5789 pub const SL_E_CHPA_DIGITALMARKER_BINDING_NOT_CONFIGURED: ::windows_sys::core::HRESULT = -1073430446i32;
5790 pub const SL_E_CHPA_DIGITALMARKER_INVALID_BINDING: ::windows_sys::core::HRESULT = -1073430447i32;
5791 pub const SL_E_CHPA_DMAK_EXTENSION_LIMIT_EXCEEDED: ::windows_sys::core::HRESULT = -1073430495i32;
5792 pub const SL_E_CHPA_DMAK_LIMIT_EXCEEDED: ::windows_sys::core::HRESULT = -1073430496i32;
5793 pub const SL_E_CHPA_DYNAMICALLY_BLOCKED_PRODUCT_KEY: ::windows_sys::core::HRESULT = -1073430432i32;
5794 pub const SL_E_CHPA_FAILED_TO_DELETE_PRODUCTKEY_BINDING: ::windows_sys::core::HRESULT = -1073428649i32;
5795 pub const SL_E_CHPA_FAILED_TO_DELETE_PRODUCT_KEY_PROPERTY: ::windows_sys::core::HRESULT = -1073428644i32;
5796 pub const SL_E_CHPA_FAILED_TO_INSERT_PRODUCTKEY_BINDING: ::windows_sys::core::HRESULT = -1073428650i32;
5797 pub const SL_E_CHPA_FAILED_TO_INSERT_PRODUCT_KEY_PROPERTY: ::windows_sys::core::HRESULT = -1073428646i32;
5798 pub const SL_E_CHPA_FAILED_TO_INSERT_PRODUCT_KEY_RECORD: ::windows_sys::core::HRESULT = -1073428608i32;
5799 pub const SL_E_CHPA_FAILED_TO_PROCESS_PRODUCT_KEY_BINDINGS_XML: ::windows_sys::core::HRESULT = -1073428648i32;
5800 pub const SL_E_CHPA_FAILED_TO_UPDATE_PRODUCTKEY_BINDING: ::windows_sys::core::HRESULT = -1073428651i32;
5801 pub const SL_E_CHPA_FAILED_TO_UPDATE_PRODUCT_KEY_PROPERTY: ::windows_sys::core::HRESULT = -1073428645i32;
5802 pub const SL_E_CHPA_FAILED_TO_UPDATE_PRODUCT_KEY_RECORD: ::windows_sys::core::HRESULT = -1073428607i32;
5803 pub const SL_E_CHPA_GENERAL_ERROR: ::windows_sys::core::HRESULT = -1073430448i32;
5804 pub const SL_E_CHPA_INVALID_ACTCONFIG_ID: ::windows_sys::core::HRESULT = -1073430515i32;
5805 pub const SL_E_CHPA_INVALID_ARGUMENT: ::windows_sys::core::HRESULT = -1073430508i32;
5806 pub const SL_E_CHPA_INVALID_BINDING: ::windows_sys::core::HRESULT = -1073430526i32;
5807 pub const SL_E_CHPA_INVALID_BINDING_URI: ::windows_sys::core::HRESULT = -1073430511i32;
5808 pub const SL_E_CHPA_INVALID_PRODUCT_DATA: ::windows_sys::core::HRESULT = -1073430517i32;
5809 pub const SL_E_CHPA_INVALID_PRODUCT_DATA_ID: ::windows_sys::core::HRESULT = -1073430518i32;
5810 pub const SL_E_CHPA_INVALID_PRODUCT_KEY: ::windows_sys::core::HRESULT = -1073430524i32;
5811 pub const SL_E_CHPA_INVALID_PRODUCT_KEY_CHAR: ::windows_sys::core::HRESULT = -1073430512i32;
5812 pub const SL_E_CHPA_INVALID_PRODUCT_KEY_FORMAT: ::windows_sys::core::HRESULT = -1073430513i32;
5813 pub const SL_E_CHPA_INVALID_PRODUCT_KEY_LENGTH: ::windows_sys::core::HRESULT = -1073430514i32;
5814 pub const SL_E_CHPA_MAXIMUM_UNLOCK_EXCEEDED: ::windows_sys::core::HRESULT = -1073430520i32;
5815 pub const SL_E_CHPA_MSCH_RESPONSE_NOT_AVAILABLE_VGA: ::windows_sys::core::HRESULT = -1073429505i32;
5816 pub const SL_E_CHPA_NETWORK_ERROR: ::windows_sys::core::HRESULT = -1073430510i32;
5817 pub const SL_E_CHPA_NO_RULES_TO_ACTIVATE: ::windows_sys::core::HRESULT = -1073430449i32;
5818 pub const SL_E_CHPA_NULL_VALUE_FOR_PROPERTY_NAME_OR_ID: ::windows_sys::core::HRESULT = -1073428656i32;
5819 pub const SL_E_CHPA_OEM_SLP_COA0: ::windows_sys::core::HRESULT = -1073430506i32;
5820 pub const SL_E_CHPA_OVERRIDE_REQUEST_NOT_FOUND: ::windows_sys::core::HRESULT = -1073430493i32;
5821 pub const SL_E_CHPA_PRODUCT_KEY_BEING_USED: ::windows_sys::core::HRESULT = -1073428624i32;
5822 pub const SL_E_CHPA_PRODUCT_KEY_BLOCKED: ::windows_sys::core::HRESULT = -1073430525i32;
5823 pub const SL_E_CHPA_PRODUCT_KEY_BLOCKED_IPLOCATION: ::windows_sys::core::HRESULT = -1073430505i32;
5824 pub const SL_E_CHPA_PRODUCT_KEY_OUT_OF_RANGE: ::windows_sys::core::HRESULT = -1073430527i32;
5825 pub const SL_E_CHPA_REISSUANCE_LIMIT_NOT_FOUND: ::windows_sys::core::HRESULT = -1073430494i32;
5826 pub const SL_E_CHPA_RESPONSE_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -1073430507i32;
5827 pub const SL_E_CHPA_SYSTEM_ERROR: ::windows_sys::core::HRESULT = -1073430516i32;
5828 pub const SL_E_CHPA_TIMEBASED_ACTIVATION_AFTER_END_DATE: ::windows_sys::core::HRESULT = -1073430479i32;
5829 pub const SL_E_CHPA_TIMEBASED_ACTIVATION_BEFORE_START_DATE: ::windows_sys::core::HRESULT = -1073430480i32;
5830 pub const SL_E_CHPA_TIMEBASED_ACTIVATION_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -1073430478i32;
5831 pub const SL_E_CHPA_TIMEBASED_PRODUCT_KEY_NOT_CONFIGURED: ::windows_sys::core::HRESULT = -1073430477i32;
5832 pub const SL_E_CHPA_UNKNOWN_PRODUCT_KEY_TYPE: ::windows_sys::core::HRESULT = -1073428636i32;
5833 pub const SL_E_CHPA_UNKNOWN_PROPERTY_ID: ::windows_sys::core::HRESULT = -1073428654i32;
5834 pub const SL_E_CHPA_UNKNOWN_PROPERTY_NAME: ::windows_sys::core::HRESULT = -1073428655i32;
5835 pub const SL_E_CHPA_UNSUPPORTED_PRODUCT_KEY: ::windows_sys::core::HRESULT = -1073430521i32;
5836 pub const SL_E_CIDIID_INVALID_CHECK_DIGITS: ::windows_sys::core::HRESULT = -1073418163i32;
5837 pub const SL_E_CIDIID_INVALID_DATA: ::windows_sys::core::HRESULT = -1073418196i32;
5838 pub const SL_E_CIDIID_INVALID_DATA_LENGTH: ::windows_sys::core::HRESULT = -1073418193i32;
5839 pub const SL_E_CIDIID_INVALID_VERSION: ::windows_sys::core::HRESULT = -1073418195i32;
5840 pub const SL_E_CIDIID_MISMATCHED: ::windows_sys::core::HRESULT = -1073418191i32;
5841 pub const SL_E_CIDIID_MISMATCHED_PKEY: ::windows_sys::core::HRESULT = -1073418114i32;
5842 pub const SL_E_CIDIID_NOT_BOUND: ::windows_sys::core::HRESULT = -1073418113i32;
5843 pub const SL_E_CIDIID_NOT_DEPOSITED: ::windows_sys::core::HRESULT = -1073418192i32;
5844 pub const SL_E_CIDIID_VERSION_NOT_SUPPORTED: ::windows_sys::core::HRESULT = -1073418194i32;
5845 pub const SL_E_DATATYPE_MISMATCHED: ::windows_sys::core::HRESULT = -1073418210i32;
5846 pub const SL_E_DECRYPTION_LICENSES_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -1073418212i32;
5847 pub const SL_E_DEPENDENT_PROPERTY_NOT_SET: ::windows_sys::core::HRESULT = -1073418138i32;
5848 pub const SL_E_DOWNLEVEL_SETUP_KEY: ::windows_sys::core::HRESULT = -1073417708i32;
5849 pub const SL_E_DUPLICATE_POLICY: ::windows_sys::core::HRESULT = -1073418158i32;
5850 pub const SL_E_EDITION_MISMATCHED: ::windows_sys::core::HRESULT = -1073417712i32;
5851 pub const SL_E_ENGINE_DETECTED_EXPLOIT: ::windows_sys::core::HRESULT = -1073429327i32;
5852 pub const SL_E_EUL_CONSUMPTION_FAILED: ::windows_sys::core::HRESULT = -1073422315i32;
5853 pub const SL_E_EUL_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -1073418188i32;
5854 pub const SL_E_EVALUATION_FAILED: ::windows_sys::core::HRESULT = -1073422333i32;
5855 pub const SL_E_EVENT_ALREADY_REGISTERED: ::windows_sys::core::HRESULT = -1073418213i32;
5856 pub const SL_E_EVENT_NOT_REGISTERED: ::windows_sys::core::HRESULT = -1073418214i32;
5857 pub const SL_E_EXTERNAL_SIGNATURE_NOT_FOUND: ::windows_sys::core::HRESULT = -1073418234i32;
5858 pub const SL_E_GRACE_TIME_EXPIRED: ::windows_sys::core::HRESULT = -1073418231i32;
5859 pub const SL_E_HEALTH_CHECK_FAILED_MUI_FILES: ::windows_sys::core::HRESULT = -1073429330i32;
5860 pub const SL_E_HEALTH_CHECK_FAILED_NEUTRAL_FILES: ::windows_sys::core::HRESULT = -1073429331i32;
5861 pub const SL_E_HWID_CHANGED: ::windows_sys::core::HRESULT = -1073417711i32;
5862 pub const SL_E_HWID_ERROR: ::windows_sys::core::HRESULT = -1073422309i32;
5863 pub const SL_E_IA_ID_MISMATCH: ::windows_sys::core::HRESULT = -1073414909i32;
5864 pub const SL_E_IA_INVALID_VIRTUALIZATION_PLATFORM: ::windows_sys::core::HRESULT = -1073414911i32;
5865 pub const SL_E_IA_MACHINE_NOT_BOUND: ::windows_sys::core::HRESULT = -1073414908i32;
5866 pub const SL_E_IA_PARENT_PARTITION_NOT_ACTIVATED: ::windows_sys::core::HRESULT = -1073414910i32;
5867 pub const SL_E_IA_THROTTLE_LIMIT_EXCEEDED: ::windows_sys::core::HRESULT = -1073414912i32;
5868 pub const SL_E_INTERNAL_ERROR: ::windows_sys::core::HRESULT = -1073418239i32;
5869 pub const SL_E_INVALID_AD_DATA: ::windows_sys::core::HRESULT = -1073429329i32;
5870 pub const SL_E_INVALID_BINDING_BLOB: ::windows_sys::core::HRESULT = -1073418190i32;
5871 pub const SL_E_INVALID_CLIENT_TOKEN: ::windows_sys::core::HRESULT = -1073429720i32;
5872 pub const SL_E_INVALID_CONTEXT: ::windows_sys::core::HRESULT = -1073422335i32;
5873 pub const SL_E_INVALID_CONTEXT_DATA: ::windows_sys::core::HRESULT = -1073422300i32;
5874 pub const SL_E_INVALID_EVENT_ID: ::windows_sys::core::HRESULT = -1073418215i32;
5875 pub const SL_E_INVALID_FILE_HASH: ::windows_sys::core::HRESULT = -1073429343i32;
5876 pub const SL_E_INVALID_GUID: ::windows_sys::core::HRESULT = -1073422330i32;
5877 pub const SL_E_INVALID_HASH: ::windows_sys::core::HRESULT = -1073422299i32;
5878 pub const SL_E_INVALID_LICENSE: ::windows_sys::core::HRESULT = -1073418209i32;
5879 pub const SL_E_INVALID_LICENSE_STATE: ::windows_sys::core::HRESULT = -1073429336i32;
5880 pub const SL_E_INVALID_LICENSE_STATE_BREACH_GRACE: ::windows_sys::core::HRESULT = -1073429871i32;
5881 pub const SL_E_INVALID_LICENSE_STATE_BREACH_GRACE_EXPIRED: ::windows_sys::core::HRESULT = -1073429870i32;
5882 pub const SL_E_INVALID_OEM_OR_VOLUME_BINDING_DATA: ::windows_sys::core::HRESULT = -1073429337i32;
5883 pub const SL_E_INVALID_OFFLINE_BLOB: ::windows_sys::core::HRESULT = -1073429719i32;
5884 pub const SL_E_INVALID_OSVERSION_TEMPLATEID: ::windows_sys::core::HRESULT = -1073429717i32;
5885 pub const SL_E_INVALID_OS_FOR_PRODUCT_KEY: ::windows_sys::core::HRESULT = -1073429503i32;
5886 pub const SL_E_INVALID_PACKAGE: ::windows_sys::core::HRESULT = -1073418208i32;
5887 pub const SL_E_INVALID_PACKAGE_VERSION: ::windows_sys::core::HRESULT = -1073418144i32;
5888 pub const SL_E_INVALID_PKEY: ::windows_sys::core::HRESULT = -1073418224i32;
5889 pub const SL_E_INVALID_PRODUCT_KEY: ::windows_sys::core::HRESULT = -1073418160i32;
5890 pub const SL_E_INVALID_PRODUCT_KEY_TYPE: ::windows_sys::core::HRESULT = -1073418115i32;
5891 pub const SL_E_INVALID_RSDP_COUNT: ::windows_sys::core::HRESULT = -1073429328i32;
5892 pub const SL_E_INVALID_RULESET_RULE: ::windows_sys::core::HRESULT = -1073422301i32;
5893 pub const SL_E_INVALID_RUNNING_MODE: ::windows_sys::core::HRESULT = -1073418199i32;
5894 pub const SL_E_INVALID_TEMPLATE_ID: ::windows_sys::core::HRESULT = -1073429770i32;
5895 pub const SL_E_INVALID_TOKEN_DATA: ::windows_sys::core::HRESULT = -1073429332i32;
5896 pub const SL_E_INVALID_USE_OF_ADD_ON_PKEY: ::windows_sys::core::HRESULT = -2147164122i32;
5897 pub const SL_E_INVALID_XML_BLOB: ::windows_sys::core::HRESULT = -1073429766i32;
5898 pub const SL_E_IP_LOCATION_FALIED: ::windows_sys::core::HRESULT = -1073429335i32;
5899 pub const SL_E_ISSUANCE_LICENSE_NOT_INSTALLED: ::windows_sys::core::HRESULT = -1073418142i32;
5900 pub const SL_E_LICENSE_AUTHORIZATION_FAILED: ::windows_sys::core::HRESULT = -1073418206i32;
5901 pub const SL_E_LICENSE_DECRYPTION_FAILED: ::windows_sys::core::HRESULT = -1073418205i32;
5902 pub const SL_E_LICENSE_FILE_NOT_INSTALLED: ::windows_sys::core::HRESULT = -1073418223i32;
5903 pub const SL_E_LICENSE_INVALID_ADDON_INFO: ::windows_sys::core::HRESULT = -1073422310i32;
5904 pub const SL_E_LICENSE_MANAGEMENT_DATA_DUPLICATED: ::windows_sys::core::HRESULT = -1073418156i32;
5905 pub const SL_E_LICENSE_MANAGEMENT_DATA_NOT_FOUND: ::windows_sys::core::HRESULT = -1073418161i32;
5906 pub const SL_E_LICENSE_NOT_BOUND: ::windows_sys::core::HRESULT = -1073418112i32;
5907 pub const SL_E_LICENSE_SERVER_URL_NOT_FOUND: ::windows_sys::core::HRESULT = -1073418216i32;
5908 pub const SL_E_LICENSE_SIGNATURE_VERIFICATION_FAILED: ::windows_sys::core::HRESULT = -1073418211i32;
5909 pub const SL_E_LUA_ACCESSDENIED: ::windows_sys::core::HRESULT = -1073418203i32;
5910 pub const SL_E_MISMATCHED_APPID: ::windows_sys::core::HRESULT = -1073418230i32;
5911 pub const SL_E_MISMATCHED_KEY_TYPES: ::windows_sys::core::HRESULT = -1073429340i32;
5912 pub const SL_E_MISMATCHED_PID: ::windows_sys::core::HRESULT = -1073418235i32;
5913 pub const SL_E_MISMATCHED_PKEY_RANGE: ::windows_sys::core::HRESULT = -1073418236i32;
5914 pub const SL_E_MISMATCHED_PRODUCT_SKU: ::windows_sys::core::HRESULT = -1073418135i32;
5915 pub const SL_E_MISMATCHED_SECURITY_PROCESSOR: ::windows_sys::core::HRESULT = -1073418226i32;
5916 pub const SL_E_MISSING_OVERRIDE_ONLY_ATTRIBUTE: ::windows_sys::core::HRESULT = -1073418157i32;
5917 pub const SL_E_NONGENUINE_GRACE_TIME_EXPIRED: ::windows_sys::core::HRESULT = -1073418140i32;
5918 pub const SL_E_NONGENUINE_GRACE_TIME_EXPIRED_2: ::windows_sys::core::HRESULT = -1073418137i32;
5919 pub const SL_E_NON_GENUINE_STATUS_LAST: ::windows_sys::core::HRESULT = -1073428992i32;
5920 pub const SL_E_NOTIFICATION_BREACH_DETECTED: ::windows_sys::core::HRESULT = -1073429199i32;
5921 pub const SL_E_NOTIFICATION_GRACE_EXPIRED: ::windows_sys::core::HRESULT = -1073429198i32;
5922 pub const SL_E_NOTIFICATION_OTHER_REASONS: ::windows_sys::core::HRESULT = -1073429197i32;
5923 pub const SL_E_NOT_ACTIVATED: ::windows_sys::core::HRESULT = -1073422331i32;
5924 pub const SL_E_NOT_EVALUATED: ::windows_sys::core::HRESULT = -1073422332i32;
5925 pub const SL_E_NOT_GENUINE: ::windows_sys::core::HRESULT = -1073417728i32;
5926 pub const SL_E_NOT_SUPPORTED: ::windows_sys::core::HRESULT = -1073418218i32;
5927 pub const SL_E_NO_PID_CONFIG_DATA: ::windows_sys::core::HRESULT = -1073418229i32;
5928 pub const SL_E_NO_PRODUCT_KEY_FOUND: ::windows_sys::core::HRESULT = -1073417709i32;
5929 pub const SL_E_OEM_KEY_EDITION_MISMATCH: ::windows_sys::core::HRESULT = -1073417710i32;
5930 pub const SL_E_OFFLINE_GENUINE_BLOB_NOT_FOUND: ::windows_sys::core::HRESULT = -1073429715i32;
5931 pub const SL_E_OFFLINE_GENUINE_BLOB_REVOKED: ::windows_sys::core::HRESULT = -1073429716i32;
5932 pub const SL_E_OFFLINE_VALIDATION_BLOB_PARAM_NOT_FOUND: ::windows_sys::core::HRESULT = -1073429718i32;
5933 pub const SL_E_OPERATION_NOT_ALLOWED: ::windows_sys::core::HRESULT = -1073418134i32;
5934 pub const SL_E_OUT_OF_TOLERANCE: ::windows_sys::core::HRESULT = -1073418225i32;
5935 pub const SL_E_PKEY_INTERNAL_ERROR: ::windows_sys::core::HRESULT = -1073422311i32;
5936 pub const SL_E_PKEY_INVALID_ALGORITHM: ::windows_sys::core::HRESULT = -1073422312i32;
5937 pub const SL_E_PKEY_INVALID_CONFIG: ::windows_sys::core::HRESULT = -1073422314i32;
5938 pub const SL_E_PKEY_INVALID_KEYCHANGE1: ::windows_sys::core::HRESULT = -1073422308i32;
5939 pub const SL_E_PKEY_INVALID_KEYCHANGE2: ::windows_sys::core::HRESULT = -1073422307i32;
5940 pub const SL_E_PKEY_INVALID_KEYCHANGE3: ::windows_sys::core::HRESULT = -1073422306i32;
5941 pub const SL_E_PKEY_INVALID_UNIQUEID: ::windows_sys::core::HRESULT = -1073422313i32;
5942 pub const SL_E_PKEY_INVALID_UPGRADE: ::windows_sys::core::HRESULT = -1073418143i32;
5943 pub const SL_E_PKEY_NOT_INSTALLED: ::windows_sys::core::HRESULT = -1073418220i32;
5944 pub const SL_E_PLUGIN_INVALID_MANIFEST: ::windows_sys::core::HRESULT = -1073418127i32;
5945 pub const SL_E_PLUGIN_NOT_REGISTERED: ::windows_sys::core::HRESULT = -1073418122i32;
5946 pub const SL_E_POLICY_CACHE_INVALID: ::windows_sys::core::HRESULT = -1073418200i32;
5947 pub const SL_E_POLICY_OTHERINFO_MISMATCH: ::windows_sys::core::HRESULT = -1073422304i32;
5948 pub const SL_E_PRODUCT_KEY_INSTALLATION_NOT_ALLOWED: ::windows_sys::core::HRESULT = -1073418189i32;
5949 pub const SL_E_PRODUCT_SKU_NOT_INSTALLED: ::windows_sys::core::HRESULT = -1073418219i32;
5950 pub const SL_E_PRODUCT_UNIQUENESS_GROUP_ID_INVALID: ::windows_sys::core::HRESULT = -1073422303i32;
5951 pub const SL_E_PROXY_KEY_NOT_FOUND: ::windows_sys::core::HRESULT = -1073418202i32;
5952 pub const SL_E_PROXY_POLICY_NOT_UPDATED: ::windows_sys::core::HRESULT = -1073418169i32;
5953 pub const SL_E_PUBLISHING_LICENSE_NOT_INSTALLED: ::windows_sys::core::HRESULT = -1073418217i32;
5954 pub const SL_E_RAC_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -1073418233i32;
5955 pub const SL_E_RIGHT_NOT_CONSUMED: ::windows_sys::core::HRESULT = -1073418238i32;
5956 pub const SL_E_RIGHT_NOT_GRANTED: ::windows_sys::core::HRESULT = -1073418221i32;
5957 pub const SL_E_SECURE_STORE_ID_MISMATCH: ::windows_sys::core::HRESULT = -1073422302i32;
5958 pub const SL_E_SERVICE_RUNNING: ::windows_sys::core::HRESULT = -1073418117i32;
5959 pub const SL_E_SERVICE_STOPPING: ::windows_sys::core::HRESULT = -1073418123i32;
5960 pub const SL_E_SFS_BAD_TOKEN_EXT: ::windows_sys::core::HRESULT = -2147163899i32;
5961 pub const SL_E_SFS_BAD_TOKEN_NAME: ::windows_sys::core::HRESULT = -2147163900i32;
5962 pub const SL_E_SFS_DUPLICATE_TOKEN_NAME: ::windows_sys::core::HRESULT = -2147163898i32;
5963 pub const SL_E_SFS_FILE_READ_ERROR: ::windows_sys::core::HRESULT = -2147163895i32;
5964 pub const SL_E_SFS_FILE_WRITE_ERROR: ::windows_sys::core::HRESULT = -2147163894i32;
5965 pub const SL_E_SFS_INVALID_FD_TABLE: ::windows_sys::core::HRESULT = -2147163902i32;
5966 pub const SL_E_SFS_INVALID_FILE_POSITION: ::windows_sys::core::HRESULT = -2147163893i32;
5967 pub const SL_E_SFS_INVALID_FS_HEADER: ::windows_sys::core::HRESULT = -2147163891i32;
5968 pub const SL_E_SFS_INVALID_FS_VERSION: ::windows_sys::core::HRESULT = -2147163903i32;
5969 pub const SL_E_SFS_INVALID_SYNC: ::windows_sys::core::HRESULT = -2147163901i32;
5970 pub const SL_E_SFS_INVALID_TOKEN_DATA_HASH: ::windows_sys::core::HRESULT = -2147163896i32;
5971 pub const SL_E_SFS_INVALID_TOKEN_DESCRIPTOR: ::windows_sys::core::HRESULT = -2147163890i32;
5972 pub const SL_E_SFS_NO_ACTIVE_TRANSACTION: ::windows_sys::core::HRESULT = -2147163892i32;
5973 pub const SL_E_SFS_TOKEN_SIZE_MISMATCH: ::windows_sys::core::HRESULT = -2147163897i32;
5974 pub const SL_E_SLP_BAD_FORMAT: ::windows_sys::core::HRESULT = -1073418151i32;
5975 pub const SL_E_SLP_INVALID_MARKER_VERSION: ::windows_sys::core::HRESULT = -1073418116i32;
5976 pub const SL_E_SLP_MISSING_ACPI_SLIC: ::windows_sys::core::HRESULT = -1073418153i32;
5977 pub const SL_E_SLP_MISSING_SLP_MARKER: ::windows_sys::core::HRESULT = -1073418152i32;
5978 pub const SL_E_SLP_NOT_SIGNED: ::windows_sys::core::HRESULT = -1073418198i32;
5979 pub const SL_E_SLP_OEM_CERT_MISSING: ::windows_sys::core::HRESULT = -1073418141i32;
5980 pub const SL_E_SOFTMOD_EXPLOIT_DETECTED: ::windows_sys::core::HRESULT = -1073429333i32;
5981 pub const SL_E_SPC_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -1073418232i32;
5982 pub const SL_E_SRV_AUTHORIZATION_FAILED: ::windows_sys::core::HRESULT = -1073434619i32;
5983 pub const SL_E_SRV_BUSINESS_TOKEN_ENTRY_NOT_FOUND: ::windows_sys::core::HRESULT = -1073434608i32;
5984 pub const SL_E_SRV_CLIENT_CLOCK_OUT_OF_SYNC: ::windows_sys::core::HRESULT = -1073434607i32;
5985 pub const SL_E_SRV_GENERAL_ERROR: ::windows_sys::core::HRESULT = -1073434368i32;
5986 pub const SL_E_SRV_INVALID_BINDING: ::windows_sys::core::HRESULT = -1073434618i32;
5987 pub const SL_E_SRV_INVALID_LICENSE_STRUCTURE: ::windows_sys::core::HRESULT = -1073434620i32;
5988 pub const SL_E_SRV_INVALID_PAYLOAD: ::windows_sys::core::HRESULT = -1073434616i32;
5989 pub const SL_E_SRV_INVALID_PRODUCT_KEY_LICENSE: ::windows_sys::core::HRESULT = -1073434622i32;
5990 pub const SL_E_SRV_INVALID_PUBLISH_LICENSE: ::windows_sys::core::HRESULT = -1073434623i32;
5991 pub const SL_E_SRV_INVALID_RIGHTS_ACCOUNT_LICENSE: ::windows_sys::core::HRESULT = -1073434621i32;
5992 pub const SL_E_SRV_INVALID_SECURITY_PROCESSOR_LICENSE: ::windows_sys::core::HRESULT = -1073434615i32;
5993 pub const SL_E_SRV_SERVER_PONG: ::windows_sys::core::HRESULT = -1073434617i32;
5994 pub const SL_E_STORE_UPGRADE_TOKEN_NOT_AUTHORIZED: ::windows_sys::core::HRESULT = -1073422290i32;
5995 pub const SL_E_STORE_UPGRADE_TOKEN_NOT_PRS_SIGNED: ::windows_sys::core::HRESULT = -1073422292i32;
5996 pub const SL_E_STORE_UPGRADE_TOKEN_REQUIRED: ::windows_sys::core::HRESULT = -1073422295i32;
5997 pub const SL_E_STORE_UPGRADE_TOKEN_WRONG_EDITION: ::windows_sys::core::HRESULT = -1073422294i32;
5998 pub const SL_E_STORE_UPGRADE_TOKEN_WRONG_PID: ::windows_sys::core::HRESULT = -1073422293i32;
5999 pub const SL_E_STORE_UPGRADE_TOKEN_WRONG_VERSION: ::windows_sys::core::HRESULT = -1073422291i32;
6000 pub const SL_E_TAMPER_DETECTED: ::windows_sys::core::HRESULT = -1073418201i32;
6001 pub const SL_E_TAMPER_RECOVERY_REQUIRES_ACTIVATION: ::windows_sys::core::HRESULT = -1073414656i32;
6002 pub const SL_E_TKA_CERT_CNG_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -1073417453i32;
6003 pub const SL_E_TKA_CERT_NOT_FOUND: ::windows_sys::core::HRESULT = -1073417467i32;
6004 pub const SL_E_TKA_CHALLENGE_EXPIRED: ::windows_sys::core::HRESULT = -1073417471i32;
6005 pub const SL_E_TKA_CHALLENGE_MISMATCH: ::windows_sys::core::HRESULT = -1073417463i32;
6006 pub const SL_E_TKA_CRITERIA_MISMATCH: ::windows_sys::core::HRESULT = -1073417457i32;
6007 pub const SL_E_TKA_FAILED_GRANT_PARSING: ::windows_sys::core::HRESULT = -1073417460i32;
6008 pub const SL_E_TKA_GRANT_NOT_FOUND: ::windows_sys::core::HRESULT = -1073417468i32;
6009 pub const SL_E_TKA_INVALID_BLOB: ::windows_sys::core::HRESULT = -1073417465i32;
6010 pub const SL_E_TKA_INVALID_CERTIFICATE: ::windows_sys::core::HRESULT = -1073417462i32;
6011 pub const SL_E_TKA_INVALID_CERT_CHAIN: ::windows_sys::core::HRESULT = -1073417469i32;
6012 pub const SL_E_TKA_INVALID_SKU_ID: ::windows_sys::core::HRESULT = -1073417466i32;
6013 pub const SL_E_TKA_INVALID_SMARTCARD: ::windows_sys::core::HRESULT = -1073417461i32;
6014 pub const SL_E_TKA_INVALID_THUMBPRINT: ::windows_sys::core::HRESULT = -1073417459i32;
6015 pub const SL_E_TKA_SILENT_ACTIVATION_FAILURE: ::windows_sys::core::HRESULT = -1073417470i32;
6016 pub const SL_E_TKA_SOFT_CERT_DISALLOWED: ::windows_sys::core::HRESULT = -1073417455i32;
6017 pub const SL_E_TKA_SOFT_CERT_INVALID: ::windows_sys::core::HRESULT = -1073417454i32;
6018 pub const SL_E_TKA_TAMPERED_CERT_CHAIN: ::windows_sys::core::HRESULT = -1073417464i32;
6019 pub const SL_E_TKA_THUMBPRINT_CERT_NOT_FOUND: ::windows_sys::core::HRESULT = -1073417458i32;
6020 pub const SL_E_TKA_TPID_MISMATCH: ::windows_sys::core::HRESULT = -1073417456i32;
6021 pub const SL_E_TOKEN_STORE_INVALID_STATE: ::windows_sys::core::HRESULT = -1073422334i32;
6022 pub const SL_E_TOKSTO_ALREADY_INITIALIZED: ::windows_sys::core::HRESULT = -1073422326i32;
6023 pub const SL_E_TOKSTO_CANT_ACQUIRE_MUTEX: ::windows_sys::core::HRESULT = -1073422317i32;
6024 pub const SL_E_TOKSTO_CANT_CREATE_FILE: ::windows_sys::core::HRESULT = -1073422324i32;
6025 pub const SL_E_TOKSTO_CANT_CREATE_MUTEX: ::windows_sys::core::HRESULT = -1073422318i32;
6026 pub const SL_E_TOKSTO_CANT_PARSE_PROPERTIES: ::windows_sys::core::HRESULT = -1073422321i32;
6027 pub const SL_E_TOKSTO_CANT_READ_FILE: ::windows_sys::core::HRESULT = -1073422322i32;
6028 pub const SL_E_TOKSTO_CANT_WRITE_TO_FILE: ::windows_sys::core::HRESULT = -1073422323i32;
6029 pub const SL_E_TOKSTO_INVALID_FILE: ::windows_sys::core::HRESULT = -1073422319i32;
6030 pub const SL_E_TOKSTO_NOT_INITIALIZED: ::windows_sys::core::HRESULT = -1073422327i32;
6031 pub const SL_E_TOKSTO_NO_ID_SET: ::windows_sys::core::HRESULT = -1073422325i32;
6032 pub const SL_E_TOKSTO_NO_PROPERTIES: ::windows_sys::core::HRESULT = -1073422328i32;
6033 pub const SL_E_TOKSTO_NO_TOKEN_DATA: ::windows_sys::core::HRESULT = -1073422316i32;
6034 pub const SL_E_TOKSTO_PROPERTY_NOT_FOUND: ::windows_sys::core::HRESULT = -1073422320i32;
6035 pub const SL_E_TOKSTO_TOKEN_NOT_FOUND: ::windows_sys::core::HRESULT = -1073422329i32;
6036 pub const SL_E_USE_LICENSE_NOT_INSTALLED: ::windows_sys::core::HRESULT = -1073418237i32;
6037 pub const SL_E_VALIDATION_BLOB_PARAM_NOT_FOUND: ::windows_sys::core::HRESULT = -1073429721i32;
6038 pub const SL_E_VALIDATION_BLOCKED_PRODUCT_KEY: ::windows_sys::core::HRESULT = -1073429342i32;
6039 pub const SL_E_VALIDATION_INVALID_PRODUCT_KEY: ::windows_sys::core::HRESULT = -1073429339i32;
6040 pub const SL_E_VALIDITY_PERIOD_EXPIRED: ::windows_sys::core::HRESULT = -1073415161i32;
6041 pub const SL_E_VALIDITY_TIME_EXPIRED: ::windows_sys::core::HRESULT = -1073418207i32;
6042 pub const SL_E_VALUE_NOT_FOUND: ::windows_sys::core::HRESULT = -1073418222i32;
6043 pub const SL_E_VL_AD_AO_NAME_TOO_LONG: ::windows_sys::core::HRESULT = -1073418110i32;
6044 pub const SL_E_VL_AD_AO_NOT_FOUND: ::windows_sys::core::HRESULT = -1073418111i32;
6045 pub const SL_E_VL_AD_SCHEMA_VERSION_NOT_SUPPORTED: ::windows_sys::core::HRESULT = -1073418109i32;
6046 pub const SL_E_VL_BINDING_SERVICE_NOT_ENABLED: ::windows_sys::core::HRESULT = -1073418183i32;
6047 pub const SL_E_VL_BINDING_SERVICE_UNAVAILABLE: ::windows_sys::core::HRESULT = -1073418124i32;
6048 pub const SL_E_VL_INFO_PRODUCT_USER_RIGHT: ::windows_sys::core::HRESULT = 1074065472i32;
6049 pub const SL_E_VL_INVALID_TIMESTAMP: ::windows_sys::core::HRESULT = -1073418132i32;
6050 pub const SL_E_VL_KEY_MANAGEMENT_SERVICE_ID_MISMATCH: ::windows_sys::core::HRESULT = -1073418174i32;
6051 pub const SL_E_VL_KEY_MANAGEMENT_SERVICE_NOT_ACTIVATED: ::windows_sys::core::HRESULT = -1073418175i32;
6052 pub const SL_E_VL_KEY_MANAGEMENT_SERVICE_VM_NOT_SUPPORTED: ::windows_sys::core::HRESULT = -1073418133i32;
6053 pub const SL_E_VL_MACHINE_NOT_BOUND: ::windows_sys::core::HRESULT = -1073418154i32;
6054 pub const SL_E_VL_NOT_ENOUGH_COUNT: ::windows_sys::core::HRESULT = -1073418184i32;
6055 pub const SL_E_VL_NOT_WINDOWS_SLP: ::windows_sys::core::HRESULT = -1073418187i32;
6056 pub const SL_E_WINDOWS_INVALID_LICENSE_STATE: ::windows_sys::core::HRESULT = -1073418204i32;
6057 pub const SL_E_WINDOWS_VERSION_MISMATCH: ::windows_sys::core::HRESULT = -1073422297i32;
6058 pub type SL_GENUINE_STATE = i32;
6059 pub const SL_GEN_STATE_IS_GENUINE: SL_GENUINE_STATE = 0i32;
6060 pub const SL_GEN_STATE_INVALID_LICENSE: SL_GENUINE_STATE = 1i32;
6061 pub const SL_GEN_STATE_TAMPERED: SL_GENUINE_STATE = 2i32;
6062 pub const SL_GEN_STATE_OFFLINE: SL_GENUINE_STATE = 3i32;
6063 pub const SL_GEN_STATE_LAST: SL_GENUINE_STATE = 4i32;
6064 pub const SL_INTERNAL_ZONE: u32 = 57344u32;
6065 pub const SL_I_NONGENUINE_GRACE_PERIOD: ::windows_sys::core::HRESULT = 1074065509i32;
6066 pub const SL_I_NONGENUINE_GRACE_PERIOD_2: ::windows_sys::core::HRESULT = 1074065512i32;
6067 pub const SL_I_OOB_GRACE_PERIOD: ::windows_sys::core::HRESULT = 1074065420i32;
6068 pub const SL_I_OOT_GRACE_PERIOD: ::windows_sys::core::HRESULT = 1074065421i32;
6069 pub const SL_I_PERPETUAL_OOB_GRACE_PERIOD: ::windows_sys::core::HRESULT = 1074068485i32;
6070 pub const SL_I_STORE_BASED_ACTIVATION: ::windows_sys::core::HRESULT = 1074066433i32;
6071 pub const SL_I_TIMEBASED_EXTENDED_GRACE_PERIOD: ::windows_sys::core::HRESULT = 1074068486i32;
6072 pub const SL_I_TIMEBASED_VALIDITY_PERIOD: ::windows_sys::core::HRESULT = 1074068484i32;
6073 #[repr(C)]
6074 pub 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 }
6082 impl ::core::marker::Copy for SL_LICENSING_STATUS {}
6083 impl ::core::clone::Clone for SL_LICENSING_STATUS {
clone(&self) -> Self6084     fn clone(&self) -> Self {
6085         *self
6086     }
6087 }
6088 pub const SL_MDOLLAR_ZONE: u32 = 40960u32;
6089 pub const SL_MSCH_ZONE: u32 = 49152u32;
6090 #[repr(C)]
6091 pub 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 }
6096 impl ::core::marker::Copy for SL_NONGENUINE_UI_OPTIONS {}
6097 impl ::core::clone::Clone for SL_NONGENUINE_UI_OPTIONS {
clone(&self) -> Self6098     fn clone(&self) -> Self {
6099         *self
6100     }
6101 }
6102 pub const SL_REARM_REBOOT_REQUIRED: u32 = 1u32;
6103 pub const SL_REMAPPING_MDOLLAR_CIDIID_INVALID_CHECK_DIGITS: ::windows_sys::core::HRESULT = -2143313776i32;
6104 pub const SL_REMAPPING_MDOLLAR_CIDIID_INVALID_DATA: ::windows_sys::core::HRESULT = -2143313778i32;
6105 pub const SL_REMAPPING_MDOLLAR_CIDIID_INVALID_DATA_LENGTH: ::windows_sys::core::HRESULT = -2143313777i32;
6106 pub const SL_REMAPPING_MDOLLAR_CIDIID_INVALID_VERSION: ::windows_sys::core::HRESULT = -2143313779i32;
6107 pub const SL_REMAPPING_MDOLLAR_DIGITALMARKER_BINDING_NOT_CONFIGURED: ::windows_sys::core::HRESULT = -2143313708i32;
6108 pub const SL_REMAPPING_MDOLLAR_DIGITALMARKER_INVALID_BINDING: ::windows_sys::core::HRESULT = -2143313709i32;
6109 pub const SL_REMAPPING_MDOLLAR_DMAK_EXTENSION_LIMIT_EXCEEDED: ::windows_sys::core::HRESULT = -2143313792i32;
6110 pub const SL_REMAPPING_MDOLLAR_DMAK_LIMIT_EXCEEDED: ::windows_sys::core::HRESULT = -2143313793i32;
6111 pub const SL_REMAPPING_MDOLLAR_DMAK_OVERRIDE_LIMIT_REACHED: ::windows_sys::core::HRESULT = -2143313706i32;
6112 pub const SL_REMAPPING_MDOLLAR_FREE_OFFER_EXPIRED: ::windows_sys::core::HRESULT = -2143312896i32;
6113 pub const SL_REMAPPING_MDOLLAR_INVALID_ACTCONFIG_ID: ::windows_sys::core::HRESULT = -2143313802i32;
6114 pub const SL_REMAPPING_MDOLLAR_INVALID_ARGUMENT: ::windows_sys::core::HRESULT = -2143313795i32;
6115 pub const SL_REMAPPING_MDOLLAR_INVALID_BINDING: ::windows_sys::core::HRESULT = -2143313818i32;
6116 pub const SL_REMAPPING_MDOLLAR_INVALID_BINDING_URI: ::windows_sys::core::HRESULT = -2143313798i32;
6117 pub const SL_REMAPPING_MDOLLAR_INVALID_PRODUCT_DATA: ::windows_sys::core::HRESULT = -2143313804i32;
6118 pub const SL_REMAPPING_MDOLLAR_INVALID_PRODUCT_DATA_ID: ::windows_sys::core::HRESULT = -2143313805i32;
6119 pub const SL_REMAPPING_MDOLLAR_INVALID_PRODUCT_KEY: ::windows_sys::core::HRESULT = -2143313816i32;
6120 pub const SL_REMAPPING_MDOLLAR_INVALID_PRODUCT_KEY_FORMAT: ::windows_sys::core::HRESULT = -2143313800i32;
6121 pub const SL_REMAPPING_MDOLLAR_INVALID_PRODUCT_KEY_LENGTH: ::windows_sys::core::HRESULT = -2143313801i32;
6122 pub const SL_REMAPPING_MDOLLAR_MAXIMUM_UNLOCK_EXCEEDED: ::windows_sys::core::HRESULT = -2143313807i32;
6123 pub const SL_REMAPPING_MDOLLAR_NO_RULES_TO_ACTIVATE: ::windows_sys::core::HRESULT = -2143313720i32;
6124 pub const SL_REMAPPING_MDOLLAR_OEM_SLP_COA0: ::windows_sys::core::HRESULT = -2143313789i32;
6125 pub const SL_REMAPPING_MDOLLAR_OSR_DEVICE_BLOCKED: ::windows_sys::core::HRESULT = -2143310909i32;
6126 pub const SL_REMAPPING_MDOLLAR_OSR_DEVICE_THROTTLED: ::windows_sys::core::HRESULT = -2143310914i32;
6127 pub const SL_REMAPPING_MDOLLAR_OSR_DONOR_HWID_NO_ENTITLEMENT: ::windows_sys::core::HRESULT = -2143310920i32;
6128 pub const SL_REMAPPING_MDOLLAR_OSR_GENERIC_ERROR: ::windows_sys::core::HRESULT = -2143310919i32;
6129 pub const SL_REMAPPING_MDOLLAR_OSR_GP_DISABLED: ::windows_sys::core::HRESULT = -2143310913i32;
6130 pub const SL_REMAPPING_MDOLLAR_OSR_HARDWARE_BLOCKED: ::windows_sys::core::HRESULT = -2143310912i32;
6131 pub const SL_REMAPPING_MDOLLAR_OSR_LICENSE_BLOCKED: ::windows_sys::core::HRESULT = -2143310910i32;
6132 pub const SL_REMAPPING_MDOLLAR_OSR_LICENSE_THROTTLED: ::windows_sys::core::HRESULT = -2143310915i32;
6133 pub const SL_REMAPPING_MDOLLAR_OSR_NOT_ADMIN: ::windows_sys::core::HRESULT = -2143310917i32;
6134 pub const SL_REMAPPING_MDOLLAR_OSR_NO_ASSOCIATION: ::windows_sys::core::HRESULT = -2143310918i32;
6135 pub const SL_REMAPPING_MDOLLAR_OSR_USER_BLOCKED: ::windows_sys::core::HRESULT = -2143310911i32;
6136 pub const SL_REMAPPING_MDOLLAR_OSR_USER_THROTTLED: ::windows_sys::core::HRESULT = -2143310916i32;
6137 pub const SL_REMAPPING_MDOLLAR_PRODUCT_KEY_BLOCKED: ::windows_sys::core::HRESULT = -2143313817i32;
6138 pub const SL_REMAPPING_MDOLLAR_PRODUCT_KEY_BLOCKED_IPLOCATION: ::windows_sys::core::HRESULT = -2143313717i32;
6139 pub const SL_REMAPPING_MDOLLAR_PRODUCT_KEY_OUT_OF_RANGE: ::windows_sys::core::HRESULT = -2143313819i32;
6140 pub const SL_REMAPPING_MDOLLAR_ROT_OVERRIDE_LIMIT_REACHED: ::windows_sys::core::HRESULT = -2143313707i32;
6141 pub const SL_REMAPPING_MDOLLAR_TIMEBASED_ACTIVATION_AFTER_END_DATE: ::windows_sys::core::HRESULT = -2143313768i32;
6142 pub const SL_REMAPPING_MDOLLAR_TIMEBASED_ACTIVATION_BEFORE_START_DATE: ::windows_sys::core::HRESULT = -2143313769i32;
6143 pub const SL_REMAPPING_MDOLLAR_TIMEBASED_ACTIVATION_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -2143313767i32;
6144 pub const SL_REMAPPING_MDOLLAR_TIMEBASED_PRODUCT_KEY_NOT_CONFIGURED: ::windows_sys::core::HRESULT = -2143313766i32;
6145 pub const SL_REMAPPING_MDOLLAR_UNSUPPORTED_PRODUCT_KEY: ::windows_sys::core::HRESULT = -2143313812i32;
6146 pub const SL_REMAPPING_SP_PUB_API_BAD_GET_INFO_QUERY: ::windows_sys::core::HRESULT = -1073426414i32;
6147 pub const SL_REMAPPING_SP_PUB_API_HANDLE_NOT_COMMITED: ::windows_sys::core::HRESULT = -1073426303i32;
6148 pub const SL_REMAPPING_SP_PUB_API_INVALID_ALGORITHM_TYPE: ::windows_sys::core::HRESULT = -1073426423i32;
6149 pub const SL_REMAPPING_SP_PUB_API_INVALID_HANDLE: ::windows_sys::core::HRESULT = -1073426388i32;
6150 pub const SL_REMAPPING_SP_PUB_API_INVALID_KEY_LENGTH: ::windows_sys::core::HRESULT = -1073426347i32;
6151 pub const SL_REMAPPING_SP_PUB_API_INVALID_LICENSE: ::windows_sys::core::HRESULT = -1073426432i32;
6152 pub const SL_REMAPPING_SP_PUB_API_NO_AES_PROVIDER: ::windows_sys::core::HRESULT = -1073426317i32;
6153 pub const SL_REMAPPING_SP_PUB_API_TOO_MANY_LOADED_ENVIRONMENTS: ::windows_sys::core::HRESULT = -1073426420i32;
6154 pub const SL_REMAPPING_SP_PUB_CRYPTO_HASH_FINALIZED: ::windows_sys::core::HRESULT = -1073425911i32;
6155 pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_BLOCK: ::windows_sys::core::HRESULT = -1073425905i32;
6156 pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_BLOCKLENGTH: ::windows_sys::core::HRESULT = -1073425918i32;
6157 pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_CIPHER: ::windows_sys::core::HRESULT = -1073425917i32;
6158 pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_CIPHERMODE: ::windows_sys::core::HRESULT = -1073425916i32;
6159 pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_FORMAT: ::windows_sys::core::HRESULT = -1073425904i32;
6160 pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_KEYLENGTH: ::windows_sys::core::HRESULT = -1073425919i32;
6161 pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_PADDING: ::windows_sys::core::HRESULT = -1073425903i32;
6162 pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_SIGNATURE: ::windows_sys::core::HRESULT = -1073425906i32;
6163 pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_SIGNATURELENGTH: ::windows_sys::core::HRESULT = -1073425907i32;
6164 pub const SL_REMAPPING_SP_PUB_CRYPTO_KEY_NOT_AVAILABLE: ::windows_sys::core::HRESULT = -1073425910i32;
6165 pub const SL_REMAPPING_SP_PUB_CRYPTO_KEY_NOT_FOUND: ::windows_sys::core::HRESULT = -1073425909i32;
6166 pub const SL_REMAPPING_SP_PUB_CRYPTO_NOT_BLOCK_ALIGNED: ::windows_sys::core::HRESULT = -1073425908i32;
6167 pub const SL_REMAPPING_SP_PUB_CRYPTO_UNKNOWN_ATTRIBUTEID: ::windows_sys::core::HRESULT = -1073425912i32;
6168 pub const SL_REMAPPING_SP_PUB_CRYPTO_UNKNOWN_HASHID: ::windows_sys::core::HRESULT = -1073425913i32;
6169 pub const SL_REMAPPING_SP_PUB_CRYPTO_UNKNOWN_KEYID: ::windows_sys::core::HRESULT = -1073425914i32;
6170 pub const SL_REMAPPING_SP_PUB_CRYPTO_UNKNOWN_PROVIDERID: ::windows_sys::core::HRESULT = -1073425915i32;
6171 pub const SL_REMAPPING_SP_PUB_GENERAL_NOT_INITIALIZED: ::windows_sys::core::HRESULT = -1073426175i32;
6172 pub const SL_REMAPPING_SP_PUB_KM_CACHE_IDENTICAL: ::windows_sys::core::HRESULT = 1074058753i32;
6173 pub const SL_REMAPPING_SP_PUB_KM_CACHE_POLICY_CHANGED: ::windows_sys::core::HRESULT = 1074058754i32;
6174 pub const SL_REMAPPING_SP_PUB_KM_CACHE_TAMPER: ::windows_sys::core::HRESULT = -1073425151i32;
6175 pub const SL_REMAPPING_SP_PUB_KM_CACHE_TAMPER_RESTORE_FAILED: ::windows_sys::core::HRESULT = -1073425150i32;
6176 pub const SL_REMAPPING_SP_PUB_PROXY_SOFT_TAMPER: ::windows_sys::core::HRESULT = -1073424638i32;
6177 pub const SL_REMAPPING_SP_PUB_TAMPER_MODULE_AUTHENTICATION: ::windows_sys::core::HRESULT = -1073425407i32;
6178 pub const SL_REMAPPING_SP_PUB_TAMPER_SECURITY_PROCESSOR_PATCHED: ::windows_sys::core::HRESULT = -1073425406i32;
6179 pub const SL_REMAPPING_SP_PUB_TIMER_ALREADY_EXISTS: ::windows_sys::core::HRESULT = -1073425654i32;
6180 pub const SL_REMAPPING_SP_PUB_TIMER_EXPIRED: ::windows_sys::core::HRESULT = -1073425652i32;
6181 pub const SL_REMAPPING_SP_PUB_TIMER_NAME_SIZE_TOO_BIG: ::windows_sys::core::HRESULT = -1073425651i32;
6182 pub const SL_REMAPPING_SP_PUB_TIMER_NOT_FOUND: ::windows_sys::core::HRESULT = -1073425653i32;
6183 pub const SL_REMAPPING_SP_PUB_TIMER_READ_ONLY: ::windows_sys::core::HRESULT = -1073425647i32;
6184 pub const SL_REMAPPING_SP_PUB_TRUSTED_TIME_OK: ::windows_sys::core::HRESULT = 1074057999i32;
6185 pub const SL_REMAPPING_SP_PUB_TS_ACCESS_DENIED: ::windows_sys::core::HRESULT = -1073425644i32;
6186 pub const SL_REMAPPING_SP_PUB_TS_ATTRIBUTE_NOT_FOUND: ::windows_sys::core::HRESULT = -1073425645i32;
6187 pub const SL_REMAPPING_SP_PUB_TS_ATTRIBUTE_READ_ONLY: ::windows_sys::core::HRESULT = -1073425646i32;
6188 pub const SL_REMAPPING_SP_PUB_TS_DATA_SIZE_TOO_BIG: ::windows_sys::core::HRESULT = -1073425656i32;
6189 pub const SL_REMAPPING_SP_PUB_TS_ENTRY_KEY_ALREADY_EXISTS: ::windows_sys::core::HRESULT = -1073425659i32;
6190 pub const SL_REMAPPING_SP_PUB_TS_ENTRY_KEY_NOT_FOUND: ::windows_sys::core::HRESULT = -1073425660i32;
6191 pub const SL_REMAPPING_SP_PUB_TS_ENTRY_KEY_SIZE_TOO_BIG: ::windows_sys::core::HRESULT = -1073425658i32;
6192 pub const SL_REMAPPING_SP_PUB_TS_ENTRY_READ_ONLY: ::windows_sys::core::HRESULT = -1073425648i32;
6193 pub const SL_REMAPPING_SP_PUB_TS_FULL: ::windows_sys::core::HRESULT = -1073425650i32;
6194 pub const SL_REMAPPING_SP_PUB_TS_INVALID_HW_BINDING: ::windows_sys::core::HRESULT = -1073425655i32;
6195 pub const SL_REMAPPING_SP_PUB_TS_MAX_REARM_REACHED: ::windows_sys::core::HRESULT = -1073425657i32;
6196 pub const SL_REMAPPING_SP_PUB_TS_NAMESPACE_IN_USE: ::windows_sys::core::HRESULT = -1073425642i32;
6197 pub const SL_REMAPPING_SP_PUB_TS_NAMESPACE_NOT_FOUND: ::windows_sys::core::HRESULT = -1073425643i32;
6198 pub const SL_REMAPPING_SP_PUB_TS_REARMED: ::windows_sys::core::HRESULT = -1073425662i32;
6199 pub const SL_REMAPPING_SP_PUB_TS_RECREATED: ::windows_sys::core::HRESULT = -1073425661i32;
6200 pub const SL_REMAPPING_SP_PUB_TS_TAMPERED: ::windows_sys::core::HRESULT = -1073425663i32;
6201 pub const SL_REMAPPING_SP_PUB_TS_TAMPERED_BREADCRUMB_GENERATION: ::windows_sys::core::HRESULT = -1073425640i32;
6202 pub const SL_REMAPPING_SP_PUB_TS_TAMPERED_BREADCRUMB_LOAD_INVALID: ::windows_sys::core::HRESULT = -1073425641i32;
6203 pub const SL_REMAPPING_SP_PUB_TS_TAMPERED_DATA_BREADCRUMB_MISMATCH: ::windows_sys::core::HRESULT = -1073425637i32;
6204 pub const SL_REMAPPING_SP_PUB_TS_TAMPERED_DATA_VERSION_MISMATCH: ::windows_sys::core::HRESULT = -1073425636i32;
6205 pub const SL_REMAPPING_SP_PUB_TS_TAMPERED_INVALID_DATA: ::windows_sys::core::HRESULT = -1073425639i32;
6206 pub const SL_REMAPPING_SP_PUB_TS_TAMPERED_NO_DATA: ::windows_sys::core::HRESULT = -1073425638i32;
6207 pub const SL_REMAPPING_SP_STATUS_ALREADY_EXISTS: ::windows_sys::core::HRESULT = -1073426171i32;
6208 pub const SL_REMAPPING_SP_STATUS_DEBUGGER_DETECTED: ::windows_sys::core::HRESULT = -2147167989i32;
6209 pub const SL_REMAPPING_SP_STATUS_GENERIC_FAILURE: ::windows_sys::core::HRESULT = -1073426173i32;
6210 pub const SL_REMAPPING_SP_STATUS_INSUFFICIENT_BUFFER: ::windows_sys::core::HRESULT = -1073426169i32;
6211 pub const SL_REMAPPING_SP_STATUS_INVALIDARG: ::windows_sys::core::HRESULT = -1073426172i32;
6212 pub const SL_REMAPPING_SP_STATUS_INVALIDDATA: ::windows_sys::core::HRESULT = -1073426168i32;
6213 pub const SL_REMAPPING_SP_STATUS_INVALID_SPAPI_CALL: ::windows_sys::core::HRESULT = -1073426167i32;
6214 pub const SL_REMAPPING_SP_STATUS_INVALID_SPAPI_VERSION: ::windows_sys::core::HRESULT = -1073426166i32;
6215 pub const SL_REMAPPING_SP_STATUS_NO_MORE_DATA: ::windows_sys::core::HRESULT = -1073426164i32;
6216 pub const SL_REMAPPING_SP_STATUS_PUSHKEY_CONFLICT: ::windows_sys::core::HRESULT = -1073424639i32;
6217 pub const SL_REMAPPING_SP_STATUS_SYSTEM_TIME_SKEWED: ::windows_sys::core::HRESULT = -2147167998i32;
6218 pub const SL_SERVER_ZONE: u32 = 45056u32;
6219 #[repr(C)]
6220 pub struct SL_SYSTEM_POLICY_INFORMATION {
6221     pub Reserved1: [*mut ::core::ffi::c_void; 2],
6222     pub Reserved2: [u32; 3],
6223 }
6224 impl ::core::marker::Copy for SL_SYSTEM_POLICY_INFORMATION {}
6225 impl ::core::clone::Clone for SL_SYSTEM_POLICY_INFORMATION {
clone(&self) -> Self6226     fn clone(&self) -> Self {
6227         *self
6228     }
6229 }
6230 pub const SL_SYSTEM_STATE_REBOOT_POLICY_FOUND: u32 = 1u32;
6231 pub const SL_SYSTEM_STATE_TAMPERED: u32 = 2u32;
6232 pub const SPP_MIGRATION_GATHER_ACTIVATED_WINDOWS_STATE: u32 = 2u32;
6233 pub const SPP_MIGRATION_GATHER_ALL: u32 = 4294967295u32;
6234 pub const SPP_MIGRATION_GATHER_MIGRATABLE_APPS: u32 = 1u32;
6235 pub const SP_PROT_ALL: u32 = 4294967295u32;
6236 pub const SP_PROT_DTLS1_0_CLIENT: u32 = 131072u32;
6237 pub const SP_PROT_DTLS1_0_SERVER: u32 = 65536u32;
6238 pub const SP_PROT_DTLS1_2_CLIENT: u32 = 524288u32;
6239 pub const SP_PROT_DTLS1_2_SERVER: u32 = 262144u32;
6240 pub const SP_PROT_DTLS_CLIENT: u32 = 131072u32;
6241 pub const SP_PROT_DTLS_SERVER: u32 = 65536u32;
6242 pub const SP_PROT_NONE: u32 = 0u32;
6243 pub const SP_PROT_PCT1_CLIENT: u32 = 2u32;
6244 pub const SP_PROT_PCT1_SERVER: u32 = 1u32;
6245 pub const SP_PROT_SSL2_CLIENT: u32 = 8u32;
6246 pub const SP_PROT_SSL2_SERVER: u32 = 4u32;
6247 pub const SP_PROT_SSL3_CLIENT: u32 = 32u32;
6248 pub const SP_PROT_SSL3_SERVER: u32 = 16u32;
6249 pub const SP_PROT_TLS1_0_CLIENT: u32 = 128u32;
6250 pub const SP_PROT_TLS1_0_SERVER: u32 = 64u32;
6251 pub const SP_PROT_TLS1_1_CLIENT: u32 = 512u32;
6252 pub const SP_PROT_TLS1_1_SERVER: u32 = 256u32;
6253 pub const SP_PROT_TLS1_2_CLIENT: u32 = 2048u32;
6254 pub const SP_PROT_TLS1_2_SERVER: u32 = 1024u32;
6255 pub const SP_PROT_TLS1_3PLUS_CLIENT: u32 = 8192u32;
6256 pub const SP_PROT_TLS1_3PLUS_SERVER: u32 = 4096u32;
6257 pub const SP_PROT_TLS1_3_CLIENT: u32 = 8192u32;
6258 pub const SP_PROT_TLS1_3_SERVER: u32 = 4096u32;
6259 pub const SP_PROT_TLS1_CLIENT: u32 = 128u32;
6260 pub const SP_PROT_TLS1_SERVER: u32 = 64u32;
6261 pub const SP_PROT_UNI_CLIENT: u32 = 2147483648u32;
6262 pub const SP_PROT_UNI_SERVER: u32 = 1073741824u32;
6263 #[repr(C)]
6264 pub struct SR_SECURITY_DESCRIPTOR {
6265     pub Length: u32,
6266     pub SecurityDescriptor: *mut u8,
6267 }
6268 impl ::core::marker::Copy for SR_SECURITY_DESCRIPTOR {}
6269 impl ::core::clone::Clone for SR_SECURITY_DESCRIPTOR {
clone(&self) -> Self6270     fn clone(&self) -> Self {
6271         *self
6272     }
6273 }
6274 #[cfg(feature = "Win32_Foundation")]
6275 pub 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")]
6278 pub 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")]
6286 impl ::core::marker::Copy for SSL_CREDENTIAL_CERTIFICATE {}
6287 #[cfg(feature = "Win32_Foundation")]
6288 impl ::core::clone::Clone for SSL_CREDENTIAL_CERTIFICATE {
clone(&self) -> Self6289     fn clone(&self) -> Self {
6290         *self
6291     }
6292 }
6293 #[cfg(feature = "Win32_Foundation")]
6294 pub 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")]
6296 pub 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")]
6298 pub type SSL_FREE_CERTIFICATE_FN = unsafe extern "system" fn(pcertificate: *mut X509Certificate);
6299 pub const SSL_SESSION_RECONNECT: u32 = 1u32;
6300 pub const SSPIPFC_CREDPROV_DO_NOT_LOAD: u32 = 4u32;
6301 pub const SSPIPFC_CREDPROV_DO_NOT_SAVE: u32 = 1u32;
6302 pub const SSPIPFC_NO_CHECKBOX: u32 = 2u32;
6303 pub const SSPIPFC_SAVE_CRED_BY_CALLER: u32 = 1u32;
6304 pub const SSPIPFC_USE_CREDUIBROKER: u32 = 8u32;
6305 #[repr(C)]
6306 pub struct SUBSCRIBE_GENERIC_TLS_EXTENSION {
6307     pub Flags: u32,
6308     pub SubscriptionsCount: u32,
6309     pub Subscriptions: [TLS_EXTENSION_SUBSCRIPTION; 1],
6310 }
6311 impl ::core::marker::Copy for SUBSCRIBE_GENERIC_TLS_EXTENSION {}
6312 impl ::core::clone::Clone for SUBSCRIBE_GENERIC_TLS_EXTENSION {
clone(&self) -> Self6313     fn clone(&self) -> Self {
6314         *self
6315     }
6316 }
6317 pub const SZ_ALG_MAX_SIZE: u32 = 64u32;
6318 pub type SchGetExtensionsOptions = u32;
6319 pub const SCH_EXTENSIONS_OPTIONS_NONE: SchGetExtensionsOptions = 0u32;
6320 pub const SCH_NO_RECORD_HEADER: SchGetExtensionsOptions = 1u32;
6321 #[repr(C)]
6322 pub struct SecBuffer {
6323     pub cbBuffer: u32,
6324     pub BufferType: u32,
6325     pub pvBuffer: *mut ::core::ffi::c_void,
6326 }
6327 impl ::core::marker::Copy for SecBuffer {}
6328 impl ::core::clone::Clone for SecBuffer {
clone(&self) -> Self6329     fn clone(&self) -> Self {
6330         *self
6331     }
6332 }
6333 #[repr(C)]
6334 pub struct SecBufferDesc {
6335     pub ulVersion: u32,
6336     pub cBuffers: u32,
6337     pub pBuffers: *mut SecBuffer,
6338 }
6339 impl ::core::marker::Copy for SecBufferDesc {}
6340 impl ::core::clone::Clone for SecBufferDesc {
clone(&self) -> Self6341     fn clone(&self) -> Self {
6342         *self
6343     }
6344 }
6345 pub type SecDelegationType = i32;
6346 pub const SecFull: SecDelegationType = 0i32;
6347 pub const SecService: SecDelegationType = 1i32;
6348 pub const SecTree: SecDelegationType = 2i32;
6349 pub const SecDirectory: SecDelegationType = 3i32;
6350 pub const SecObject: SecDelegationType = 4i32;
6351 #[repr(C)]
6352 pub struct SecPkgContext_AccessToken {
6353     pub AccessToken: *mut ::core::ffi::c_void,
6354 }
6355 impl ::core::marker::Copy for SecPkgContext_AccessToken {}
6356 impl ::core::clone::Clone for SecPkgContext_AccessToken {
clone(&self) -> Self6357     fn clone(&self) -> Self {
6358         *self
6359     }
6360 }
6361 #[repr(C)]
6362 pub 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 }
6368 impl ::core::marker::Copy for SecPkgContext_ApplicationProtocol {}
6369 impl ::core::clone::Clone for SecPkgContext_ApplicationProtocol {
clone(&self) -> Self6370     fn clone(&self) -> Self {
6371         *self
6372     }
6373 }
6374 #[repr(C)]
6375 pub struct SecPkgContext_AuthorityA {
6376     pub sAuthorityName: *mut i8,
6377 }
6378 impl ::core::marker::Copy for SecPkgContext_AuthorityA {}
6379 impl ::core::clone::Clone for SecPkgContext_AuthorityA {
clone(&self) -> Self6380     fn clone(&self) -> Self {
6381         *self
6382     }
6383 }
6384 #[repr(C)]
6385 pub struct SecPkgContext_AuthorityW {
6386     pub sAuthorityName: *mut u16,
6387 }
6388 impl ::core::marker::Copy for SecPkgContext_AuthorityW {}
6389 impl ::core::clone::Clone for SecPkgContext_AuthorityW {
clone(&self) -> Self6390     fn clone(&self) -> Self {
6391         *self
6392     }
6393 }
6394 #[repr(C)]
6395 #[cfg(feature = "Win32_Foundation")]
6396 pub struct SecPkgContext_AuthzID {
6397     pub AuthzIDLength: u32,
6398     pub AuthzID: super::super::super::Foundation::PSTR,
6399 }
6400 #[cfg(feature = "Win32_Foundation")]
6401 impl ::core::marker::Copy for SecPkgContext_AuthzID {}
6402 #[cfg(feature = "Win32_Foundation")]
6403 impl ::core::clone::Clone for SecPkgContext_AuthzID {
clone(&self) -> Self6404     fn clone(&self) -> Self {
6405         *self
6406     }
6407 }
6408 #[repr(C)]
6409 pub struct SecPkgContext_Bindings {
6410     pub BindingsLength: u32,
6411     pub Bindings: *mut SEC_CHANNEL_BINDINGS,
6412 }
6413 impl ::core::marker::Copy for SecPkgContext_Bindings {}
6414 impl ::core::clone::Clone for SecPkgContext_Bindings {
clone(&self) -> Self6415     fn clone(&self) -> Self {
6416         *self
6417     }
6418 }
6419 #[repr(C)]
6420 #[cfg(feature = "Win32_Foundation")]
6421 pub 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")]
6430 impl ::core::marker::Copy for SecPkgContext_CertInfo {}
6431 #[cfg(feature = "Win32_Foundation")]
6432 impl ::core::clone::Clone for SecPkgContext_CertInfo {
clone(&self) -> Self6433     fn clone(&self) -> Self {
6434         *self
6435     }
6436 }
6437 #[repr(C)]
6438 pub struct SecPkgContext_CertificateValidationResult {
6439     pub dwChainErrorStatus: u32,
6440     pub hrVerifyChainStatus: ::windows_sys::core::HRESULT,
6441 }
6442 impl ::core::marker::Copy for SecPkgContext_CertificateValidationResult {}
6443 impl ::core::clone::Clone for SecPkgContext_CertificateValidationResult {
clone(&self) -> Self6444     fn clone(&self) -> Self {
6445         *self
6446     }
6447 }
6448 #[repr(C)]
6449 pub struct SecPkgContext_Certificates {
6450     pub cCertificates: u32,
6451     pub cbCertificateChain: u32,
6452     pub pbCertificateChain: *mut u8,
6453 }
6454 impl ::core::marker::Copy for SecPkgContext_Certificates {}
6455 impl ::core::clone::Clone for SecPkgContext_Certificates {
clone(&self) -> Self6456     fn clone(&self) -> Self {
6457         *self
6458     }
6459 }
6460 #[repr(C)]
6461 pub 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 }
6478 impl ::core::marker::Copy for SecPkgContext_CipherInfo {}
6479 impl ::core::clone::Clone for SecPkgContext_CipherInfo {
clone(&self) -> Self6480     fn clone(&self) -> Self {
6481         *self
6482     }
6483 }
6484 #[repr(C)]
6485 pub struct SecPkgContext_ClientCertPolicyResult {
6486     pub dwPolicyResult: ::windows_sys::core::HRESULT,
6487     pub guidPolicyId: ::windows_sys::core::GUID,
6488 }
6489 impl ::core::marker::Copy for SecPkgContext_ClientCertPolicyResult {}
6490 impl ::core::clone::Clone for SecPkgContext_ClientCertPolicyResult {
clone(&self) -> Self6491     fn clone(&self) -> Self {
6492         *self
6493     }
6494 }
6495 #[repr(C)]
6496 pub struct SecPkgContext_ClientSpecifiedTarget {
6497     pub sTargetName: *mut u16,
6498 }
6499 impl ::core::marker::Copy for SecPkgContext_ClientSpecifiedTarget {}
6500 impl ::core::clone::Clone for SecPkgContext_ClientSpecifiedTarget {
clone(&self) -> Self6501     fn clone(&self) -> Self {
6502         *self
6503     }
6504 }
6505 #[repr(C)]
6506 pub 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 }
6515 impl ::core::marker::Copy for SecPkgContext_ConnectionInfo {}
6516 impl ::core::clone::Clone for SecPkgContext_ConnectionInfo {
clone(&self) -> Self6517     fn clone(&self) -> Self {
6518         *self
6519     }
6520 }
6521 #[repr(C)]
6522 pub 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 }
6532 impl ::core::marker::Copy for SecPkgContext_ConnectionInfoEx {}
6533 impl ::core::clone::Clone for SecPkgContext_ConnectionInfoEx {
clone(&self) -> Self6534     fn clone(&self) -> Self {
6535         *self
6536     }
6537 }
6538 #[repr(C)]
6539 pub struct SecPkgContext_CredInfo {
6540     pub CredClass: SECPKG_CRED_CLASS,
6541     pub IsPromptingNeeded: u32,
6542 }
6543 impl ::core::marker::Copy for SecPkgContext_CredInfo {}
6544 impl ::core::clone::Clone for SecPkgContext_CredInfo {
clone(&self) -> Self6545     fn clone(&self) -> Self {
6546         *self
6547     }
6548 }
6549 #[repr(C)]
6550 pub struct SecPkgContext_CredentialNameA {
6551     pub CredentialType: u32,
6552     pub sCredentialName: *mut i8,
6553 }
6554 impl ::core::marker::Copy for SecPkgContext_CredentialNameA {}
6555 impl ::core::clone::Clone for SecPkgContext_CredentialNameA {
clone(&self) -> Self6556     fn clone(&self) -> Self {
6557         *self
6558     }
6559 }
6560 #[repr(C)]
6561 pub struct SecPkgContext_CredentialNameW {
6562     pub CredentialType: u32,
6563     pub sCredentialName: *mut u16,
6564 }
6565 impl ::core::marker::Copy for SecPkgContext_CredentialNameW {}
6566 impl ::core::clone::Clone for SecPkgContext_CredentialNameW {
clone(&self) -> Self6567     fn clone(&self) -> Self {
6568         *self
6569     }
6570 }
6571 #[repr(C)]
6572 pub struct SecPkgContext_DceInfo {
6573     pub AuthzSvc: u32,
6574     pub pPac: *mut ::core::ffi::c_void,
6575 }
6576 impl ::core::marker::Copy for SecPkgContext_DceInfo {}
6577 impl ::core::clone::Clone for SecPkgContext_DceInfo {
clone(&self) -> Self6578     fn clone(&self) -> Self {
6579         *self
6580     }
6581 }
6582 #[repr(C)]
6583 pub struct SecPkgContext_EapKeyBlock {
6584     pub rgbKeys: [u8; 128],
6585     pub rgbIVs: [u8; 64],
6586 }
6587 impl ::core::marker::Copy for SecPkgContext_EapKeyBlock {}
6588 impl ::core::clone::Clone for SecPkgContext_EapKeyBlock {
clone(&self) -> Self6589     fn clone(&self) -> Self {
6590         *self
6591     }
6592 }
6593 #[repr(C)]
6594 pub struct SecPkgContext_EapPrfInfo {
6595     pub dwVersion: u32,
6596     pub cbPrfData: u32,
6597     pub pbPrfData: *mut u8,
6598 }
6599 impl ::core::marker::Copy for SecPkgContext_EapPrfInfo {}
6600 impl ::core::clone::Clone for SecPkgContext_EapPrfInfo {
clone(&self) -> Self6601     fn clone(&self) -> Self {
6602         *self
6603     }
6604 }
6605 #[repr(C)]
6606 pub struct SecPkgContext_EarlyStart {
6607     pub dwEarlyStartFlags: u32,
6608 }
6609 impl ::core::marker::Copy for SecPkgContext_EarlyStart {}
6610 impl ::core::clone::Clone for SecPkgContext_EarlyStart {
clone(&self) -> Self6611     fn clone(&self) -> Self {
6612         *self
6613     }
6614 }
6615 #[repr(C)]
6616 pub struct SecPkgContext_Flags {
6617     pub Flags: u32,
6618 }
6619 impl ::core::marker::Copy for SecPkgContext_Flags {}
6620 impl ::core::clone::Clone for SecPkgContext_Flags {
clone(&self) -> Self6621     fn clone(&self) -> Self {
6622         *self
6623     }
6624 }
6625 #[repr(C)]
6626 #[cfg(feature = "Win32_Security_Cryptography")]
6627 pub struct SecPkgContext_IssuerListInfoEx {
6628     pub aIssuers: *mut super::super::Cryptography::CRYPTOAPI_BLOB,
6629     pub cIssuers: u32,
6630 }
6631 #[cfg(feature = "Win32_Security_Cryptography")]
6632 impl ::core::marker::Copy for SecPkgContext_IssuerListInfoEx {}
6633 #[cfg(feature = "Win32_Security_Cryptography")]
6634 impl ::core::clone::Clone for SecPkgContext_IssuerListInfoEx {
clone(&self) -> Self6635     fn clone(&self) -> Self {
6636         *self
6637     }
6638 }
6639 #[repr(C)]
6640 pub 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 }
6647 impl ::core::marker::Copy for SecPkgContext_KeyInfoA {}
6648 impl ::core::clone::Clone for SecPkgContext_KeyInfoA {
clone(&self) -> Self6649     fn clone(&self) -> Self {
6650         *self
6651     }
6652 }
6653 #[repr(C)]
6654 pub 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 }
6661 impl ::core::marker::Copy for SecPkgContext_KeyInfoW {}
6662 impl ::core::clone::Clone for SecPkgContext_KeyInfoW {
clone(&self) -> Self6663     fn clone(&self) -> Self {
6664         *self
6665     }
6666 }
6667 #[repr(C)]
6668 pub struct SecPkgContext_KeyingMaterial {
6669     pub cbKeyingMaterial: u32,
6670     pub pbKeyingMaterial: *mut u8,
6671 }
6672 impl ::core::marker::Copy for SecPkgContext_KeyingMaterial {}
6673 impl ::core::clone::Clone for SecPkgContext_KeyingMaterial {
clone(&self) -> Self6674     fn clone(&self) -> Self {
6675         *self
6676     }
6677 }
6678 #[repr(C)]
6679 #[cfg(feature = "Win32_Foundation")]
6680 pub 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")]
6688 impl ::core::marker::Copy for SecPkgContext_KeyingMaterialInfo {}
6689 #[cfg(feature = "Win32_Foundation")]
6690 impl ::core::clone::Clone for SecPkgContext_KeyingMaterialInfo {
clone(&self) -> Self6691     fn clone(&self) -> Self {
6692         *self
6693     }
6694 }
6695 #[repr(C)]
6696 #[cfg(feature = "Win32_Foundation")]
6697 pub 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")]
6706 impl ::core::marker::Copy for SecPkgContext_KeyingMaterial_Inproc {}
6707 #[cfg(feature = "Win32_Foundation")]
6708 impl ::core::clone::Clone for SecPkgContext_KeyingMaterial_Inproc {
clone(&self) -> Self6709     fn clone(&self) -> Self {
6710         *self
6711     }
6712 }
6713 #[repr(C)]
6714 pub struct SecPkgContext_LastClientTokenStatus {
6715     pub LastClientTokenStatus: SECPKG_ATTR_LCT_STATUS,
6716 }
6717 impl ::core::marker::Copy for SecPkgContext_LastClientTokenStatus {}
6718 impl ::core::clone::Clone for SecPkgContext_LastClientTokenStatus {
clone(&self) -> Self6719     fn clone(&self) -> Self {
6720         *self
6721     }
6722 }
6723 #[repr(C)]
6724 pub struct SecPkgContext_Lifespan {
6725     pub tsStart: i64,
6726     pub tsExpiry: i64,
6727 }
6728 impl ::core::marker::Copy for SecPkgContext_Lifespan {}
6729 impl ::core::clone::Clone for SecPkgContext_Lifespan {
clone(&self) -> Self6730     fn clone(&self) -> Self {
6731         *self
6732     }
6733 }
6734 #[repr(C)]
6735 pub 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 }
6742 impl ::core::marker::Copy for SecPkgContext_LocalCredentialInfo {}
6743 impl ::core::clone::Clone for SecPkgContext_LocalCredentialInfo {
clone(&self) -> Self6744     fn clone(&self) -> Self {
6745         *self
6746     }
6747 }
6748 #[repr(C)]
6749 pub struct SecPkgContext_LogoffTime {
6750     pub tsLogoffTime: i64,
6751 }
6752 impl ::core::marker::Copy for SecPkgContext_LogoffTime {}
6753 impl ::core::clone::Clone for SecPkgContext_LogoffTime {
clone(&self) -> Self6754     fn clone(&self) -> Self {
6755         *self
6756     }
6757 }
6758 #[repr(C)]
6759 pub struct SecPkgContext_MappedCredAttr {
6760     pub dwAttribute: u32,
6761     pub pvBuffer: *mut ::core::ffi::c_void,
6762 }
6763 impl ::core::marker::Copy for SecPkgContext_MappedCredAttr {}
6764 impl ::core::clone::Clone for SecPkgContext_MappedCredAttr {
clone(&self) -> Self6765     fn clone(&self) -> Self {
6766         *self
6767     }
6768 }
6769 #[repr(C)]
6770 pub struct SecPkgContext_NamesA {
6771     pub sUserName: *mut i8,
6772 }
6773 impl ::core::marker::Copy for SecPkgContext_NamesA {}
6774 impl ::core::clone::Clone for SecPkgContext_NamesA {
clone(&self) -> Self6775     fn clone(&self) -> Self {
6776         *self
6777     }
6778 }
6779 #[repr(C)]
6780 pub struct SecPkgContext_NamesW {
6781     pub sUserName: *mut u16,
6782 }
6783 impl ::core::marker::Copy for SecPkgContext_NamesW {}
6784 impl ::core::clone::Clone for SecPkgContext_NamesW {
clone(&self) -> Self6785     fn clone(&self) -> Self {
6786         *self
6787     }
6788 }
6789 #[repr(C)]
6790 pub struct SecPkgContext_NativeNamesA {
6791     pub sClientName: *mut i8,
6792     pub sServerName: *mut i8,
6793 }
6794 impl ::core::marker::Copy for SecPkgContext_NativeNamesA {}
6795 impl ::core::clone::Clone for SecPkgContext_NativeNamesA {
clone(&self) -> Self6796     fn clone(&self) -> Self {
6797         *self
6798     }
6799 }
6800 #[repr(C)]
6801 pub struct SecPkgContext_NativeNamesW {
6802     pub sClientName: *mut u16,
6803     pub sServerName: *mut u16,
6804 }
6805 impl ::core::marker::Copy for SecPkgContext_NativeNamesW {}
6806 impl ::core::clone::Clone for SecPkgContext_NativeNamesW {
clone(&self) -> Self6807     fn clone(&self) -> Self {
6808         *self
6809     }
6810 }
6811 #[repr(C)]
6812 pub 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 }
6820 impl ::core::marker::Copy for SecPkgContext_NegoKeys {}
6821 impl ::core::clone::Clone for SecPkgContext_NegoKeys {
clone(&self) -> Self6822     fn clone(&self) -> Self {
6823         *self
6824     }
6825 }
6826 #[repr(C)]
6827 pub struct SecPkgContext_NegoPackageInfo {
6828     pub PackageMask: u32,
6829 }
6830 impl ::core::marker::Copy for SecPkgContext_NegoPackageInfo {}
6831 impl ::core::clone::Clone for SecPkgContext_NegoPackageInfo {
clone(&self) -> Self6832     fn clone(&self) -> Self {
6833         *self
6834     }
6835 }
6836 #[repr(C)]
6837 pub struct SecPkgContext_NegoStatus {
6838     pub LastStatus: u32,
6839 }
6840 impl ::core::marker::Copy for SecPkgContext_NegoStatus {}
6841 impl ::core::clone::Clone for SecPkgContext_NegoStatus {
clone(&self) -> Self6842     fn clone(&self) -> Self {
6843         *self
6844     }
6845 }
6846 #[repr(C)]
6847 pub struct SecPkgContext_NegotiatedTlsExtensions {
6848     pub ExtensionsCount: u32,
6849     pub Extensions: *mut u16,
6850 }
6851 impl ::core::marker::Copy for SecPkgContext_NegotiatedTlsExtensions {}
6852 impl ::core::clone::Clone for SecPkgContext_NegotiatedTlsExtensions {
clone(&self) -> Self6853     fn clone(&self) -> Self {
6854         *self
6855     }
6856 }
6857 #[repr(C)]
6858 pub struct SecPkgContext_NegotiationInfoA {
6859     pub PackageInfo: *mut SecPkgInfoA,
6860     pub NegotiationState: u32,
6861 }
6862 impl ::core::marker::Copy for SecPkgContext_NegotiationInfoA {}
6863 impl ::core::clone::Clone for SecPkgContext_NegotiationInfoA {
clone(&self) -> Self6864     fn clone(&self) -> Self {
6865         *self
6866     }
6867 }
6868 #[repr(C)]
6869 pub struct SecPkgContext_NegotiationInfoW {
6870     pub PackageInfo: *mut SecPkgInfoW,
6871     pub NegotiationState: u32,
6872 }
6873 impl ::core::marker::Copy for SecPkgContext_NegotiationInfoW {}
6874 impl ::core::clone::Clone for SecPkgContext_NegotiationInfoW {
clone(&self) -> Self6875     fn clone(&self) -> Self {
6876         *self
6877     }
6878 }
6879 #[repr(C)]
6880 pub struct SecPkgContext_PackageInfoA {
6881     pub PackageInfo: *mut SecPkgInfoA,
6882 }
6883 impl ::core::marker::Copy for SecPkgContext_PackageInfoA {}
6884 impl ::core::clone::Clone for SecPkgContext_PackageInfoA {
clone(&self) -> Self6885     fn clone(&self) -> Self {
6886         *self
6887     }
6888 }
6889 #[repr(C)]
6890 pub struct SecPkgContext_PackageInfoW {
6891     pub PackageInfo: *mut SecPkgInfoW,
6892 }
6893 impl ::core::marker::Copy for SecPkgContext_PackageInfoW {}
6894 impl ::core::clone::Clone for SecPkgContext_PackageInfoW {
clone(&self) -> Self6895     fn clone(&self) -> Self {
6896         *self
6897     }
6898 }
6899 #[repr(C)]
6900 pub struct SecPkgContext_PasswordExpiry {
6901     pub tsPasswordExpires: i64,
6902 }
6903 impl ::core::marker::Copy for SecPkgContext_PasswordExpiry {}
6904 impl ::core::clone::Clone for SecPkgContext_PasswordExpiry {
clone(&self) -> Self6905     fn clone(&self) -> Self {
6906         *self
6907     }
6908 }
6909 #[repr(C)]
6910 pub struct SecPkgContext_ProtoInfoA {
6911     pub sProtocolName: *mut i8,
6912     pub majorVersion: u32,
6913     pub minorVersion: u32,
6914 }
6915 impl ::core::marker::Copy for SecPkgContext_ProtoInfoA {}
6916 impl ::core::clone::Clone for SecPkgContext_ProtoInfoA {
clone(&self) -> Self6917     fn clone(&self) -> Self {
6918         *self
6919     }
6920 }
6921 #[repr(C)]
6922 pub struct SecPkgContext_ProtoInfoW {
6923     pub sProtocolName: *mut u16,
6924     pub majorVersion: u32,
6925     pub minorVersion: u32,
6926 }
6927 impl ::core::marker::Copy for SecPkgContext_ProtoInfoW {}
6928 impl ::core::clone::Clone for SecPkgContext_ProtoInfoW {
clone(&self) -> Self6929     fn clone(&self) -> Self {
6930         *self
6931     }
6932 }
6933 #[repr(C)]
6934 pub 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 }
6941 impl ::core::marker::Copy for SecPkgContext_RemoteCredentialInfo {}
6942 impl ::core::clone::Clone for SecPkgContext_RemoteCredentialInfo {
clone(&self) -> Self6943     fn clone(&self) -> Self {
6944         *self
6945     }
6946 }
6947 #[repr(C)]
6948 pub struct SecPkgContext_SaslContext {
6949     pub SaslContext: *mut ::core::ffi::c_void,
6950 }
6951 impl ::core::marker::Copy for SecPkgContext_SaslContext {}
6952 impl ::core::clone::Clone for SecPkgContext_SaslContext {
clone(&self) -> Self6953     fn clone(&self) -> Self {
6954         *self
6955     }
6956 }
6957 #[repr(C)]
6958 pub struct SecPkgContext_SessionAppData {
6959     pub dwFlags: u32,
6960     pub cbAppData: u32,
6961     pub pbAppData: *mut u8,
6962 }
6963 impl ::core::marker::Copy for SecPkgContext_SessionAppData {}
6964 impl ::core::clone::Clone for SecPkgContext_SessionAppData {
clone(&self) -> Self6965     fn clone(&self) -> Self {
6966         *self
6967     }
6968 }
6969 #[repr(C)]
6970 pub struct SecPkgContext_SessionInfo {
6971     pub dwFlags: u32,
6972     pub cbSessionId: u32,
6973     pub rgbSessionId: [u8; 32],
6974 }
6975 impl ::core::marker::Copy for SecPkgContext_SessionInfo {}
6976 impl ::core::clone::Clone for SecPkgContext_SessionInfo {
clone(&self) -> Self6977     fn clone(&self) -> Self {
6978         *self
6979     }
6980 }
6981 #[repr(C)]
6982 pub struct SecPkgContext_SessionKey {
6983     pub SessionKeyLength: u32,
6984     pub SessionKey: *mut u8,
6985 }
6986 impl ::core::marker::Copy for SecPkgContext_SessionKey {}
6987 impl ::core::clone::Clone for SecPkgContext_SessionKey {
clone(&self) -> Self6988     fn clone(&self) -> Self {
6989         *self
6990     }
6991 }
6992 #[repr(C)]
6993 pub struct SecPkgContext_Sizes {
6994     pub cbMaxToken: u32,
6995     pub cbMaxSignature: u32,
6996     pub cbBlockSize: u32,
6997     pub cbSecurityTrailer: u32,
6998 }
6999 impl ::core::marker::Copy for SecPkgContext_Sizes {}
7000 impl ::core::clone::Clone for SecPkgContext_Sizes {
clone(&self) -> Self7001     fn clone(&self) -> Self {
7002         *self
7003     }
7004 }
7005 #[repr(C)]
7006 pub struct SecPkgContext_SrtpParameters {
7007     pub ProtectionProfile: u16,
7008     pub MasterKeyIdentifierSize: u8,
7009     pub MasterKeyIdentifier: *mut u8,
7010 }
7011 impl ::core::marker::Copy for SecPkgContext_SrtpParameters {}
7012 impl ::core::clone::Clone for SecPkgContext_SrtpParameters {
clone(&self) -> Self7013     fn clone(&self) -> Self {
7014         *self
7015     }
7016 }
7017 #[repr(C)]
7018 pub struct SecPkgContext_StreamSizes {
7019     pub cbHeader: u32,
7020     pub cbTrailer: u32,
7021     pub cbMaximumMessage: u32,
7022     pub cBuffers: u32,
7023     pub cbBlockSize: u32,
7024 }
7025 impl ::core::marker::Copy for SecPkgContext_StreamSizes {}
7026 impl ::core::clone::Clone for SecPkgContext_StreamSizes {
clone(&self) -> Self7027     fn clone(&self) -> Self {
7028         *self
7029     }
7030 }
7031 #[repr(C)]
7032 pub struct SecPkgContext_SubjectAttributes {
7033     pub AttributeInfo: *mut ::core::ffi::c_void,
7034 }
7035 impl ::core::marker::Copy for SecPkgContext_SubjectAttributes {}
7036 impl ::core::clone::Clone for SecPkgContext_SubjectAttributes {
clone(&self) -> Self7037     fn clone(&self) -> Self {
7038         *self
7039     }
7040 }
7041 #[repr(C)]
7042 pub struct SecPkgContext_SupportedSignatures {
7043     pub cSignatureAndHashAlgorithms: u16,
7044     pub pSignatureAndHashAlgorithms: *mut u16,
7045 }
7046 impl ::core::marker::Copy for SecPkgContext_SupportedSignatures {}
7047 impl ::core::clone::Clone for SecPkgContext_SupportedSignatures {
clone(&self) -> Self7048     fn clone(&self) -> Self {
7049         *self
7050     }
7051 }
7052 #[repr(C)]
7053 #[cfg(feature = "Win32_Foundation")]
7054 pub struct SecPkgContext_Target {
7055     pub TargetLength: u32,
7056     pub Target: super::super::super::Foundation::PSTR,
7057 }
7058 #[cfg(feature = "Win32_Foundation")]
7059 impl ::core::marker::Copy for SecPkgContext_Target {}
7060 #[cfg(feature = "Win32_Foundation")]
7061 impl ::core::clone::Clone for SecPkgContext_Target {
clone(&self) -> Self7062     fn clone(&self) -> Self {
7063         *self
7064     }
7065 }
7066 #[repr(C)]
7067 pub struct SecPkgContext_TargetInformation {
7068     pub MarshalledTargetInfoLength: u32,
7069     pub MarshalledTargetInfo: *mut u8,
7070 }
7071 impl ::core::marker::Copy for SecPkgContext_TargetInformation {}
7072 impl ::core::clone::Clone for SecPkgContext_TargetInformation {
clone(&self) -> Self7073     fn clone(&self) -> Self {
7074         *self
7075     }
7076 }
7077 #[repr(C)]
7078 pub struct SecPkgContext_TokenBinding {
7079     pub MajorVersion: u8,
7080     pub MinorVersion: u8,
7081     pub KeyParametersSize: u16,
7082     pub KeyParameters: *mut u8,
7083 }
7084 impl ::core::marker::Copy for SecPkgContext_TokenBinding {}
7085 impl ::core::clone::Clone for SecPkgContext_TokenBinding {
clone(&self) -> Self7086     fn clone(&self) -> Self {
7087         *self
7088     }
7089 }
7090 #[repr(C)]
7091 #[cfg(feature = "Win32_Foundation")]
7092 pub struct SecPkgContext_UiInfo {
7093     pub hParentWindow: super::super::super::Foundation::HWND,
7094 }
7095 #[cfg(feature = "Win32_Foundation")]
7096 impl ::core::marker::Copy for SecPkgContext_UiInfo {}
7097 #[cfg(feature = "Win32_Foundation")]
7098 impl ::core::clone::Clone for SecPkgContext_UiInfo {
clone(&self) -> Self7099     fn clone(&self) -> Self {
7100         *self
7101     }
7102 }
7103 #[repr(C)]
7104 pub struct SecPkgContext_UserFlags {
7105     pub UserFlags: u32,
7106 }
7107 impl ::core::marker::Copy for SecPkgContext_UserFlags {}
7108 impl ::core::clone::Clone for SecPkgContext_UserFlags {
clone(&self) -> Self7109     fn clone(&self) -> Self {
7110         *self
7111     }
7112 }
7113 #[repr(C)]
7114 pub struct SecPkgCred_CipherStrengths {
7115     pub dwMinimumCipherStrength: u32,
7116     pub dwMaximumCipherStrength: u32,
7117 }
7118 impl ::core::marker::Copy for SecPkgCred_CipherStrengths {}
7119 impl ::core::clone::Clone for SecPkgCred_CipherStrengths {
clone(&self) -> Self7120     fn clone(&self) -> Self {
7121         *self
7122     }
7123 }
7124 #[repr(C)]
7125 #[cfg(feature = "Win32_Foundation")]
7126 pub 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")]
7138 impl ::core::marker::Copy for SecPkgCred_ClientCertPolicy {}
7139 #[cfg(feature = "Win32_Foundation")]
7140 impl ::core::clone::Clone for SecPkgCred_ClientCertPolicy {
clone(&self) -> Self7141     fn clone(&self) -> Self {
7142         *self
7143     }
7144 }
7145 #[repr(C)]
7146 pub struct SecPkgCred_SessionTicketKey {
7147     pub TicketInfoVersion: u32,
7148     pub KeyId: [u8; 16],
7149     pub KeyingMaterial: [u8; 64],
7150     pub KeyingMaterialSize: u8,
7151 }
7152 impl ::core::marker::Copy for SecPkgCred_SessionTicketKey {}
7153 impl ::core::clone::Clone for SecPkgCred_SessionTicketKey {
clone(&self) -> Self7154     fn clone(&self) -> Self {
7155         *self
7156     }
7157 }
7158 #[repr(C)]
7159 pub struct SecPkgCred_SessionTicketKeys {
7160     pub cSessionTicketKeys: u32,
7161     pub pSessionTicketKeys: *mut SecPkgCred_SessionTicketKey,
7162 }
7163 impl ::core::marker::Copy for SecPkgCred_SessionTicketKeys {}
7164 impl ::core::clone::Clone for SecPkgCred_SessionTicketKeys {
clone(&self) -> Self7165     fn clone(&self) -> Self {
7166         *self
7167     }
7168 }
7169 #[repr(C)]
7170 pub struct SecPkgCred_SupportedAlgs {
7171     pub cSupportedAlgs: u32,
7172     pub palgSupportedAlgs: *mut u32,
7173 }
7174 impl ::core::marker::Copy for SecPkgCred_SupportedAlgs {}
7175 impl ::core::clone::Clone for SecPkgCred_SupportedAlgs {
clone(&self) -> Self7176     fn clone(&self) -> Self {
7177         *self
7178     }
7179 }
7180 #[repr(C)]
7181 pub struct SecPkgCred_SupportedProtocols {
7182     pub grbitProtocol: u32,
7183 }
7184 impl ::core::marker::Copy for SecPkgCred_SupportedProtocols {}
7185 impl ::core::clone::Clone for SecPkgCred_SupportedProtocols {
clone(&self) -> Self7186     fn clone(&self) -> Self {
7187         *self
7188     }
7189 }
7190 #[repr(C)]
7191 pub struct SecPkgCredentials_Cert {
7192     pub EncodedCertSize: u32,
7193     pub EncodedCert: *mut u8,
7194 }
7195 impl ::core::marker::Copy for SecPkgCredentials_Cert {}
7196 impl ::core::clone::Clone for SecPkgCredentials_Cert {
clone(&self) -> Self7197     fn clone(&self) -> Self {
7198         *self
7199     }
7200 }
7201 #[repr(C)]
7202 pub 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 }
7210 impl ::core::marker::Copy for SecPkgCredentials_KdcProxySettingsW {}
7211 impl ::core::clone::Clone for SecPkgCredentials_KdcProxySettingsW {
clone(&self) -> Self7212     fn clone(&self) -> Self {
7213         *self
7214     }
7215 }
7216 #[repr(C)]
7217 pub struct SecPkgCredentials_NamesA {
7218     pub sUserName: *mut i8,
7219 }
7220 impl ::core::marker::Copy for SecPkgCredentials_NamesA {}
7221 impl ::core::clone::Clone for SecPkgCredentials_NamesA {
clone(&self) -> Self7222     fn clone(&self) -> Self {
7223         *self
7224     }
7225 }
7226 #[repr(C)]
7227 pub struct SecPkgCredentials_NamesW {
7228     pub sUserName: *mut u16,
7229 }
7230 impl ::core::marker::Copy for SecPkgCredentials_NamesW {}
7231 impl ::core::clone::Clone for SecPkgCredentials_NamesW {
clone(&self) -> Self7232     fn clone(&self) -> Self {
7233         *self
7234     }
7235 }
7236 #[repr(C)]
7237 #[cfg(feature = "Win32_Foundation")]
7238 pub 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")]
7244 impl ::core::marker::Copy for SecPkgCredentials_SSIProviderA {}
7245 #[cfg(feature = "Win32_Foundation")]
7246 impl ::core::clone::Clone for SecPkgCredentials_SSIProviderA {
clone(&self) -> Self7247     fn clone(&self) -> Self {
7248         *self
7249     }
7250 }
7251 #[repr(C)]
7252 #[cfg(feature = "Win32_Foundation")]
7253 pub 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")]
7259 impl ::core::marker::Copy for SecPkgCredentials_SSIProviderW {}
7260 #[cfg(feature = "Win32_Foundation")]
7261 impl ::core::clone::Clone for SecPkgCredentials_SSIProviderW {
clone(&self) -> Self7262     fn clone(&self) -> Self {
7263         *self
7264     }
7265 }
7266 #[repr(C)]
7267 pub 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 }
7275 impl ::core::marker::Copy for SecPkgInfoA {}
7276 impl ::core::clone::Clone for SecPkgInfoA {
clone(&self) -> Self7277     fn clone(&self) -> Self {
7278         *self
7279     }
7280 }
7281 #[repr(C)]
7282 pub 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 }
7290 impl ::core::marker::Copy for SecPkgInfoW {}
7291 impl ::core::clone::Clone for SecPkgInfoW {
clone(&self) -> Self7292     fn clone(&self) -> Self {
7293         *self
7294     }
7295 }
7296 #[repr(C)]
7297 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
7298 pub 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"))]
7333 impl ::core::marker::Copy for SecurityFunctionTableA {}
7334 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
7335 impl ::core::clone::Clone for SecurityFunctionTableA {
clone(&self) -> Self7336     fn clone(&self) -> Self {
7337         *self
7338     }
7339 }
7340 #[repr(C)]
7341 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
7342 pub 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"))]
7377 impl ::core::marker::Copy for SecurityFunctionTableW {}
7378 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
7379 impl ::core::clone::Clone for SecurityFunctionTableW {
clone(&self) -> Self7380     fn clone(&self) -> Self {
7381         *self
7382     }
7383 }
7384 #[cfg(feature = "Win32_Foundation")]
7385 pub 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")]
7387 pub 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")]
7389 pub 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")]
7391 pub 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")]
7393 pub type SpApplyControlTokenFn = unsafe extern "system" fn(contexthandle: usize, controltoken: *const SecBufferDesc) -> super::super::super::Foundation::NTSTATUS;
7394 #[cfg(feature = "Win32_Foundation")]
7395 pub 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")]
7397 pub type SpCompleteAuthTokenFn = unsafe extern "system" fn(contexthandle: usize, inputbuffer: *const SecBufferDesc) -> super::super::super::Foundation::NTSTATUS;
7398 #[cfg(feature = "Win32_Foundation")]
7399 pub type SpDeleteContextFn = unsafe extern "system" fn(contexthandle: usize) -> super::super::super::Foundation::NTSTATUS;
7400 #[cfg(feature = "Win32_Foundation")]
7401 pub type SpDeleteCredentialsFn = unsafe extern "system" fn(credentialhandle: usize, key: *const SecBuffer) -> super::super::super::Foundation::NTSTATUS;
7402 #[cfg(feature = "Win32_Foundation")]
7403 pub 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")]
7405 pub 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")]
7407 pub type SpFormatCredentialsFn = unsafe extern "system" fn(credentials: *const SecBuffer, formattedcredentials: *mut SecBuffer) -> super::super::super::Foundation::NTSTATUS;
7408 #[cfg(feature = "Win32_Foundation")]
7409 pub type SpFreeCredentialsHandleFn = unsafe extern "system" fn(credentialhandle: usize) -> super::super::super::Foundation::NTSTATUS;
7410 #[cfg(feature = "Win32_Foundation")]
7411 pub 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")]
7413 pub 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")]
7415 pub type SpGetCredentialsFn = unsafe extern "system" fn(credentialhandle: usize, credentials: *mut SecBuffer) -> super::super::super::Foundation::NTSTATUS;
7416 #[cfg(feature = "Win32_Foundation")]
7417 pub 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")]
7419 pub type SpGetInfoFn = unsafe extern "system" fn(packageinfo: *mut SecPkgInfoA) -> super::super::super::Foundation::NTSTATUS;
7420 #[cfg(feature = "Win32_Foundation")]
7421 pub 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")]
7424 pub 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")]
7427 pub 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")]
7429 pub 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")]
7431 pub 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")]
7433 pub 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")]
7436 pub 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"))]
7438 pub 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")]
7440 pub 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"))]
7442 pub 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")]
7444 pub 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")]
7446 pub 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")]
7448 pub 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")]
7450 pub 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")]
7452 pub 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")]
7454 pub 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")]
7456 pub type SpSaveCredentialsFn = unsafe extern "system" fn(credentialhandle: usize, credentials: *const SecBuffer) -> super::super::super::Foundation::NTSTATUS;
7457 #[cfg(feature = "Win32_Foundation")]
7458 pub 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")]
7460 pub 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")]
7462 pub 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")]
7464 pub 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")]
7466 pub type SpShutdownFn = unsafe extern "system" fn() -> super::super::super::Foundation::NTSTATUS;
7467 #[cfg(feature = "Win32_Foundation")]
7468 pub 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")]
7470 pub 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")]
7472 pub 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")]
7474 pub 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")]
7476 pub type SpVerifySignatureFn = unsafe extern "system" fn(contexthandle: usize, messagebuffers: *const SecBufferDesc, messagesequencenumber: u32, qualityofprotection: *mut u32) -> super::super::super::Foundation::NTSTATUS;
7477 pub type SslGetExtensionsFn = unsafe extern "system" fn(clienthello: *const u8, clienthellobytesize: u32, genericextensions: *mut SCH_EXTENSION_DATA, genericextensionscount: u8, bytestoread: *mut u32, flags: SchGetExtensionsOptions) -> i32;
7478 pub type SslGetServerIdentityFn = unsafe extern "system" fn(clienthello: *const u8, clienthellosize: u32, serveridentity: *mut *mut u8, serveridentitysize: *mut u32, flags: u32) -> i32;
7479 pub const TLS1_ALERT_ACCESS_DENIED: u32 = 49u32;
7480 pub const TLS1_ALERT_BAD_CERTIFICATE: u32 = 42u32;
7481 pub const TLS1_ALERT_BAD_RECORD_MAC: u32 = 20u32;
7482 pub const TLS1_ALERT_CERTIFICATE_EXPIRED: u32 = 45u32;
7483 pub const TLS1_ALERT_CERTIFICATE_REVOKED: u32 = 44u32;
7484 pub const TLS1_ALERT_CERTIFICATE_UNKNOWN: u32 = 46u32;
7485 pub const TLS1_ALERT_CLOSE_NOTIFY: u32 = 0u32;
7486 pub const TLS1_ALERT_DECODE_ERROR: u32 = 50u32;
7487 pub const TLS1_ALERT_DECOMPRESSION_FAIL: u32 = 30u32;
7488 pub const TLS1_ALERT_DECRYPTION_FAILED: u32 = 21u32;
7489 pub const TLS1_ALERT_DECRYPT_ERROR: u32 = 51u32;
7490 pub const TLS1_ALERT_EXPORT_RESTRICTION: u32 = 60u32;
7491 pub const TLS1_ALERT_HANDSHAKE_FAILURE: u32 = 40u32;
7492 pub const TLS1_ALERT_ILLEGAL_PARAMETER: u32 = 47u32;
7493 pub const TLS1_ALERT_INSUFFIENT_SECURITY: u32 = 71u32;
7494 pub const TLS1_ALERT_INTERNAL_ERROR: u32 = 80u32;
7495 pub const TLS1_ALERT_NO_APP_PROTOCOL: u32 = 120u32;
7496 pub const TLS1_ALERT_NO_RENEGOTIATION: u32 = 100u32;
7497 pub const TLS1_ALERT_PROTOCOL_VERSION: u32 = 70u32;
7498 pub const TLS1_ALERT_RECORD_OVERFLOW: u32 = 22u32;
7499 pub const TLS1_ALERT_UNEXPECTED_MESSAGE: u32 = 10u32;
7500 pub const TLS1_ALERT_UNKNOWN_CA: u32 = 48u32;
7501 pub const TLS1_ALERT_UNKNOWN_PSK_IDENTITY: u32 = 115u32;
7502 pub const TLS1_ALERT_UNSUPPORTED_CERT: u32 = 43u32;
7503 pub const TLS1_ALERT_UNSUPPORTED_EXT: u32 = 110u32;
7504 pub const TLS1_ALERT_USER_CANCELED: u32 = 90u32;
7505 #[repr(C)]
7506 pub struct TLS_EXTENSION_SUBSCRIPTION {
7507     pub ExtensionType: u16,
7508     pub HandshakeType: u16,
7509 }
7510 impl ::core::marker::Copy for TLS_EXTENSION_SUBSCRIPTION {}
7511 impl ::core::clone::Clone for TLS_EXTENSION_SUBSCRIPTION {
clone(&self) -> Self7512     fn clone(&self) -> Self {
7513         *self
7514     }
7515 }
7516 pub const TLS_PARAMS_OPTIONAL: u32 = 1u32;
7517 pub type TOKENBINDING_EXTENSION_FORMAT = i32;
7518 pub const TOKENBINDING_EXTENSION_FORMAT_UNDEFINED: TOKENBINDING_EXTENSION_FORMAT = 0i32;
7519 #[repr(C)]
7520 pub struct TOKENBINDING_IDENTIFIER {
7521     pub keyType: u8,
7522 }
7523 impl ::core::marker::Copy for TOKENBINDING_IDENTIFIER {}
7524 impl ::core::clone::Clone for TOKENBINDING_IDENTIFIER {
clone(&self) -> Self7525     fn clone(&self) -> Self {
7526         *self
7527     }
7528 }
7529 pub type TOKENBINDING_KEY_PARAMETERS_TYPE = i32;
7530 pub const TOKENBINDING_KEY_PARAMETERS_TYPE_RSA2048_PKCS: TOKENBINDING_KEY_PARAMETERS_TYPE = 0i32;
7531 pub const TOKENBINDING_KEY_PARAMETERS_TYPE_RSA2048_PSS: TOKENBINDING_KEY_PARAMETERS_TYPE = 1i32;
7532 pub const TOKENBINDING_KEY_PARAMETERS_TYPE_ECDSAP256: TOKENBINDING_KEY_PARAMETERS_TYPE = 2i32;
7533 pub const TOKENBINDING_KEY_PARAMETERS_TYPE_ANYEXISTING: TOKENBINDING_KEY_PARAMETERS_TYPE = 255i32;
7534 #[repr(C)]
7535 pub struct TOKENBINDING_KEY_TYPES {
7536     pub keyCount: u32,
7537     pub keyType: *mut TOKENBINDING_KEY_PARAMETERS_TYPE,
7538 }
7539 impl ::core::marker::Copy for TOKENBINDING_KEY_TYPES {}
7540 impl ::core::clone::Clone for TOKENBINDING_KEY_TYPES {
clone(&self) -> Self7541     fn clone(&self) -> Self {
7542         *self
7543     }
7544 }
7545 #[repr(C)]
7546 pub 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 }
7554 impl ::core::marker::Copy for TOKENBINDING_RESULT_DATA {}
7555 impl ::core::clone::Clone for TOKENBINDING_RESULT_DATA {
clone(&self) -> Self7556     fn clone(&self) -> Self {
7557         *self
7558     }
7559 }
7560 #[repr(C)]
7561 pub struct TOKENBINDING_RESULT_LIST {
7562     pub resultCount: u32,
7563     pub resultData: *mut TOKENBINDING_RESULT_DATA,
7564 }
7565 impl ::core::marker::Copy for TOKENBINDING_RESULT_LIST {}
7566 impl ::core::clone::Clone for TOKENBINDING_RESULT_LIST {
clone(&self) -> Self7567     fn clone(&self) -> Self {
7568         *self
7569     }
7570 }
7571 pub type TOKENBINDING_TYPE = i32;
7572 pub const TOKENBINDING_TYPE_PROVIDED: TOKENBINDING_TYPE = 0i32;
7573 pub const TOKENBINDING_TYPE_REFERRED: TOKENBINDING_TYPE = 1i32;
7574 #[repr(C)]
7575 #[cfg(feature = "Win32_Foundation")]
7576 pub struct TRUSTED_CONTROLLERS_INFO {
7577     pub Entries: u32,
7578     pub Names: *mut super::super::super::Foundation::UNICODE_STRING,
7579 }
7580 #[cfg(feature = "Win32_Foundation")]
7581 impl ::core::marker::Copy for TRUSTED_CONTROLLERS_INFO {}
7582 #[cfg(feature = "Win32_Foundation")]
7583 impl ::core::clone::Clone for TRUSTED_CONTROLLERS_INFO {
clone(&self) -> Self7584     fn clone(&self) -> Self {
7585         *self
7586     }
7587 }
7588 #[repr(C)]
7589 pub 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 }
7597 impl ::core::marker::Copy for TRUSTED_DOMAIN_AUTH_INFORMATION {}
7598 impl ::core::clone::Clone for TRUSTED_DOMAIN_AUTH_INFORMATION {
clone(&self) -> Self7599     fn clone(&self) -> Self {
7600         *self
7601     }
7602 }
7603 #[repr(C)]
7604 #[cfg(feature = "Win32_Foundation")]
7605 pub 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")]
7611 impl ::core::marker::Copy for TRUSTED_DOMAIN_FULL_INFORMATION {}
7612 #[cfg(feature = "Win32_Foundation")]
7613 impl ::core::clone::Clone for TRUSTED_DOMAIN_FULL_INFORMATION {
clone(&self) -> Self7614     fn clone(&self) -> Self {
7615         *self
7616     }
7617 }
7618 #[repr(C)]
7619 #[cfg(feature = "Win32_Foundation")]
7620 pub 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")]
7626 impl ::core::marker::Copy for TRUSTED_DOMAIN_FULL_INFORMATION2 {}
7627 #[cfg(feature = "Win32_Foundation")]
7628 impl ::core::clone::Clone for TRUSTED_DOMAIN_FULL_INFORMATION2 {
clone(&self) -> Self7629     fn clone(&self) -> Self {
7630         *self
7631     }
7632 }
7633 #[repr(C)]
7634 #[cfg(feature = "Win32_Foundation")]
7635 pub 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")]
7644 impl ::core::marker::Copy for TRUSTED_DOMAIN_INFORMATION_EX {}
7645 #[cfg(feature = "Win32_Foundation")]
7646 impl ::core::clone::Clone for TRUSTED_DOMAIN_INFORMATION_EX {
clone(&self) -> Self7647     fn clone(&self) -> Self {
7648         *self
7649     }
7650 }
7651 #[repr(C)]
7652 #[cfg(feature = "Win32_Foundation")]
7653 pub 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")]
7664 impl ::core::marker::Copy for TRUSTED_DOMAIN_INFORMATION_EX2 {}
7665 #[cfg(feature = "Win32_Foundation")]
7666 impl ::core::clone::Clone for TRUSTED_DOMAIN_INFORMATION_EX2 {
clone(&self) -> Self7667     fn clone(&self) -> Self {
7668         *self
7669     }
7670 }
7671 #[repr(C)]
7672 #[cfg(feature = "Win32_Foundation")]
7673 pub struct TRUSTED_DOMAIN_NAME_INFO {
7674     pub Name: super::super::super::Foundation::UNICODE_STRING,
7675 }
7676 #[cfg(feature = "Win32_Foundation")]
7677 impl ::core::marker::Copy for TRUSTED_DOMAIN_NAME_INFO {}
7678 #[cfg(feature = "Win32_Foundation")]
7679 impl ::core::clone::Clone for TRUSTED_DOMAIN_NAME_INFO {
clone(&self) -> Self7680     fn clone(&self) -> Self {
7681         *self
7682     }
7683 }
7684 #[repr(C)]
7685 pub struct TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES {
7686     pub SupportedEncryptionTypes: u32,
7687 }
7688 impl ::core::marker::Copy for TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES {}
7689 impl ::core::clone::Clone for TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES {
clone(&self) -> Self7690     fn clone(&self) -> Self {
7691         *self
7692     }
7693 }
7694 pub type TRUSTED_DOMAIN_TRUST_ATTRIBUTES = u32;
7695 pub const TRUST_ATTRIBUTE_NON_TRANSITIVE: TRUSTED_DOMAIN_TRUST_ATTRIBUTES = 1u32;
7696 pub const TRUST_ATTRIBUTE_UPLEVEL_ONLY: TRUSTED_DOMAIN_TRUST_ATTRIBUTES = 2u32;
7697 pub const TRUST_ATTRIBUTE_FILTER_SIDS: TRUSTED_DOMAIN_TRUST_ATTRIBUTES = 4u32;
7698 pub const TRUST_ATTRIBUTE_FOREST_TRANSITIVE: TRUSTED_DOMAIN_TRUST_ATTRIBUTES = 8u32;
7699 pub const TRUST_ATTRIBUTE_CROSS_ORGANIZATION: TRUSTED_DOMAIN_TRUST_ATTRIBUTES = 16u32;
7700 pub const TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL: TRUSTED_DOMAIN_TRUST_ATTRIBUTES = 64u32;
7701 pub const TRUST_ATTRIBUTE_WITHIN_FOREST: TRUSTED_DOMAIN_TRUST_ATTRIBUTES = 32u32;
7702 pub type TRUSTED_DOMAIN_TRUST_DIRECTION = u32;
7703 pub const TRUST_DIRECTION_DISABLED: TRUSTED_DOMAIN_TRUST_DIRECTION = 0u32;
7704 pub const TRUST_DIRECTION_INBOUND: TRUSTED_DOMAIN_TRUST_DIRECTION = 1u32;
7705 pub const TRUST_DIRECTION_OUTBOUND: TRUSTED_DOMAIN_TRUST_DIRECTION = 2u32;
7706 pub const TRUST_DIRECTION_BIDIRECTIONAL: TRUSTED_DOMAIN_TRUST_DIRECTION = 3u32;
7707 pub type TRUSTED_DOMAIN_TRUST_TYPE = u32;
7708 pub const TRUST_TYPE_DOWNLEVEL: TRUSTED_DOMAIN_TRUST_TYPE = 1u32;
7709 pub const TRUST_TYPE_UPLEVEL: TRUSTED_DOMAIN_TRUST_TYPE = 2u32;
7710 pub const TRUST_TYPE_MIT: TRUSTED_DOMAIN_TRUST_TYPE = 3u32;
7711 pub const TRUST_TYPE_DCE: TRUSTED_DOMAIN_TRUST_TYPE = 4u32;
7712 pub type TRUSTED_INFORMATION_CLASS = i32;
7713 pub const TrustedDomainNameInformation: TRUSTED_INFORMATION_CLASS = 1i32;
7714 pub const TrustedControllersInformation: TRUSTED_INFORMATION_CLASS = 2i32;
7715 pub const TrustedPosixOffsetInformation: TRUSTED_INFORMATION_CLASS = 3i32;
7716 pub const TrustedPasswordInformation: TRUSTED_INFORMATION_CLASS = 4i32;
7717 pub const TrustedDomainInformationBasic: TRUSTED_INFORMATION_CLASS = 5i32;
7718 pub const TrustedDomainInformationEx: TRUSTED_INFORMATION_CLASS = 6i32;
7719 pub const TrustedDomainAuthInformation: TRUSTED_INFORMATION_CLASS = 7i32;
7720 pub const TrustedDomainFullInformation: TRUSTED_INFORMATION_CLASS = 8i32;
7721 pub const TrustedDomainAuthInformationInternal: TRUSTED_INFORMATION_CLASS = 9i32;
7722 pub const TrustedDomainFullInformationInternal: TRUSTED_INFORMATION_CLASS = 10i32;
7723 pub const TrustedDomainInformationEx2Internal: TRUSTED_INFORMATION_CLASS = 11i32;
7724 pub const TrustedDomainFullInformation2Internal: TRUSTED_INFORMATION_CLASS = 12i32;
7725 pub const TrustedDomainSupportedEncryptionTypes: TRUSTED_INFORMATION_CLASS = 13i32;
7726 #[repr(C)]
7727 #[cfg(feature = "Win32_Foundation")]
7728 pub 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")]
7733 impl ::core::marker::Copy for TRUSTED_PASSWORD_INFO {}
7734 #[cfg(feature = "Win32_Foundation")]
7735 impl ::core::clone::Clone for TRUSTED_PASSWORD_INFO {
clone(&self) -> Self7736     fn clone(&self) -> Self {
7737         *self
7738     }
7739 }
7740 #[repr(C)]
7741 pub struct TRUSTED_POSIX_OFFSET_INFO {
7742     pub Offset: u32,
7743 }
7744 impl ::core::marker::Copy for TRUSTED_POSIX_OFFSET_INFO {}
7745 impl ::core::clone::Clone for TRUSTED_POSIX_OFFSET_INFO {
clone(&self) -> Self7746     fn clone(&self) -> Self {
7747         *self
7748     }
7749 }
7750 pub const TRUSTED_QUERY_AUTH: i32 = 64i32;
7751 pub const TRUSTED_QUERY_CONTROLLERS: i32 = 2i32;
7752 pub const TRUSTED_QUERY_DOMAIN_NAME: i32 = 1i32;
7753 pub const TRUSTED_QUERY_POSIX: i32 = 8i32;
7754 pub const TRUSTED_SET_AUTH: i32 = 32i32;
7755 pub const TRUSTED_SET_CONTROLLERS: i32 = 4i32;
7756 pub const TRUSTED_SET_POSIX: i32 = 16i32;
7757 pub const TRUST_ATTRIBUTES_USER: u32 = 4278190080u32;
7758 pub const TRUST_ATTRIBUTES_VALID: u32 = 4278386687u32;
7759 pub const TRUST_ATTRIBUTE_CROSS_ORGANIZATION_ENABLE_TGT_DELEGATION: u32 = 2048u32;
7760 pub const TRUST_ATTRIBUTE_CROSS_ORGANIZATION_NO_TGT_DELEGATION: u32 = 512u32;
7761 pub const TRUST_ATTRIBUTE_PIM_TRUST: u32 = 1024u32;
7762 pub const TRUST_ATTRIBUTE_QUARANTINED_DOMAIN: u32 = 4u32;
7763 pub const TRUST_ATTRIBUTE_TREE_PARENT: u32 = 4194304u32;
7764 pub const TRUST_ATTRIBUTE_TREE_ROOT: u32 = 8388608u32;
7765 pub const TRUST_ATTRIBUTE_TRUST_USES_AES_KEYS: u32 = 256u32;
7766 pub const TRUST_ATTRIBUTE_TRUST_USES_RC4_ENCRYPTION: u32 = 128u32;
7767 pub const UNDERSTANDS_LONG_NAMES: u32 = 1u32;
7768 pub const UNISP_RPC_ID: u32 = 14u32;
7769 pub const USER_ACCOUNT_AUTO_LOCKED: u32 = 1024u32;
7770 pub const USER_ACCOUNT_DISABLED: u32 = 1u32;
7771 #[repr(C, packed(4))]
7772 #[cfg(feature = "Win32_Foundation")]
7773 pub 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")]
7809 impl ::core::marker::Copy for USER_ALL_INFORMATION {}
7810 #[cfg(feature = "Win32_Foundation")]
7811 impl ::core::clone::Clone for USER_ALL_INFORMATION {
clone(&self) -> Self7812     fn clone(&self) -> Self {
7813         *self
7814     }
7815 }
7816 pub const USER_ALL_PARAMETERS: u32 = 2097152u32;
7817 pub const USER_DONT_EXPIRE_PASSWORD: u32 = 512u32;
7818 pub const USER_DONT_REQUIRE_PREAUTH: u32 = 65536u32;
7819 pub const USER_ENCRYPTED_TEXT_PASSWORD_ALLOWED: u32 = 2048u32;
7820 pub const USER_HOME_DIRECTORY_REQUIRED: u32 = 2u32;
7821 pub const USER_INTERDOMAIN_TRUST_ACCOUNT: u32 = 64u32;
7822 pub const USER_MNS_LOGON_ACCOUNT: u32 = 32u32;
7823 pub const USER_NORMAL_ACCOUNT: u32 = 16u32;
7824 pub const USER_NOT_DELEGATED: u32 = 16384u32;
7825 pub const USER_NO_AUTH_DATA_REQUIRED: u32 = 524288u32;
7826 pub const USER_PARTIAL_SECRETS_ACCOUNT: u32 = 1048576u32;
7827 pub const USER_PASSWORD_EXPIRED: u32 = 131072u32;
7828 pub const USER_PASSWORD_NOT_REQUIRED: u32 = 4u32;
7829 pub const USER_SERVER_TRUST_ACCOUNT: u32 = 256u32;
7830 #[repr(C)]
7831 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
7832 pub 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"))]
7836 impl ::core::marker::Copy for USER_SESSION_KEY {}
7837 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
7838 impl ::core::clone::Clone for USER_SESSION_KEY {
clone(&self) -> Self7839     fn clone(&self) -> Self {
7840         *self
7841     }
7842 }
7843 pub const USER_SMARTCARD_REQUIRED: u32 = 4096u32;
7844 pub const USER_TEMP_DUPLICATE_ACCOUNT: u32 = 8u32;
7845 pub const USER_TRUSTED_FOR_DELEGATION: u32 = 8192u32;
7846 pub const USER_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION: u32 = 262144u32;
7847 pub const USER_USE_AES_KEYS: u32 = 2097152u32;
7848 pub const USER_USE_DES_KEY_ONLY: u32 = 32768u32;
7849 pub const USER_WORKSTATION_TRUST_ACCOUNT: u32 = 128u32;
7850 #[cfg(feature = "Win32_Security_Credentials")]
7851 pub type VERIFY_SIGNATURE_FN = unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: *mut SecBufferDesc, param2: u32, param3: *mut u32) -> i32;
7852 pub 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")]
7855 pub 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")]
7866 impl ::core::marker::Copy for X509Certificate {}
7867 #[cfg(feature = "Win32_Foundation")]
7868 impl ::core::clone::Clone for X509Certificate {
clone(&self) -> Self7869     fn clone(&self) -> Self {
7870         *self
7871     }
7872 }
7873 pub const _FACILITY_WINDOWS_STORE: u32 = 63u32;
7874 #[repr(C)]
7875 pub struct _HMAPPER(pub u8);
7876 pub type eTlsHashAlgorithm = i32;
7877 pub const TlsHashAlgorithm_None: eTlsHashAlgorithm = 0i32;
7878 pub const TlsHashAlgorithm_Md5: eTlsHashAlgorithm = 1i32;
7879 pub const TlsHashAlgorithm_Sha1: eTlsHashAlgorithm = 2i32;
7880 pub const TlsHashAlgorithm_Sha224: eTlsHashAlgorithm = 3i32;
7881 pub const TlsHashAlgorithm_Sha256: eTlsHashAlgorithm = 4i32;
7882 pub const TlsHashAlgorithm_Sha384: eTlsHashAlgorithm = 5i32;
7883 pub const TlsHashAlgorithm_Sha512: eTlsHashAlgorithm = 6i32;
7884 pub type eTlsSignatureAlgorithm = i32;
7885 pub const TlsSignatureAlgorithm_Anonymous: eTlsSignatureAlgorithm = 0i32;
7886 pub const TlsSignatureAlgorithm_Rsa: eTlsSignatureAlgorithm = 1i32;
7887 pub const TlsSignatureAlgorithm_Dsa: eTlsSignatureAlgorithm = 2i32;
7888 pub const TlsSignatureAlgorithm_Ecdsa: eTlsSignatureAlgorithm = 3i32;
7889