]> git.proxmox.com Git - rustc.git/blame - vendor/windows/src/Windows/Win32/Security/Authentication/Identity/mod.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / vendor / windows / src / Windows / Win32 / Security / Authentication / Identity / mod.rs
CommitLineData
353b0b11
FG
1#[cfg(feature = "Win32_Security_Authentication_Identity_Provider")]
2pub mod Provider;
3#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
4#[cfg(feature = "Win32_Security_Credentials")]
5#[inline]
6pub unsafe fn AcceptSecurityContext(phcredential: ::core::option::Option<*const super::super::Credentials::SecHandle>, phcontext: ::core::option::Option<*const super::super::Credentials::SecHandle>, pinput: ::core::option::Option<*const SecBufferDesc>, fcontextreq: ASC_REQ_FLAGS, targetdatarep: u32, phnewcontext: ::core::option::Option<*mut super::super::Credentials::SecHandle>, poutput: ::core::option::Option<*mut SecBufferDesc>, pfcontextattr: *mut u32, ptsexpiry: ::core::option::Option<*mut i64>) -> ::windows::core::HRESULT {
7 ::windows::imp::link ! ( "secur32.dll""system" fn AcceptSecurityContext ( phcredential : *const super::super::Credentials:: SecHandle , phcontext : *const super::super::Credentials:: SecHandle , pinput : *const SecBufferDesc , fcontextreq : ASC_REQ_FLAGS , targetdatarep : u32 , phnewcontext : *mut super::super::Credentials:: SecHandle , poutput : *mut SecBufferDesc , pfcontextattr : *mut u32 , ptsexpiry : *mut i64 ) -> :: windows::core::HRESULT );
8 AcceptSecurityContext(::core::mem::transmute(phcredential.unwrap_or(::std::ptr::null())), ::core::mem::transmute(phcontext.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pinput.unwrap_or(::std::ptr::null())), fcontextreq, targetdatarep, ::core::mem::transmute(phnewcontext.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(poutput.unwrap_or(::std::ptr::null_mut())), pfcontextattr, ::core::mem::transmute(ptsexpiry.unwrap_or(::std::ptr::null_mut())))
9}
10#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
11#[cfg(feature = "Win32_Security_Credentials")]
12#[inline]
13pub unsafe fn AcquireCredentialsHandleA<P0, P1>(pszprincipal: P0, pszpackage: P1, fcredentialuse: SECPKG_CRED, pvlogonid: ::core::option::Option<*const ::core::ffi::c_void>, pauthdata: ::core::option::Option<*const ::core::ffi::c_void>, pgetkeyfn: SEC_GET_KEY_FN, pvgetkeyargument: ::core::option::Option<*const ::core::ffi::c_void>, phcredential: *mut super::super::Credentials::SecHandle, ptsexpiry: ::core::option::Option<*mut i64>) -> ::windows::core::Result<()>
14where
15 P0: ::windows::core::IntoParam<::windows::core::PCSTR>,
16 P1: ::windows::core::IntoParam<::windows::core::PCSTR>,
17{
18 ::windows::imp::link ! ( "secur32.dll""system" fn AcquireCredentialsHandleA ( pszprincipal : :: windows::core::PCSTR , pszpackage : :: windows::core::PCSTR , fcredentialuse : SECPKG_CRED , pvlogonid : *const ::core::ffi::c_void , pauthdata : *const ::core::ffi::c_void , pgetkeyfn : SEC_GET_KEY_FN , pvgetkeyargument : *const ::core::ffi::c_void , phcredential : *mut super::super::Credentials:: SecHandle , ptsexpiry : *mut i64 ) -> :: windows::core::HRESULT );
19 AcquireCredentialsHandleA(pszprincipal.into_param().abi(), pszpackage.into_param().abi(), fcredentialuse, ::core::mem::transmute(pvlogonid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pauthdata.unwrap_or(::std::ptr::null())), pgetkeyfn, ::core::mem::transmute(pvgetkeyargument.unwrap_or(::std::ptr::null())), phcredential, ::core::mem::transmute(ptsexpiry.unwrap_or(::std::ptr::null_mut()))).ok()
20}
21#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
22#[cfg(feature = "Win32_Security_Credentials")]
23#[inline]
24pub unsafe fn AcquireCredentialsHandleW<P0, P1>(pszprincipal: P0, pszpackage: P1, fcredentialuse: SECPKG_CRED, pvlogonid: ::core::option::Option<*const ::core::ffi::c_void>, pauthdata: ::core::option::Option<*const ::core::ffi::c_void>, pgetkeyfn: SEC_GET_KEY_FN, pvgetkeyargument: ::core::option::Option<*const ::core::ffi::c_void>, phcredential: *mut super::super::Credentials::SecHandle, ptsexpiry: ::core::option::Option<*mut i64>) -> ::windows::core::Result<()>
25where
26 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
27 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
28{
29 ::windows::imp::link ! ( "secur32.dll""system" fn AcquireCredentialsHandleW ( pszprincipal : :: windows::core::PCWSTR , pszpackage : :: windows::core::PCWSTR , fcredentialuse : SECPKG_CRED , pvlogonid : *const ::core::ffi::c_void , pauthdata : *const ::core::ffi::c_void , pgetkeyfn : SEC_GET_KEY_FN , pvgetkeyargument : *const ::core::ffi::c_void , phcredential : *mut super::super::Credentials:: SecHandle , ptsexpiry : *mut i64 ) -> :: windows::core::HRESULT );
30 AcquireCredentialsHandleW(pszprincipal.into_param().abi(), pszpackage.into_param().abi(), fcredentialuse, ::core::mem::transmute(pvlogonid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pauthdata.unwrap_or(::std::ptr::null())), pgetkeyfn, ::core::mem::transmute(pvgetkeyargument.unwrap_or(::std::ptr::null())), phcredential, ::core::mem::transmute(ptsexpiry.unwrap_or(::std::ptr::null_mut()))).ok()
31}
32#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
33#[cfg(feature = "Win32_Security_Credentials")]
34#[inline]
35pub unsafe fn AddCredentialsA<P0, P1>(hcredentials: *const super::super::Credentials::SecHandle, pszprincipal: P0, pszpackage: P1, fcredentialuse: u32, pauthdata: ::core::option::Option<*const ::core::ffi::c_void>, pgetkeyfn: SEC_GET_KEY_FN, pvgetkeyargument: ::core::option::Option<*const ::core::ffi::c_void>, ptsexpiry: ::core::option::Option<*mut i64>) -> ::windows::core::Result<()>
36where
37 P0: ::windows::core::IntoParam<::windows::core::PCSTR>,
38 P1: ::windows::core::IntoParam<::windows::core::PCSTR>,
39{
40 ::windows::imp::link ! ( "secur32.dll""system" fn AddCredentialsA ( hcredentials : *const super::super::Credentials:: SecHandle , pszprincipal : :: windows::core::PCSTR , pszpackage : :: windows::core::PCSTR , fcredentialuse : u32 , pauthdata : *const ::core::ffi::c_void , pgetkeyfn : SEC_GET_KEY_FN , pvgetkeyargument : *const ::core::ffi::c_void , ptsexpiry : *mut i64 ) -> :: windows::core::HRESULT );
41 AddCredentialsA(hcredentials, pszprincipal.into_param().abi(), pszpackage.into_param().abi(), fcredentialuse, ::core::mem::transmute(pauthdata.unwrap_or(::std::ptr::null())), pgetkeyfn, ::core::mem::transmute(pvgetkeyargument.unwrap_or(::std::ptr::null())), ::core::mem::transmute(ptsexpiry.unwrap_or(::std::ptr::null_mut()))).ok()
42}
43#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
44#[cfg(feature = "Win32_Security_Credentials")]
45#[inline]
46pub unsafe fn AddCredentialsW<P0, P1>(hcredentials: *const super::super::Credentials::SecHandle, pszprincipal: P0, pszpackage: P1, fcredentialuse: u32, pauthdata: ::core::option::Option<*const ::core::ffi::c_void>, pgetkeyfn: SEC_GET_KEY_FN, pvgetkeyargument: ::core::option::Option<*const ::core::ffi::c_void>, ptsexpiry: ::core::option::Option<*mut i64>) -> ::windows::core::Result<()>
47where
48 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
49 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
50{
51 ::windows::imp::link ! ( "secur32.dll""system" fn AddCredentialsW ( hcredentials : *const super::super::Credentials:: SecHandle , pszprincipal : :: windows::core::PCWSTR , pszpackage : :: windows::core::PCWSTR , fcredentialuse : u32 , pauthdata : *const ::core::ffi::c_void , pgetkeyfn : SEC_GET_KEY_FN , pvgetkeyargument : *const ::core::ffi::c_void , ptsexpiry : *mut i64 ) -> :: windows::core::HRESULT );
52 AddCredentialsW(hcredentials, pszprincipal.into_param().abi(), pszpackage.into_param().abi(), fcredentialuse, ::core::mem::transmute(pauthdata.unwrap_or(::std::ptr::null())), pgetkeyfn, ::core::mem::transmute(pvgetkeyargument.unwrap_or(::std::ptr::null())), ::core::mem::transmute(ptsexpiry.unwrap_or(::std::ptr::null_mut()))).ok()
53}
54#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
55#[inline]
56pub unsafe fn AddSecurityPackageA<P0>(pszpackagename: P0, poptions: ::core::option::Option<*const SECURITY_PACKAGE_OPTIONS>) -> ::windows::core::Result<()>
57where
58 P0: ::windows::core::IntoParam<::windows::core::PCSTR>,
59{
60 ::windows::imp::link ! ( "secur32.dll""system" fn AddSecurityPackageA ( pszpackagename : :: windows::core::PCSTR , poptions : *const SECURITY_PACKAGE_OPTIONS ) -> :: windows::core::HRESULT );
61 AddSecurityPackageA(pszpackagename.into_param().abi(), ::core::mem::transmute(poptions.unwrap_or(::std::ptr::null()))).ok()
62}
63#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
64#[inline]
65pub unsafe fn AddSecurityPackageW<P0>(pszpackagename: P0, poptions: ::core::option::Option<*const SECURITY_PACKAGE_OPTIONS>) -> ::windows::core::Result<()>
66where
67 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
68{
69 ::windows::imp::link ! ( "secur32.dll""system" fn AddSecurityPackageW ( pszpackagename : :: windows::core::PCWSTR , poptions : *const SECURITY_PACKAGE_OPTIONS ) -> :: windows::core::HRESULT );
70 AddSecurityPackageW(pszpackagename.into_param().abi(), ::core::mem::transmute(poptions.unwrap_or(::std::ptr::null()))).ok()
71}
72#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
73#[cfg(feature = "Win32_Security_Credentials")]
74#[inline]
75pub unsafe fn ApplyControlToken(phcontext: *const super::super::Credentials::SecHandle, pinput: *const SecBufferDesc) -> ::windows::core::Result<()> {
76 ::windows::imp::link ! ( "secur32.dll""system" fn ApplyControlToken ( phcontext : *const super::super::Credentials:: SecHandle , pinput : *const SecBufferDesc ) -> :: windows::core::HRESULT );
77 ApplyControlToken(phcontext, pinput).ok()
78}
79#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
80#[cfg(feature = "Win32_Foundation")]
81#[inline]
82pub unsafe fn AuditComputeEffectivePolicyBySid<P0>(psid: P0, psubcategoryguids: &[::windows::core::GUID], ppauditpolicy: *mut *mut AUDIT_POLICY_INFORMATION) -> super::super::super::Foundation::BOOLEAN
83where
84 P0: ::windows::core::IntoParam<super::super::super::Foundation::PSID>,
85{
86 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditComputeEffectivePolicyBySid ( psid : super::super::super::Foundation:: PSID , psubcategoryguids : *const :: windows::core::GUID , dwpolicycount : u32 , ppauditpolicy : *mut *mut AUDIT_POLICY_INFORMATION ) -> super::super::super::Foundation:: BOOLEAN );
87 AuditComputeEffectivePolicyBySid(psid.into_param().abi(), ::core::mem::transmute(psubcategoryguids.as_ptr()), psubcategoryguids.len() as _, ppauditpolicy)
88}
89#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
90#[cfg(feature = "Win32_Foundation")]
91#[inline]
92pub unsafe fn AuditComputeEffectivePolicyByToken<P0>(htokenhandle: P0, psubcategoryguids: &[::windows::core::GUID], ppauditpolicy: *mut *mut AUDIT_POLICY_INFORMATION) -> super::super::super::Foundation::BOOLEAN
93where
94 P0: ::windows::core::IntoParam<super::super::super::Foundation::HANDLE>,
95{
96 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditComputeEffectivePolicyByToken ( htokenhandle : super::super::super::Foundation:: HANDLE , psubcategoryguids : *const :: windows::core::GUID , dwpolicycount : u32 , ppauditpolicy : *mut *mut AUDIT_POLICY_INFORMATION ) -> super::super::super::Foundation:: BOOLEAN );
97 AuditComputeEffectivePolicyByToken(htokenhandle.into_param().abi(), ::core::mem::transmute(psubcategoryguids.as_ptr()), psubcategoryguids.len() as _, ppauditpolicy)
98}
99#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
100#[cfg(feature = "Win32_Foundation")]
101#[inline]
102pub unsafe fn AuditEnumerateCategories(ppauditcategoriesarray: *mut *mut ::windows::core::GUID, pdwcountreturned: *mut u32) -> super::super::super::Foundation::BOOLEAN {
103 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditEnumerateCategories ( ppauditcategoriesarray : *mut *mut :: windows::core::GUID , pdwcountreturned : *mut u32 ) -> super::super::super::Foundation:: BOOLEAN );
104 AuditEnumerateCategories(ppauditcategoriesarray, pdwcountreturned)
105}
106#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
107#[cfg(feature = "Win32_Foundation")]
108#[inline]
109pub unsafe fn AuditEnumeratePerUserPolicy(ppauditsidarray: *mut *mut POLICY_AUDIT_SID_ARRAY) -> super::super::super::Foundation::BOOLEAN {
110 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditEnumeratePerUserPolicy ( ppauditsidarray : *mut *mut POLICY_AUDIT_SID_ARRAY ) -> super::super::super::Foundation:: BOOLEAN );
111 AuditEnumeratePerUserPolicy(ppauditsidarray)
112}
113#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
114#[cfg(feature = "Win32_Foundation")]
115#[inline]
116pub unsafe fn AuditEnumerateSubCategories<P0>(pauditcategoryguid: ::core::option::Option<*const ::windows::core::GUID>, bretrieveallsubcategories: P0, ppauditsubcategoriesarray: *mut *mut ::windows::core::GUID, pdwcountreturned: *mut u32) -> super::super::super::Foundation::BOOLEAN
117where
118 P0: ::windows::core::IntoParam<super::super::super::Foundation::BOOLEAN>,
119{
120 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditEnumerateSubCategories ( pauditcategoryguid : *const :: windows::core::GUID , bretrieveallsubcategories : super::super::super::Foundation:: BOOLEAN , ppauditsubcategoriesarray : *mut *mut :: windows::core::GUID , pdwcountreturned : *mut u32 ) -> super::super::super::Foundation:: BOOLEAN );
121 AuditEnumerateSubCategories(::core::mem::transmute(pauditcategoryguid.unwrap_or(::std::ptr::null())), bretrieveallsubcategories.into_param().abi(), ppauditsubcategoriesarray, pdwcountreturned)
122}
123#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
124#[inline]
125pub unsafe fn AuditFree(buffer: *const ::core::ffi::c_void) {
126 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditFree ( buffer : *const ::core::ffi::c_void ) -> ( ) );
127 AuditFree(buffer)
128}
129#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
130#[cfg(feature = "Win32_Foundation")]
131#[inline]
132pub unsafe fn AuditLookupCategoryGuidFromCategoryId(auditcategoryid: POLICY_AUDIT_EVENT_TYPE, pauditcategoryguid: *mut ::windows::core::GUID) -> super::super::super::Foundation::BOOLEAN {
133 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditLookupCategoryGuidFromCategoryId ( auditcategoryid : POLICY_AUDIT_EVENT_TYPE , pauditcategoryguid : *mut :: windows::core::GUID ) -> super::super::super::Foundation:: BOOLEAN );
134 AuditLookupCategoryGuidFromCategoryId(auditcategoryid, pauditcategoryguid)
135}
136#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
137#[cfg(feature = "Win32_Foundation")]
138#[inline]
139pub unsafe fn AuditLookupCategoryIdFromCategoryGuid(pauditcategoryguid: *const ::windows::core::GUID, pauditcategoryid: *mut POLICY_AUDIT_EVENT_TYPE) -> super::super::super::Foundation::BOOLEAN {
140 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditLookupCategoryIdFromCategoryGuid ( pauditcategoryguid : *const :: windows::core::GUID , pauditcategoryid : *mut POLICY_AUDIT_EVENT_TYPE ) -> super::super::super::Foundation:: BOOLEAN );
141 AuditLookupCategoryIdFromCategoryGuid(pauditcategoryguid, pauditcategoryid)
142}
143#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
144#[cfg(feature = "Win32_Foundation")]
145#[inline]
146pub unsafe fn AuditLookupCategoryNameA(pauditcategoryguid: *const ::windows::core::GUID, ppszcategoryname: *mut ::windows::core::PSTR) -> super::super::super::Foundation::BOOLEAN {
147 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditLookupCategoryNameA ( pauditcategoryguid : *const :: windows::core::GUID , ppszcategoryname : *mut :: windows::core::PSTR ) -> super::super::super::Foundation:: BOOLEAN );
148 AuditLookupCategoryNameA(pauditcategoryguid, ppszcategoryname)
149}
150#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
151#[cfg(feature = "Win32_Foundation")]
152#[inline]
153pub unsafe fn AuditLookupCategoryNameW(pauditcategoryguid: *const ::windows::core::GUID, ppszcategoryname: *mut ::windows::core::PWSTR) -> super::super::super::Foundation::BOOLEAN {
154 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditLookupCategoryNameW ( pauditcategoryguid : *const :: windows::core::GUID , ppszcategoryname : *mut :: windows::core::PWSTR ) -> super::super::super::Foundation:: BOOLEAN );
155 AuditLookupCategoryNameW(pauditcategoryguid, ppszcategoryname)
156}
157#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
158#[cfg(feature = "Win32_Foundation")]
159#[inline]
160pub unsafe fn AuditLookupSubCategoryNameA(pauditsubcategoryguid: *const ::windows::core::GUID, ppszsubcategoryname: *mut ::windows::core::PSTR) -> super::super::super::Foundation::BOOLEAN {
161 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditLookupSubCategoryNameA ( pauditsubcategoryguid : *const :: windows::core::GUID , ppszsubcategoryname : *mut :: windows::core::PSTR ) -> super::super::super::Foundation:: BOOLEAN );
162 AuditLookupSubCategoryNameA(pauditsubcategoryguid, ppszsubcategoryname)
163}
164#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
165#[cfg(feature = "Win32_Foundation")]
166#[inline]
167pub unsafe fn AuditLookupSubCategoryNameW(pauditsubcategoryguid: *const ::windows::core::GUID, ppszsubcategoryname: *mut ::windows::core::PWSTR) -> super::super::super::Foundation::BOOLEAN {
168 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditLookupSubCategoryNameW ( pauditsubcategoryguid : *const :: windows::core::GUID , ppszsubcategoryname : *mut :: windows::core::PWSTR ) -> super::super::super::Foundation:: BOOLEAN );
169 AuditLookupSubCategoryNameW(pauditsubcategoryguid, ppszsubcategoryname)
170}
171#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
172#[cfg(feature = "Win32_Foundation")]
173#[inline]
174pub unsafe fn AuditQueryGlobalSaclA<P0>(objecttypename: P0, acl: *mut *mut super::super::ACL) -> super::super::super::Foundation::BOOLEAN
175where
176 P0: ::windows::core::IntoParam<::windows::core::PCSTR>,
177{
178 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditQueryGlobalSaclA ( objecttypename : :: windows::core::PCSTR , acl : *mut *mut super::super:: ACL ) -> super::super::super::Foundation:: BOOLEAN );
179 AuditQueryGlobalSaclA(objecttypename.into_param().abi(), acl)
180}
181#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
182#[cfg(feature = "Win32_Foundation")]
183#[inline]
184pub unsafe fn AuditQueryGlobalSaclW<P0>(objecttypename: P0, acl: *mut *mut super::super::ACL) -> super::super::super::Foundation::BOOLEAN
185where
186 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
187{
188 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditQueryGlobalSaclW ( objecttypename : :: windows::core::PCWSTR , acl : *mut *mut super::super:: ACL ) -> super::super::super::Foundation:: BOOLEAN );
189 AuditQueryGlobalSaclW(objecttypename.into_param().abi(), acl)
190}
191#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
192#[cfg(feature = "Win32_Foundation")]
193#[inline]
194pub unsafe fn AuditQueryPerUserPolicy<P0>(psid: P0, psubcategoryguids: &[::windows::core::GUID], ppauditpolicy: *mut *mut AUDIT_POLICY_INFORMATION) -> super::super::super::Foundation::BOOLEAN
195where
196 P0: ::windows::core::IntoParam<super::super::super::Foundation::PSID>,
197{
198 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditQueryPerUserPolicy ( psid : super::super::super::Foundation:: PSID , psubcategoryguids : *const :: windows::core::GUID , dwpolicycount : u32 , ppauditpolicy : *mut *mut AUDIT_POLICY_INFORMATION ) -> super::super::super::Foundation:: BOOLEAN );
199 AuditQueryPerUserPolicy(psid.into_param().abi(), ::core::mem::transmute(psubcategoryguids.as_ptr()), psubcategoryguids.len() as _, ppauditpolicy)
200}
201#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
202#[cfg(feature = "Win32_Foundation")]
203#[inline]
204pub unsafe fn AuditQuerySecurity(securityinformation: u32, ppsecuritydescriptor: *mut super::super::PSECURITY_DESCRIPTOR) -> super::super::super::Foundation::BOOLEAN {
205 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditQuerySecurity ( securityinformation : u32 , ppsecuritydescriptor : *mut super::super:: PSECURITY_DESCRIPTOR ) -> super::super::super::Foundation:: BOOLEAN );
206 AuditQuerySecurity(securityinformation, ppsecuritydescriptor)
207}
208#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
209#[cfg(feature = "Win32_Foundation")]
210#[inline]
211pub unsafe fn AuditQuerySystemPolicy(psubcategoryguids: &[::windows::core::GUID], ppauditpolicy: *mut *mut AUDIT_POLICY_INFORMATION) -> super::super::super::Foundation::BOOLEAN {
212 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditQuerySystemPolicy ( psubcategoryguids : *const :: windows::core::GUID , dwpolicycount : u32 , ppauditpolicy : *mut *mut AUDIT_POLICY_INFORMATION ) -> super::super::super::Foundation:: BOOLEAN );
213 AuditQuerySystemPolicy(::core::mem::transmute(psubcategoryguids.as_ptr()), psubcategoryguids.len() as _, ppauditpolicy)
214}
215#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
216#[cfg(feature = "Win32_Foundation")]
217#[inline]
218pub unsafe fn AuditSetGlobalSaclA<P0>(objecttypename: P0, acl: ::core::option::Option<*const super::super::ACL>) -> super::super::super::Foundation::BOOLEAN
219where
220 P0: ::windows::core::IntoParam<::windows::core::PCSTR>,
221{
222 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditSetGlobalSaclA ( objecttypename : :: windows::core::PCSTR , acl : *const super::super:: ACL ) -> super::super::super::Foundation:: BOOLEAN );
223 AuditSetGlobalSaclA(objecttypename.into_param().abi(), ::core::mem::transmute(acl.unwrap_or(::std::ptr::null())))
224}
225#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
226#[cfg(feature = "Win32_Foundation")]
227#[inline]
228pub unsafe fn AuditSetGlobalSaclW<P0>(objecttypename: P0, acl: ::core::option::Option<*const super::super::ACL>) -> super::super::super::Foundation::BOOLEAN
229where
230 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
231{
232 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditSetGlobalSaclW ( objecttypename : :: windows::core::PCWSTR , acl : *const super::super:: ACL ) -> super::super::super::Foundation:: BOOLEAN );
233 AuditSetGlobalSaclW(objecttypename.into_param().abi(), ::core::mem::transmute(acl.unwrap_or(::std::ptr::null())))
234}
235#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
236#[cfg(feature = "Win32_Foundation")]
237#[inline]
238pub unsafe fn AuditSetPerUserPolicy<P0>(psid: P0, pauditpolicy: &[AUDIT_POLICY_INFORMATION]) -> super::super::super::Foundation::BOOLEAN
239where
240 P0: ::windows::core::IntoParam<super::super::super::Foundation::PSID>,
241{
242 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditSetPerUserPolicy ( psid : super::super::super::Foundation:: PSID , pauditpolicy : *const AUDIT_POLICY_INFORMATION , dwpolicycount : u32 ) -> super::super::super::Foundation:: BOOLEAN );
243 AuditSetPerUserPolicy(psid.into_param().abi(), ::core::mem::transmute(pauditpolicy.as_ptr()), pauditpolicy.len() as _)
244}
245#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
246#[cfg(feature = "Win32_Foundation")]
247#[inline]
248pub unsafe fn AuditSetSecurity<P0>(securityinformation: u32, psecuritydescriptor: P0) -> super::super::super::Foundation::BOOLEAN
249where
250 P0: ::windows::core::IntoParam<super::super::PSECURITY_DESCRIPTOR>,
251{
252 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditSetSecurity ( securityinformation : u32 , psecuritydescriptor : super::super:: PSECURITY_DESCRIPTOR ) -> super::super::super::Foundation:: BOOLEAN );
253 AuditSetSecurity(securityinformation, psecuritydescriptor.into_param().abi())
254}
255#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
256#[cfg(feature = "Win32_Foundation")]
257#[inline]
258pub unsafe fn AuditSetSystemPolicy(pauditpolicy: &[AUDIT_POLICY_INFORMATION]) -> super::super::super::Foundation::BOOLEAN {
259 ::windows::imp::link ! ( "advapi32.dll""system" fn AuditSetSystemPolicy ( pauditpolicy : *const AUDIT_POLICY_INFORMATION , dwpolicycount : u32 ) -> super::super::super::Foundation:: BOOLEAN );
260 AuditSetSystemPolicy(::core::mem::transmute(pauditpolicy.as_ptr()), pauditpolicy.len() as _)
261}
262#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
263#[cfg(feature = "Win32_Foundation")]
264#[inline]
265pub unsafe fn ChangeAccountPasswordA<P0>(pszpackagename: *const i8, pszdomainname: *const i8, pszaccountname: *const i8, pszoldpassword: *const i8, psznewpassword: *const i8, bimpersonating: P0, dwreserved: u32, poutput: *mut SecBufferDesc) -> ::windows::core::Result<()>
266where
267 P0: ::windows::core::IntoParam<super::super::super::Foundation::BOOLEAN>,
268{
269 ::windows::imp::link ! ( "secur32.dll""system" 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 ) -> :: windows::core::HRESULT );
270 ChangeAccountPasswordA(pszpackagename, pszdomainname, pszaccountname, pszoldpassword, psznewpassword, bimpersonating.into_param().abi(), dwreserved, poutput).ok()
271}
272#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
273#[cfg(feature = "Win32_Foundation")]
274#[inline]
275pub unsafe fn ChangeAccountPasswordW<P0>(pszpackagename: *const u16, pszdomainname: *const u16, pszaccountname: *const u16, pszoldpassword: *const u16, psznewpassword: *const u16, bimpersonating: P0, dwreserved: u32, poutput: *mut SecBufferDesc) -> ::windows::core::Result<()>
276where
277 P0: ::windows::core::IntoParam<super::super::super::Foundation::BOOLEAN>,
278{
279 ::windows::imp::link ! ( "secur32.dll""system" 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 ) -> :: windows::core::HRESULT );
280 ChangeAccountPasswordW(pszpackagename, pszdomainname, pszaccountname, pszoldpassword, psznewpassword, bimpersonating.into_param().abi(), dwreserved, poutput).ok()
281}
282#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
283#[cfg(feature = "Win32_Security_Credentials")]
284#[inline]
285pub unsafe fn CompleteAuthToken(phcontext: *const super::super::Credentials::SecHandle, ptoken: *const SecBufferDesc) -> ::windows::core::Result<()> {
286 ::windows::imp::link ! ( "secur32.dll""system" fn CompleteAuthToken ( phcontext : *const super::super::Credentials:: SecHandle , ptoken : *const SecBufferDesc ) -> :: windows::core::HRESULT );
287 CompleteAuthToken(phcontext, ptoken).ok()
288}
289#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_Security_Credentials\"`*"]
290#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
291#[inline]
292pub unsafe fn CredMarshalTargetInfo(intargetinfo: *const super::super::Credentials::CREDENTIAL_TARGET_INFORMATIONW, buffer: *mut *mut u16, buffersize: *mut u32) -> ::windows::core::Result<()> {
293 ::windows::imp::link ! ( "secur32.dll""system" fn CredMarshalTargetInfo ( intargetinfo : *const super::super::Credentials:: CREDENTIAL_TARGET_INFORMATIONW , buffer : *mut *mut u16 , buffersize : *mut u32 ) -> super::super::super::Foundation:: NTSTATUS );
294 CredMarshalTargetInfo(intargetinfo, buffer, buffersize).ok()
295}
296#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_Security_Credentials\"`*"]
297#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
298#[inline]
299pub unsafe fn CredUnmarshalTargetInfo(buffer: *const u16, buffersize: u32, rettargetinfo: ::core::option::Option<*mut *mut super::super::Credentials::CREDENTIAL_TARGET_INFORMATIONW>, retactualsize: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()> {
300 ::windows::imp::link ! ( "secur32.dll""system" fn CredUnmarshalTargetInfo ( buffer : *const u16 , buffersize : u32 , rettargetinfo : *mut *mut super::super::Credentials:: CREDENTIAL_TARGET_INFORMATIONW , retactualsize : *mut u32 ) -> super::super::super::Foundation:: NTSTATUS );
301 CredUnmarshalTargetInfo(buffer, buffersize, ::core::mem::transmute(rettargetinfo.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(retactualsize.unwrap_or(::std::ptr::null_mut()))).ok()
302}
303#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
304#[cfg(feature = "Win32_Security_Credentials")]
305#[inline]
306pub unsafe fn DecryptMessage(phcontext: *const super::super::Credentials::SecHandle, pmessage: *const SecBufferDesc, messageseqno: u32, pfqop: ::core::option::Option<*mut u32>) -> ::windows::core::HRESULT {
307 ::windows::imp::link ! ( "secur32.dll""system" fn DecryptMessage ( phcontext : *const super::super::Credentials:: SecHandle , pmessage : *const SecBufferDesc , messageseqno : u32 , pfqop : *mut u32 ) -> :: windows::core::HRESULT );
308 DecryptMessage(phcontext, pmessage, messageseqno, ::core::mem::transmute(pfqop.unwrap_or(::std::ptr::null_mut())))
309}
310#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
311#[cfg(feature = "Win32_Security_Credentials")]
312#[inline]
313pub unsafe fn DeleteSecurityContext(phcontext: *const super::super::Credentials::SecHandle) -> ::windows::core::Result<()> {
314 ::windows::imp::link ! ( "secur32.dll""system" fn DeleteSecurityContext ( phcontext : *const super::super::Credentials:: SecHandle ) -> :: windows::core::HRESULT );
315 DeleteSecurityContext(phcontext).ok()
316}
317#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
318#[inline]
319pub unsafe fn DeleteSecurityPackageA<P0>(pszpackagename: P0) -> ::windows::core::Result<()>
320where
321 P0: ::windows::core::IntoParam<::windows::core::PCSTR>,
322{
323 ::windows::imp::link ! ( "secur32.dll""system" fn DeleteSecurityPackageA ( pszpackagename : :: windows::core::PCSTR ) -> :: windows::core::HRESULT );
324 DeleteSecurityPackageA(pszpackagename.into_param().abi()).ok()
325}
326#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
327#[inline]
328pub unsafe fn DeleteSecurityPackageW<P0>(pszpackagename: P0) -> ::windows::core::Result<()>
329where
330 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
331{
332 ::windows::imp::link ! ( "secur32.dll""system" fn DeleteSecurityPackageW ( pszpackagename : :: windows::core::PCWSTR ) -> :: windows::core::HRESULT );
333 DeleteSecurityPackageW(pszpackagename.into_param().abi()).ok()
334}
335#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
336#[cfg(feature = "Win32_Security_Credentials")]
337#[inline]
338pub unsafe fn EncryptMessage(phcontext: *const super::super::Credentials::SecHandle, fqop: u32, pmessage: *const SecBufferDesc, messageseqno: u32) -> ::windows::core::HRESULT {
339 ::windows::imp::link ! ( "secur32.dll""system" fn EncryptMessage ( phcontext : *const super::super::Credentials:: SecHandle , fqop : u32 , pmessage : *const SecBufferDesc , messageseqno : u32 ) -> :: windows::core::HRESULT );
340 EncryptMessage(phcontext, fqop, pmessage, messageseqno)
341}
342#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
343#[inline]
344pub unsafe fn EnumerateSecurityPackagesA(pcpackages: *mut u32, pppackageinfo: *mut *mut SecPkgInfoA) -> ::windows::core::Result<()> {
345 ::windows::imp::link ! ( "secur32.dll""system" fn EnumerateSecurityPackagesA ( pcpackages : *mut u32 , pppackageinfo : *mut *mut SecPkgInfoA ) -> :: windows::core::HRESULT );
346 EnumerateSecurityPackagesA(pcpackages, pppackageinfo).ok()
347}
348#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
349#[inline]
350pub unsafe fn EnumerateSecurityPackagesW(pcpackages: *mut u32, pppackageinfo: *mut *mut SecPkgInfoW) -> ::windows::core::Result<()> {
351 ::windows::imp::link ! ( "secur32.dll""system" fn EnumerateSecurityPackagesW ( pcpackages : *mut u32 , pppackageinfo : *mut *mut SecPkgInfoW ) -> :: windows::core::HRESULT );
352 EnumerateSecurityPackagesW(pcpackages, pppackageinfo).ok()
353}
354#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
355#[cfg(feature = "Win32_Security_Credentials")]
356#[inline]
357pub unsafe fn ExportSecurityContext(phcontext: *const super::super::Credentials::SecHandle, fflags: EXPORT_SECURITY_CONTEXT_FLAGS, ppackedcontext: *mut SecBuffer, ptoken: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
358 ::windows::imp::link ! ( "secur32.dll""system" fn ExportSecurityContext ( phcontext : *const super::super::Credentials:: SecHandle , fflags : EXPORT_SECURITY_CONTEXT_FLAGS , ppackedcontext : *mut SecBuffer , ptoken : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
359 ExportSecurityContext(phcontext, fflags, ppackedcontext, ptoken).ok()
360}
361#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
362#[inline]
363pub unsafe fn FreeContextBuffer(pvcontextbuffer: *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
364 ::windows::imp::link ! ( "secur32.dll""system" fn FreeContextBuffer ( pvcontextbuffer : *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
365 FreeContextBuffer(pvcontextbuffer).ok()
366}
367#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
368#[cfg(feature = "Win32_Security_Credentials")]
369#[inline]
370pub unsafe fn FreeCredentialsHandle(phcredential: *const super::super::Credentials::SecHandle) -> ::windows::core::Result<()> {
371 ::windows::imp::link ! ( "secur32.dll""system" fn FreeCredentialsHandle ( phcredential : *const super::super::Credentials:: SecHandle ) -> :: windows::core::HRESULT );
372 FreeCredentialsHandle(phcredential).ok()
373}
374#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
375#[cfg(feature = "Win32_Foundation")]
376#[inline]
377pub unsafe fn GetComputerObjectNameA(nameformat: EXTENDED_NAME_FORMAT, lpnamebuffer: ::windows::core::PSTR, nsize: *mut u32) -> super::super::super::Foundation::BOOLEAN {
378 ::windows::imp::link ! ( "secur32.dll""system" fn GetComputerObjectNameA ( nameformat : EXTENDED_NAME_FORMAT , lpnamebuffer : :: windows::core::PSTR , nsize : *mut u32 ) -> super::super::super::Foundation:: BOOLEAN );
379 GetComputerObjectNameA(nameformat, ::core::mem::transmute(lpnamebuffer), nsize)
380}
381#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
382#[cfg(feature = "Win32_Foundation")]
383#[inline]
384pub unsafe fn GetComputerObjectNameW(nameformat: EXTENDED_NAME_FORMAT, lpnamebuffer: ::windows::core::PWSTR, nsize: *mut u32) -> super::super::super::Foundation::BOOLEAN {
385 ::windows::imp::link ! ( "secur32.dll""system" fn GetComputerObjectNameW ( nameformat : EXTENDED_NAME_FORMAT , lpnamebuffer : :: windows::core::PWSTR , nsize : *mut u32 ) -> super::super::super::Foundation:: BOOLEAN );
386 GetComputerObjectNameW(nameformat, ::core::mem::transmute(lpnamebuffer), nsize)
387}
388#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
389#[cfg(feature = "Win32_Foundation")]
390#[inline]
391pub unsafe fn GetUserNameExA(nameformat: EXTENDED_NAME_FORMAT, lpnamebuffer: ::windows::core::PSTR, nsize: *mut u32) -> super::super::super::Foundation::BOOLEAN {
392 ::windows::imp::link ! ( "secur32.dll""system" fn GetUserNameExA ( nameformat : EXTENDED_NAME_FORMAT , lpnamebuffer : :: windows::core::PSTR , nsize : *mut u32 ) -> super::super::super::Foundation:: BOOLEAN );
393 GetUserNameExA(nameformat, ::core::mem::transmute(lpnamebuffer), nsize)
394}
395#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
396#[cfg(feature = "Win32_Foundation")]
397#[inline]
398pub unsafe fn GetUserNameExW(nameformat: EXTENDED_NAME_FORMAT, lpnamebuffer: ::windows::core::PWSTR, nsize: *mut u32) -> super::super::super::Foundation::BOOLEAN {
399 ::windows::imp::link ! ( "secur32.dll""system" fn GetUserNameExW ( nameformat : EXTENDED_NAME_FORMAT , lpnamebuffer : :: windows::core::PWSTR , nsize : *mut u32 ) -> super::super::super::Foundation:: BOOLEAN );
400 GetUserNameExW(nameformat, ::core::mem::transmute(lpnamebuffer), nsize)
401}
402#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
403#[cfg(feature = "Win32_Security_Credentials")]
404#[inline]
405pub unsafe fn ImpersonateSecurityContext(phcontext: *const super::super::Credentials::SecHandle) -> ::windows::core::Result<()> {
406 ::windows::imp::link ! ( "secur32.dll""system" fn ImpersonateSecurityContext ( phcontext : *const super::super::Credentials:: SecHandle ) -> :: windows::core::HRESULT );
407 ImpersonateSecurityContext(phcontext).ok()
408}
409#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
410#[cfg(feature = "Win32_Security_Credentials")]
411#[inline]
412pub unsafe fn ImportSecurityContextA<P0>(pszpackage: P0, ppackedcontext: *const SecBuffer, token: *const ::core::ffi::c_void) -> ::windows::core::Result<super::super::Credentials::SecHandle>
413where
414 P0: ::windows::core::IntoParam<::windows::core::PCSTR>,
415{
416 ::windows::imp::link ! ( "secur32.dll""system" fn ImportSecurityContextA ( pszpackage : :: windows::core::PCSTR , ppackedcontext : *const SecBuffer , token : *const ::core::ffi::c_void , phcontext : *mut super::super::Credentials:: SecHandle ) -> :: windows::core::HRESULT );
417 let mut result__ = ::windows::core::zeroed::<super::super::Credentials::SecHandle>();
418 ImportSecurityContextA(pszpackage.into_param().abi(), ppackedcontext, token, &mut result__).from_abi(result__)
419}
420#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
421#[cfg(feature = "Win32_Security_Credentials")]
422#[inline]
423pub unsafe fn ImportSecurityContextW<P0>(pszpackage: P0, ppackedcontext: *const SecBuffer, token: *const ::core::ffi::c_void) -> ::windows::core::Result<super::super::Credentials::SecHandle>
424where
425 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
426{
427 ::windows::imp::link ! ( "secur32.dll""system" fn ImportSecurityContextW ( pszpackage : :: windows::core::PCWSTR , ppackedcontext : *const SecBuffer , token : *const ::core::ffi::c_void , phcontext : *mut super::super::Credentials:: SecHandle ) -> :: windows::core::HRESULT );
428 let mut result__ = ::windows::core::zeroed::<super::super::Credentials::SecHandle>();
429 ImportSecurityContextW(pszpackage.into_param().abi(), ppackedcontext, token, &mut result__).from_abi(result__)
430}
431#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_Security_Credentials\"`*"]
432#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
433#[inline]
434pub unsafe fn InitSecurityInterfaceA() -> *mut SecurityFunctionTableA {
435 ::windows::imp::link ! ( "secur32.dll""system" fn InitSecurityInterfaceA ( ) -> *mut SecurityFunctionTableA );
436 InitSecurityInterfaceA()
437}
438#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_Security_Credentials\"`*"]
439#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
440#[inline]
441pub unsafe fn InitSecurityInterfaceW() -> *mut SecurityFunctionTableW {
442 ::windows::imp::link ! ( "secur32.dll""system" fn InitSecurityInterfaceW ( ) -> *mut SecurityFunctionTableW );
443 InitSecurityInterfaceW()
444}
445#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
446#[cfg(feature = "Win32_Security_Credentials")]
447#[inline]
448pub unsafe fn InitializeSecurityContextA(phcredential: ::core::option::Option<*const super::super::Credentials::SecHandle>, phcontext: ::core::option::Option<*const super::super::Credentials::SecHandle>, psztargetname: ::core::option::Option<*const i8>, fcontextreq: ISC_REQ_FLAGS, reserved1: u32, targetdatarep: u32, pinput: ::core::option::Option<*const SecBufferDesc>, reserved2: u32, phnewcontext: ::core::option::Option<*mut super::super::Credentials::SecHandle>, poutput: ::core::option::Option<*mut SecBufferDesc>, pfcontextattr: *mut u32, ptsexpiry: ::core::option::Option<*mut i64>) -> ::windows::core::HRESULT {
449 ::windows::imp::link ! ( "secur32.dll""system" fn InitializeSecurityContextA ( phcredential : *const super::super::Credentials:: SecHandle , phcontext : *const super::super::Credentials:: SecHandle , psztargetname : *const i8 , fcontextreq : ISC_REQ_FLAGS , reserved1 : u32 , targetdatarep : u32 , pinput : *const SecBufferDesc , reserved2 : u32 , phnewcontext : *mut super::super::Credentials:: SecHandle , poutput : *mut SecBufferDesc , pfcontextattr : *mut u32 , ptsexpiry : *mut i64 ) -> :: windows::core::HRESULT );
450 InitializeSecurityContextA(
451 ::core::mem::transmute(phcredential.unwrap_or(::std::ptr::null())),
452 ::core::mem::transmute(phcontext.unwrap_or(::std::ptr::null())),
453 ::core::mem::transmute(psztargetname.unwrap_or(::std::ptr::null())),
454 fcontextreq,
455 reserved1,
456 targetdatarep,
457 ::core::mem::transmute(pinput.unwrap_or(::std::ptr::null())),
458 reserved2,
459 ::core::mem::transmute(phnewcontext.unwrap_or(::std::ptr::null_mut())),
460 ::core::mem::transmute(poutput.unwrap_or(::std::ptr::null_mut())),
461 pfcontextattr,
462 ::core::mem::transmute(ptsexpiry.unwrap_or(::std::ptr::null_mut())),
463 )
464}
465#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
466#[cfg(feature = "Win32_Security_Credentials")]
467#[inline]
468pub unsafe fn InitializeSecurityContextW(phcredential: ::core::option::Option<*const super::super::Credentials::SecHandle>, phcontext: ::core::option::Option<*const super::super::Credentials::SecHandle>, psztargetname: ::core::option::Option<*const u16>, fcontextreq: ISC_REQ_FLAGS, reserved1: u32, targetdatarep: u32, pinput: ::core::option::Option<*const SecBufferDesc>, reserved2: u32, phnewcontext: ::core::option::Option<*mut super::super::Credentials::SecHandle>, poutput: ::core::option::Option<*mut SecBufferDesc>, pfcontextattr: *mut u32, ptsexpiry: ::core::option::Option<*mut i64>) -> ::windows::core::HRESULT {
469 ::windows::imp::link ! ( "secur32.dll""system" fn InitializeSecurityContextW ( phcredential : *const super::super::Credentials:: SecHandle , phcontext : *const super::super::Credentials:: SecHandle , psztargetname : *const u16 , fcontextreq : ISC_REQ_FLAGS , reserved1 : u32 , targetdatarep : u32 , pinput : *const SecBufferDesc , reserved2 : u32 , phnewcontext : *mut super::super::Credentials:: SecHandle , poutput : *mut SecBufferDesc , pfcontextattr : *mut u32 , ptsexpiry : *mut i64 ) -> :: windows::core::HRESULT );
470 InitializeSecurityContextW(
471 ::core::mem::transmute(phcredential.unwrap_or(::std::ptr::null())),
472 ::core::mem::transmute(phcontext.unwrap_or(::std::ptr::null())),
473 ::core::mem::transmute(psztargetname.unwrap_or(::std::ptr::null())),
474 fcontextreq,
475 reserved1,
476 targetdatarep,
477 ::core::mem::transmute(pinput.unwrap_or(::std::ptr::null())),
478 reserved2,
479 ::core::mem::transmute(phnewcontext.unwrap_or(::std::ptr::null_mut())),
480 ::core::mem::transmute(poutput.unwrap_or(::std::ptr::null_mut())),
481 pfcontextattr,
482 ::core::mem::transmute(ptsexpiry.unwrap_or(::std::ptr::null_mut())),
483 )
484}
485#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
486#[cfg(feature = "Win32_Foundation")]
487#[inline]
488pub unsafe fn LsaAddAccountRights<P0, P1>(policyhandle: P0, accountsid: P1, userrights: &[super::super::super::Foundation::UNICODE_STRING]) -> ::windows::core::Result<()>
489where
490 P0: ::windows::core::IntoParam<LSA_HANDLE>,
491 P1: ::windows::core::IntoParam<super::super::super::Foundation::PSID>,
492{
493 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaAddAccountRights ( policyhandle : LSA_HANDLE , accountsid : super::super::super::Foundation:: PSID , userrights : *const super::super::super::Foundation:: UNICODE_STRING , countofrights : u32 ) -> super::super::super::Foundation:: NTSTATUS );
494 LsaAddAccountRights(policyhandle.into_param().abi(), accountsid.into_param().abi(), ::core::mem::transmute(userrights.as_ptr()), userrights.len() as _).ok()
495}
496#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
497#[cfg(feature = "Win32_Foundation")]
498#[inline]
499pub unsafe fn LsaCallAuthenticationPackage<P0>(lsahandle: P0, authenticationpackage: u32, protocolsubmitbuffer: *const ::core::ffi::c_void, submitbufferlength: u32, protocolreturnbuffer: ::core::option::Option<*mut *mut ::core::ffi::c_void>, returnbufferlength: ::core::option::Option<*mut u32>, protocolstatus: ::core::option::Option<*mut i32>) -> ::windows::core::Result<()>
500where
501 P0: ::windows::core::IntoParam<super::super::super::Foundation::HANDLE>,
502{
503 ::windows::imp::link ! ( "secur32.dll""system" 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 );
504 LsaCallAuthenticationPackage(lsahandle.into_param().abi(), authenticationpackage, protocolsubmitbuffer, submitbufferlength, ::core::mem::transmute(protocolreturnbuffer.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(returnbufferlength.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(protocolstatus.unwrap_or(::std::ptr::null_mut()))).ok()
505}
506#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
507#[cfg(feature = "Win32_Foundation")]
508#[inline]
509pub unsafe fn LsaClose<P0>(objecthandle: P0) -> ::windows::core::Result<()>
510where
511 P0: ::windows::core::IntoParam<LSA_HANDLE>,
512{
513 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaClose ( objecthandle : LSA_HANDLE ) -> super::super::super::Foundation:: NTSTATUS );
514 LsaClose(objecthandle.into_param().abi()).ok()
515}
516#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
517#[cfg(feature = "Win32_Foundation")]
518#[inline]
519pub unsafe fn LsaConnectUntrusted(lsahandle: *mut super::super::super::Foundation::HANDLE) -> ::windows::core::Result<()> {
520 ::windows::imp::link ! ( "secur32.dll""system" fn LsaConnectUntrusted ( lsahandle : *mut super::super::super::Foundation:: HANDLE ) -> super::super::super::Foundation:: NTSTATUS );
521 LsaConnectUntrusted(lsahandle).ok()
522}
523#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
524#[cfg(feature = "Win32_Foundation")]
525#[inline]
526pub unsafe fn LsaCreateTrustedDomainEx<P0>(policyhandle: P0, trusteddomaininformation: *const TRUSTED_DOMAIN_INFORMATION_EX, authenticationinformation: *const TRUSTED_DOMAIN_AUTH_INFORMATION, desiredaccess: u32, trusteddomainhandle: *mut LSA_HANDLE) -> ::windows::core::Result<()>
527where
528 P0: ::windows::core::IntoParam<LSA_HANDLE>,
529{
530 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaCreateTrustedDomainEx ( policyhandle : LSA_HANDLE , trusteddomaininformation : *const TRUSTED_DOMAIN_INFORMATION_EX , authenticationinformation : *const TRUSTED_DOMAIN_AUTH_INFORMATION , desiredaccess : u32 , trusteddomainhandle : *mut LSA_HANDLE ) -> super::super::super::Foundation:: NTSTATUS );
531 LsaCreateTrustedDomainEx(policyhandle.into_param().abi(), trusteddomaininformation, authenticationinformation, desiredaccess, trusteddomainhandle).ok()
532}
533#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
534#[cfg(feature = "Win32_Foundation")]
535#[inline]
536pub unsafe fn LsaDeleteTrustedDomain<P0, P1>(policyhandle: P0, trusteddomainsid: P1) -> ::windows::core::Result<()>
537where
538 P0: ::windows::core::IntoParam<LSA_HANDLE>,
539 P1: ::windows::core::IntoParam<super::super::super::Foundation::PSID>,
540{
541 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaDeleteTrustedDomain ( policyhandle : LSA_HANDLE , trusteddomainsid : super::super::super::Foundation:: PSID ) -> super::super::super::Foundation:: NTSTATUS );
542 LsaDeleteTrustedDomain(policyhandle.into_param().abi(), trusteddomainsid.into_param().abi()).ok()
543}
544#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
545#[cfg(feature = "Win32_Foundation")]
546#[inline]
547pub unsafe fn LsaDeregisterLogonProcess<P0>(lsahandle: P0) -> ::windows::core::Result<()>
548where
549 P0: ::windows::core::IntoParam<super::super::super::Foundation::HANDLE>,
550{
551 ::windows::imp::link ! ( "secur32.dll""system" fn LsaDeregisterLogonProcess ( lsahandle : super::super::super::Foundation:: HANDLE ) -> super::super::super::Foundation:: NTSTATUS );
552 LsaDeregisterLogonProcess(lsahandle.into_param().abi()).ok()
553}
554#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
555#[cfg(feature = "Win32_Foundation")]
556#[inline]
557pub unsafe fn LsaEnumerateAccountRights<P0, P1>(policyhandle: P0, accountsid: P1, userrights: *mut *mut super::super::super::Foundation::UNICODE_STRING, countofrights: *mut u32) -> ::windows::core::Result<()>
558where
559 P0: ::windows::core::IntoParam<LSA_HANDLE>,
560 P1: ::windows::core::IntoParam<super::super::super::Foundation::PSID>,
561{
562 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaEnumerateAccountRights ( policyhandle : LSA_HANDLE , accountsid : super::super::super::Foundation:: PSID , userrights : *mut *mut super::super::super::Foundation:: UNICODE_STRING , countofrights : *mut u32 ) -> super::super::super::Foundation:: NTSTATUS );
563 LsaEnumerateAccountRights(policyhandle.into_param().abi(), accountsid.into_param().abi(), userrights, countofrights).ok()
564}
565#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
566#[cfg(feature = "Win32_Foundation")]
567#[inline]
568pub unsafe fn LsaEnumerateAccountsWithUserRight<P0>(policyhandle: P0, userright: ::core::option::Option<*const super::super::super::Foundation::UNICODE_STRING>, buffer: *mut *mut ::core::ffi::c_void, countreturned: *mut u32) -> ::windows::core::Result<()>
569where
570 P0: ::windows::core::IntoParam<LSA_HANDLE>,
571{
572 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaEnumerateAccountsWithUserRight ( policyhandle : LSA_HANDLE , userright : *const super::super::super::Foundation:: UNICODE_STRING , buffer : *mut *mut ::core::ffi::c_void , countreturned : *mut u32 ) -> super::super::super::Foundation:: NTSTATUS );
573 LsaEnumerateAccountsWithUserRight(policyhandle.into_param().abi(), ::core::mem::transmute(userright.unwrap_or(::std::ptr::null())), buffer, countreturned).ok()
574}
575#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
576#[cfg(feature = "Win32_Foundation")]
577#[inline]
578pub unsafe fn LsaEnumerateLogonSessions(logonsessioncount: *mut u32, logonsessionlist: *mut *mut super::super::super::Foundation::LUID) -> ::windows::core::Result<()> {
579 ::windows::imp::link ! ( "secur32.dll""system" fn LsaEnumerateLogonSessions ( logonsessioncount : *mut u32 , logonsessionlist : *mut *mut super::super::super::Foundation:: LUID ) -> super::super::super::Foundation:: NTSTATUS );
580 LsaEnumerateLogonSessions(logonsessioncount, logonsessionlist).ok()
581}
582#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
583#[cfg(feature = "Win32_Foundation")]
584#[inline]
585pub unsafe fn LsaEnumerateTrustedDomains<P0>(policyhandle: P0, enumerationcontext: *mut u32, buffer: *mut *mut ::core::ffi::c_void, preferedmaximumlength: u32, countreturned: *mut u32) -> ::windows::core::Result<()>
586where
587 P0: ::windows::core::IntoParam<LSA_HANDLE>,
588{
589 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaEnumerateTrustedDomains ( policyhandle : LSA_HANDLE , enumerationcontext : *mut u32 , buffer : *mut *mut ::core::ffi::c_void , preferedmaximumlength : u32 , countreturned : *mut u32 ) -> super::super::super::Foundation:: NTSTATUS );
590 LsaEnumerateTrustedDomains(policyhandle.into_param().abi(), enumerationcontext, buffer, preferedmaximumlength, countreturned).ok()
591}
592#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
593#[cfg(feature = "Win32_Foundation")]
594#[inline]
595pub unsafe fn LsaEnumerateTrustedDomainsEx<P0>(policyhandle: P0, enumerationcontext: *mut u32, buffer: *mut *mut ::core::ffi::c_void, preferedmaximumlength: u32, countreturned: *mut u32) -> ::windows::core::Result<()>
596where
597 P0: ::windows::core::IntoParam<LSA_HANDLE>,
598{
599 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaEnumerateTrustedDomainsEx ( policyhandle : LSA_HANDLE , enumerationcontext : *mut u32 , buffer : *mut *mut ::core::ffi::c_void , preferedmaximumlength : u32 , countreturned : *mut u32 ) -> super::super::super::Foundation:: NTSTATUS );
600 LsaEnumerateTrustedDomainsEx(policyhandle.into_param().abi(), enumerationcontext, buffer, preferedmaximumlength, countreturned).ok()
601}
602#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
603#[cfg(feature = "Win32_Foundation")]
604#[inline]
605pub unsafe fn LsaFreeMemory(buffer: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()> {
606 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaFreeMemory ( buffer : *const ::core::ffi::c_void ) -> super::super::super::Foundation:: NTSTATUS );
607 LsaFreeMemory(::core::mem::transmute(buffer.unwrap_or(::std::ptr::null()))).ok()
608}
609#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
610#[cfg(feature = "Win32_Foundation")]
611#[inline]
612pub unsafe fn LsaFreeReturnBuffer(buffer: *const ::core::ffi::c_void) -> ::windows::core::Result<()> {
613 ::windows::imp::link ! ( "secur32.dll""system" fn LsaFreeReturnBuffer ( buffer : *const ::core::ffi::c_void ) -> super::super::super::Foundation:: NTSTATUS );
614 LsaFreeReturnBuffer(buffer).ok()
615}
616#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
617#[cfg(feature = "Win32_Foundation")]
618#[inline]
619pub unsafe fn LsaGetAppliedCAPIDs(systemname: ::core::option::Option<*const super::super::super::Foundation::UNICODE_STRING>, capids: *mut *mut super::super::super::Foundation::PSID, capidcount: *mut u32) -> ::windows::core::Result<()> {
620 ::windows::imp::link ! ( "advapi32.dll""system" 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 );
621 LsaGetAppliedCAPIDs(::core::mem::transmute(systemname.unwrap_or(::std::ptr::null())), capids, capidcount).ok()
622}
623#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
624#[cfg(feature = "Win32_Foundation")]
625#[inline]
626pub unsafe fn LsaGetLogonSessionData(logonid: *const super::super::super::Foundation::LUID, pplogonsessiondata: *mut *mut SECURITY_LOGON_SESSION_DATA) -> ::windows::core::Result<()> {
627 ::windows::imp::link ! ( "secur32.dll""system" fn LsaGetLogonSessionData ( logonid : *const super::super::super::Foundation:: LUID , pplogonsessiondata : *mut *mut SECURITY_LOGON_SESSION_DATA ) -> super::super::super::Foundation:: NTSTATUS );
628 LsaGetLogonSessionData(logonid, pplogonsessiondata).ok()
629}
630#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`*"]
631#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
632#[inline]
633pub unsafe fn LsaLogonUser<P0>(lsahandle: P0, originname: *const super::super::super::System::Kernel::STRING, logontype: SECURITY_LOGON_TYPE, authenticationpackage: u32, authenticationinformation: *const ::core::ffi::c_void, authenticationinformationlength: u32, localgroups: ::core::option::Option<*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) -> ::windows::core::Result<()>
634where
635 P0: ::windows::core::IntoParam<super::super::super::Foundation::HANDLE>,
636{
637 ::windows::imp::link ! ( "secur32.dll""system" fn 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:: NTSTATUS );
638 LsaLogonUser(lsahandle.into_param().abi(), originname, logontype, authenticationpackage, authenticationinformation, authenticationinformationlength, ::core::mem::transmute(localgroups.unwrap_or(::std::ptr::null())), sourcecontext, profilebuffer, profilebufferlength, logonid, token, quotas, substatus).ok()
639}
640#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`*"]
641#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
642#[inline]
643pub unsafe fn LsaLookupAuthenticationPackage<P0>(lsahandle: P0, packagename: *const super::super::super::System::Kernel::STRING, authenticationpackage: *mut u32) -> ::windows::core::Result<()>
644where
645 P0: ::windows::core::IntoParam<super::super::super::Foundation::HANDLE>,
646{
647 ::windows::imp::link ! ( "secur32.dll""system" fn LsaLookupAuthenticationPackage ( lsahandle : super::super::super::Foundation:: HANDLE , packagename : *const super::super::super::System::Kernel:: STRING , authenticationpackage : *mut u32 ) -> super::super::super::Foundation:: NTSTATUS );
648 LsaLookupAuthenticationPackage(lsahandle.into_param().abi(), packagename, authenticationpackage).ok()
649}
650#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
651#[cfg(feature = "Win32_Foundation")]
652#[inline]
653pub unsafe fn LsaLookupNames<P0>(policyhandle: P0, count: u32, names: *const super::super::super::Foundation::UNICODE_STRING, referenceddomains: *mut *mut LSA_REFERENCED_DOMAIN_LIST, sids: *mut *mut LSA_TRANSLATED_SID) -> ::windows::core::Result<()>
654where
655 P0: ::windows::core::IntoParam<LSA_HANDLE>,
656{
657 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaLookupNames ( policyhandle : LSA_HANDLE , 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 );
658 LsaLookupNames(policyhandle.into_param().abi(), count, names, referenceddomains, sids).ok()
659}
660#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
661#[cfg(feature = "Win32_Foundation")]
662#[inline]
663pub unsafe fn LsaLookupNames2<P0>(policyhandle: P0, 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) -> ::windows::core::Result<()>
664where
665 P0: ::windows::core::IntoParam<LSA_HANDLE>,
666{
667 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaLookupNames2 ( policyhandle : LSA_HANDLE , 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 );
668 LsaLookupNames2(policyhandle.into_param().abi(), flags, count, names, referenceddomains, sids).ok()
669}
670#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
671#[cfg(feature = "Win32_Foundation")]
672#[inline]
673pub unsafe fn LsaLookupSids<P0>(policyhandle: P0, count: u32, sids: *const super::super::super::Foundation::PSID, referenceddomains: *mut *mut LSA_REFERENCED_DOMAIN_LIST, names: *mut *mut LSA_TRANSLATED_NAME) -> ::windows::core::Result<()>
674where
675 P0: ::windows::core::IntoParam<LSA_HANDLE>,
676{
677 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaLookupSids ( policyhandle : LSA_HANDLE , 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 );
678 LsaLookupSids(policyhandle.into_param().abi(), count, sids, referenceddomains, names).ok()
679}
680#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
681#[cfg(feature = "Win32_Foundation")]
682#[inline]
683pub unsafe fn LsaLookupSids2<P0>(policyhandle: P0, lookupoptions: u32, count: u32, sids: *const super::super::super::Foundation::PSID, referenceddomains: *mut *mut LSA_REFERENCED_DOMAIN_LIST, names: *mut *mut LSA_TRANSLATED_NAME) -> ::windows::core::Result<()>
684where
685 P0: ::windows::core::IntoParam<LSA_HANDLE>,
686{
687 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaLookupSids2 ( policyhandle : LSA_HANDLE , 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 );
688 LsaLookupSids2(policyhandle.into_param().abi(), lookupoptions, count, sids, referenceddomains, names).ok()
689}
690#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
691#[cfg(feature = "Win32_Foundation")]
692#[inline]
693pub unsafe fn LsaNtStatusToWinError<P0>(status: P0) -> u32
694where
695 P0: ::windows::core::IntoParam<super::super::super::Foundation::NTSTATUS>,
696{
697 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaNtStatusToWinError ( status : super::super::super::Foundation:: NTSTATUS ) -> u32 );
698 LsaNtStatusToWinError(status.into_param().abi())
699}
700#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_System_WindowsProgramming\"`*"]
701#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_WindowsProgramming"))]
702#[inline]
703pub unsafe fn LsaOpenPolicy(systemname: ::core::option::Option<*const super::super::super::Foundation::UNICODE_STRING>, objectattributes: *const super::super::super::System::WindowsProgramming::OBJECT_ATTRIBUTES, desiredaccess: u32, policyhandle: *mut LSA_HANDLE) -> ::windows::core::Result<()> {
704 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaOpenPolicy ( systemname : *const super::super::super::Foundation:: UNICODE_STRING , objectattributes : *const super::super::super::System::WindowsProgramming:: OBJECT_ATTRIBUTES , desiredaccess : u32 , policyhandle : *mut LSA_HANDLE ) -> super::super::super::Foundation:: NTSTATUS );
705 LsaOpenPolicy(::core::mem::transmute(systemname.unwrap_or(::std::ptr::null())), objectattributes, desiredaccess, policyhandle).ok()
706}
707#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
708#[cfg(feature = "Win32_Foundation")]
709#[inline]
710pub unsafe fn LsaOpenTrustedDomainByName<P0>(policyhandle: P0, trusteddomainname: *const super::super::super::Foundation::UNICODE_STRING, desiredaccess: u32, trusteddomainhandle: *mut LSA_HANDLE) -> ::windows::core::Result<()>
711where
712 P0: ::windows::core::IntoParam<LSA_HANDLE>,
713{
714 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaOpenTrustedDomainByName ( policyhandle : LSA_HANDLE , trusteddomainname : *const super::super::super::Foundation:: UNICODE_STRING , desiredaccess : u32 , trusteddomainhandle : *mut LSA_HANDLE ) -> super::super::super::Foundation:: NTSTATUS );
715 LsaOpenTrustedDomainByName(policyhandle.into_param().abi(), trusteddomainname, desiredaccess, trusteddomainhandle).ok()
716}
717#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
718#[cfg(feature = "Win32_Foundation")]
719#[inline]
720pub unsafe fn LsaQueryCAPs(capids: ::core::option::Option<&[super::super::super::Foundation::PSID]>, caps: *mut *mut CENTRAL_ACCESS_POLICY, capcount: *mut u32) -> ::windows::core::Result<()> {
721 ::windows::imp::link ! ( "advapi32.dll""system" 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 );
722 LsaQueryCAPs(::core::mem::transmute(capids.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), capids.as_deref().map_or(0, |slice| slice.len() as _), caps, capcount).ok()
723}
724#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
725#[cfg(feature = "Win32_Foundation")]
726#[inline]
727pub unsafe fn LsaQueryDomainInformationPolicy<P0>(policyhandle: P0, informationclass: POLICY_DOMAIN_INFORMATION_CLASS, buffer: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
728where
729 P0: ::windows::core::IntoParam<LSA_HANDLE>,
730{
731 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaQueryDomainInformationPolicy ( policyhandle : LSA_HANDLE , informationclass : POLICY_DOMAIN_INFORMATION_CLASS , buffer : *mut *mut ::core::ffi::c_void ) -> super::super::super::Foundation:: NTSTATUS );
732 LsaQueryDomainInformationPolicy(policyhandle.into_param().abi(), informationclass, buffer).ok()
733}
734#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
735#[cfg(feature = "Win32_Foundation")]
736#[inline]
737pub unsafe fn LsaQueryForestTrustInformation<P0>(policyhandle: P0, trusteddomainname: *const super::super::super::Foundation::UNICODE_STRING, foresttrustinfo: *mut *mut LSA_FOREST_TRUST_INFORMATION) -> ::windows::core::Result<()>
738where
739 P0: ::windows::core::IntoParam<LSA_HANDLE>,
740{
741 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaQueryForestTrustInformation ( policyhandle : LSA_HANDLE , trusteddomainname : *const super::super::super::Foundation:: UNICODE_STRING , foresttrustinfo : *mut *mut LSA_FOREST_TRUST_INFORMATION ) -> super::super::super::Foundation:: NTSTATUS );
742 LsaQueryForestTrustInformation(policyhandle.into_param().abi(), trusteddomainname, foresttrustinfo).ok()
743}
744#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
745#[cfg(feature = "Win32_Foundation")]
746#[inline]
747pub unsafe fn LsaQueryInformationPolicy<P0>(policyhandle: P0, informationclass: POLICY_INFORMATION_CLASS, buffer: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
748where
749 P0: ::windows::core::IntoParam<LSA_HANDLE>,
750{
751 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaQueryInformationPolicy ( policyhandle : LSA_HANDLE , informationclass : POLICY_INFORMATION_CLASS , buffer : *mut *mut ::core::ffi::c_void ) -> super::super::super::Foundation:: NTSTATUS );
752 LsaQueryInformationPolicy(policyhandle.into_param().abi(), informationclass, buffer).ok()
753}
754#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
755#[cfg(feature = "Win32_Foundation")]
756#[inline]
757pub unsafe fn LsaQueryTrustedDomainInfo<P0, P1>(policyhandle: P0, trusteddomainsid: P1, informationclass: TRUSTED_INFORMATION_CLASS, buffer: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
758where
759 P0: ::windows::core::IntoParam<LSA_HANDLE>,
760 P1: ::windows::core::IntoParam<super::super::super::Foundation::PSID>,
761{
762 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaQueryTrustedDomainInfo ( policyhandle : LSA_HANDLE , trusteddomainsid : super::super::super::Foundation:: PSID , informationclass : TRUSTED_INFORMATION_CLASS , buffer : *mut *mut ::core::ffi::c_void ) -> super::super::super::Foundation:: NTSTATUS );
763 LsaQueryTrustedDomainInfo(policyhandle.into_param().abi(), trusteddomainsid.into_param().abi(), informationclass, buffer).ok()
764}
765#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
766#[cfg(feature = "Win32_Foundation")]
767#[inline]
768pub unsafe fn LsaQueryTrustedDomainInfoByName<P0>(policyhandle: P0, trusteddomainname: *const super::super::super::Foundation::UNICODE_STRING, informationclass: TRUSTED_INFORMATION_CLASS, buffer: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
769where
770 P0: ::windows::core::IntoParam<LSA_HANDLE>,
771{
772 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaQueryTrustedDomainInfoByName ( policyhandle : LSA_HANDLE , trusteddomainname : *const super::super::super::Foundation:: UNICODE_STRING , informationclass : TRUSTED_INFORMATION_CLASS , buffer : *mut *mut ::core::ffi::c_void ) -> super::super::super::Foundation:: NTSTATUS );
773 LsaQueryTrustedDomainInfoByName(policyhandle.into_param().abi(), trusteddomainname, informationclass, buffer).ok()
774}
775#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`*"]
776#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
777#[inline]
778pub unsafe fn LsaRegisterLogonProcess(logonprocessname: *const super::super::super::System::Kernel::STRING, lsahandle: *mut super::super::super::Foundation::HANDLE, securitymode: *mut u32) -> ::windows::core::Result<()> {
779 ::windows::imp::link ! ( "secur32.dll""system" fn LsaRegisterLogonProcess ( logonprocessname : *const super::super::super::System::Kernel:: STRING , lsahandle : *mut super::super::super::Foundation:: HANDLE , securitymode : *mut u32 ) -> super::super::super::Foundation:: NTSTATUS );
780 LsaRegisterLogonProcess(logonprocessname, lsahandle, securitymode).ok()
781}
782#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
783#[cfg(feature = "Win32_Foundation")]
784#[inline]
785pub unsafe fn LsaRegisterPolicyChangeNotification<P0>(informationclass: POLICY_NOTIFICATION_INFORMATION_CLASS, notificationeventhandle: P0) -> ::windows::core::Result<()>
786where
787 P0: ::windows::core::IntoParam<super::super::super::Foundation::HANDLE>,
788{
789 ::windows::imp::link ! ( "secur32.dll""system" fn LsaRegisterPolicyChangeNotification ( informationclass : POLICY_NOTIFICATION_INFORMATION_CLASS , notificationeventhandle : super::super::super::Foundation:: HANDLE ) -> super::super::super::Foundation:: NTSTATUS );
790 LsaRegisterPolicyChangeNotification(informationclass, notificationeventhandle.into_param().abi()).ok()
791}
792#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
793#[cfg(feature = "Win32_Foundation")]
794#[inline]
795pub unsafe fn LsaRemoveAccountRights<P0, P1, P2>(policyhandle: P0, accountsid: P1, allrights: P2, userrights: ::core::option::Option<&[super::super::super::Foundation::UNICODE_STRING]>) -> ::windows::core::Result<()>
796where
797 P0: ::windows::core::IntoParam<LSA_HANDLE>,
798 P1: ::windows::core::IntoParam<super::super::super::Foundation::PSID>,
799 P2: ::windows::core::IntoParam<super::super::super::Foundation::BOOLEAN>,
800{
801 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaRemoveAccountRights ( policyhandle : LSA_HANDLE , 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 );
802 LsaRemoveAccountRights(policyhandle.into_param().abi(), accountsid.into_param().abi(), allrights.into_param().abi(), ::core::mem::transmute(userrights.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), userrights.as_deref().map_or(0, |slice| slice.len() as _)).ok()
803}
804#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
805#[cfg(feature = "Win32_Foundation")]
806#[inline]
807pub unsafe fn LsaRetrievePrivateData<P0>(policyhandle: P0, keyname: *const super::super::super::Foundation::UNICODE_STRING, privatedata: *mut *mut super::super::super::Foundation::UNICODE_STRING) -> ::windows::core::Result<()>
808where
809 P0: ::windows::core::IntoParam<LSA_HANDLE>,
810{
811 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaRetrievePrivateData ( policyhandle : LSA_HANDLE , keyname : *const super::super::super::Foundation:: UNICODE_STRING , privatedata : *mut *mut super::super::super::Foundation:: UNICODE_STRING ) -> super::super::super::Foundation:: NTSTATUS );
812 LsaRetrievePrivateData(policyhandle.into_param().abi(), keyname, privatedata).ok()
813}
814#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
815#[cfg(feature = "Win32_Foundation")]
816#[inline]
817pub unsafe fn LsaSetCAPs(capdns: ::core::option::Option<&[super::super::super::Foundation::UNICODE_STRING]>, flags: u32) -> ::windows::core::Result<()> {
818 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaSetCAPs ( capdns : *const super::super::super::Foundation:: UNICODE_STRING , capdncount : u32 , flags : u32 ) -> super::super::super::Foundation:: NTSTATUS );
819 LsaSetCAPs(::core::mem::transmute(capdns.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), capdns.as_deref().map_or(0, |slice| slice.len() as _), flags).ok()
820}
821#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
822#[cfg(feature = "Win32_Foundation")]
823#[inline]
824pub unsafe fn LsaSetDomainInformationPolicy<P0>(policyhandle: P0, informationclass: POLICY_DOMAIN_INFORMATION_CLASS, buffer: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()>
825where
826 P0: ::windows::core::IntoParam<LSA_HANDLE>,
827{
828 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaSetDomainInformationPolicy ( policyhandle : LSA_HANDLE , informationclass : POLICY_DOMAIN_INFORMATION_CLASS , buffer : *const ::core::ffi::c_void ) -> super::super::super::Foundation:: NTSTATUS );
829 LsaSetDomainInformationPolicy(policyhandle.into_param().abi(), informationclass, ::core::mem::transmute(buffer.unwrap_or(::std::ptr::null()))).ok()
830}
831#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
832#[cfg(feature = "Win32_Foundation")]
833#[inline]
834pub unsafe fn LsaSetForestTrustInformation<P0, P1>(policyhandle: P0, trusteddomainname: *const super::super::super::Foundation::UNICODE_STRING, foresttrustinfo: *const LSA_FOREST_TRUST_INFORMATION, checkonly: P1, collisioninfo: *mut *mut LSA_FOREST_TRUST_COLLISION_INFORMATION) -> ::windows::core::Result<()>
835where
836 P0: ::windows::core::IntoParam<LSA_HANDLE>,
837 P1: ::windows::core::IntoParam<super::super::super::Foundation::BOOLEAN>,
838{
839 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaSetForestTrustInformation ( policyhandle : LSA_HANDLE , 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 );
840 LsaSetForestTrustInformation(policyhandle.into_param().abi(), trusteddomainname, foresttrustinfo, checkonly.into_param().abi(), collisioninfo).ok()
841}
842#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
843#[cfg(feature = "Win32_Foundation")]
844#[inline]
845pub unsafe fn LsaSetInformationPolicy<P0>(policyhandle: P0, informationclass: POLICY_INFORMATION_CLASS, buffer: *const ::core::ffi::c_void) -> ::windows::core::Result<()>
846where
847 P0: ::windows::core::IntoParam<LSA_HANDLE>,
848{
849 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaSetInformationPolicy ( policyhandle : LSA_HANDLE , informationclass : POLICY_INFORMATION_CLASS , buffer : *const ::core::ffi::c_void ) -> super::super::super::Foundation:: NTSTATUS );
850 LsaSetInformationPolicy(policyhandle.into_param().abi(), informationclass, buffer).ok()
851}
852#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
853#[cfg(feature = "Win32_Foundation")]
854#[inline]
855pub unsafe fn LsaSetTrustedDomainInfoByName<P0>(policyhandle: P0, trusteddomainname: *const super::super::super::Foundation::UNICODE_STRING, informationclass: TRUSTED_INFORMATION_CLASS, buffer: *const ::core::ffi::c_void) -> ::windows::core::Result<()>
856where
857 P0: ::windows::core::IntoParam<LSA_HANDLE>,
858{
859 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaSetTrustedDomainInfoByName ( policyhandle : LSA_HANDLE , trusteddomainname : *const super::super::super::Foundation:: UNICODE_STRING , informationclass : TRUSTED_INFORMATION_CLASS , buffer : *const ::core::ffi::c_void ) -> super::super::super::Foundation:: NTSTATUS );
860 LsaSetTrustedDomainInfoByName(policyhandle.into_param().abi(), trusteddomainname, informationclass, buffer).ok()
861}
862#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
863#[cfg(feature = "Win32_Foundation")]
864#[inline]
865pub unsafe fn LsaSetTrustedDomainInformation<P0, P1>(policyhandle: P0, trusteddomainsid: P1, informationclass: TRUSTED_INFORMATION_CLASS, buffer: *const ::core::ffi::c_void) -> ::windows::core::Result<()>
866where
867 P0: ::windows::core::IntoParam<LSA_HANDLE>,
868 P1: ::windows::core::IntoParam<super::super::super::Foundation::PSID>,
869{
870 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaSetTrustedDomainInformation ( policyhandle : LSA_HANDLE , trusteddomainsid : super::super::super::Foundation:: PSID , informationclass : TRUSTED_INFORMATION_CLASS , buffer : *const ::core::ffi::c_void ) -> super::super::super::Foundation:: NTSTATUS );
871 LsaSetTrustedDomainInformation(policyhandle.into_param().abi(), trusteddomainsid.into_param().abi(), informationclass, buffer).ok()
872}
873#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
874#[cfg(feature = "Win32_Foundation")]
875#[inline]
876pub unsafe fn LsaStorePrivateData<P0>(policyhandle: P0, keyname: *const super::super::super::Foundation::UNICODE_STRING, privatedata: ::core::option::Option<*const super::super::super::Foundation::UNICODE_STRING>) -> ::windows::core::Result<()>
877where
878 P0: ::windows::core::IntoParam<LSA_HANDLE>,
879{
880 ::windows::imp::link ! ( "advapi32.dll""system" fn LsaStorePrivateData ( policyhandle : LSA_HANDLE , keyname : *const super::super::super::Foundation:: UNICODE_STRING , privatedata : *const super::super::super::Foundation:: UNICODE_STRING ) -> super::super::super::Foundation:: NTSTATUS );
881 LsaStorePrivateData(policyhandle.into_param().abi(), keyname, ::core::mem::transmute(privatedata.unwrap_or(::std::ptr::null()))).ok()
882}
883#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
884#[cfg(feature = "Win32_Foundation")]
885#[inline]
886pub unsafe fn LsaUnregisterPolicyChangeNotification<P0>(informationclass: POLICY_NOTIFICATION_INFORMATION_CLASS, notificationeventhandle: P0) -> ::windows::core::Result<()>
887where
888 P0: ::windows::core::IntoParam<super::super::super::Foundation::HANDLE>,
889{
890 ::windows::imp::link ! ( "secur32.dll""system" fn LsaUnregisterPolicyChangeNotification ( informationclass : POLICY_NOTIFICATION_INFORMATION_CLASS , notificationeventhandle : super::super::super::Foundation:: HANDLE ) -> super::super::super::Foundation:: NTSTATUS );
891 LsaUnregisterPolicyChangeNotification(informationclass, notificationeventhandle.into_param().abi()).ok()
892}
893#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
894#[cfg(feature = "Win32_Security_Credentials")]
895#[inline]
896pub unsafe fn MakeSignature(phcontext: *const super::super::Credentials::SecHandle, fqop: u32, pmessage: *const SecBufferDesc, messageseqno: u32) -> ::windows::core::Result<()> {
897 ::windows::imp::link ! ( "secur32.dll""system" fn MakeSignature ( phcontext : *const super::super::Credentials:: SecHandle , fqop : u32 , pmessage : *const SecBufferDesc , messageseqno : u32 ) -> :: windows::core::HRESULT );
898 MakeSignature(phcontext, fqop, pmessage, messageseqno).ok()
899}
900#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
901#[cfg(feature = "Win32_Security_Credentials")]
902#[inline]
903pub unsafe fn QueryContextAttributesA(phcontext: *const super::super::Credentials::SecHandle, ulattribute: SECPKG_ATTR, pbuffer: *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
904 ::windows::imp::link ! ( "secur32.dll""system" fn QueryContextAttributesA ( phcontext : *const super::super::Credentials:: SecHandle , ulattribute : SECPKG_ATTR , pbuffer : *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
905 QueryContextAttributesA(phcontext, ulattribute, pbuffer).ok()
906}
907#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
908#[cfg(feature = "Win32_Security_Credentials")]
909#[inline]
910pub unsafe fn QueryContextAttributesExA(phcontext: *const super::super::Credentials::SecHandle, ulattribute: SECPKG_ATTR, pbuffer: *mut ::core::ffi::c_void, cbbuffer: u32) -> ::windows::core::Result<()> {
911 ::windows::imp::link ! ( "sspicli.dll""system" fn QueryContextAttributesExA ( phcontext : *const super::super::Credentials:: SecHandle , ulattribute : SECPKG_ATTR , pbuffer : *mut ::core::ffi::c_void , cbbuffer : u32 ) -> :: windows::core::HRESULT );
912 QueryContextAttributesExA(phcontext, ulattribute, pbuffer, cbbuffer).ok()
913}
914#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
915#[cfg(feature = "Win32_Security_Credentials")]
916#[inline]
917pub unsafe fn QueryContextAttributesExW(phcontext: *const super::super::Credentials::SecHandle, ulattribute: SECPKG_ATTR, pbuffer: *mut ::core::ffi::c_void, cbbuffer: u32) -> ::windows::core::Result<()> {
918 ::windows::imp::link ! ( "sspicli.dll""system" fn QueryContextAttributesExW ( phcontext : *const super::super::Credentials:: SecHandle , ulattribute : SECPKG_ATTR , pbuffer : *mut ::core::ffi::c_void , cbbuffer : u32 ) -> :: windows::core::HRESULT );
919 QueryContextAttributesExW(phcontext, ulattribute, pbuffer, cbbuffer).ok()
920}
921#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
922#[cfg(feature = "Win32_Security_Credentials")]
923#[inline]
924pub unsafe fn QueryContextAttributesW(phcontext: *const super::super::Credentials::SecHandle, ulattribute: SECPKG_ATTR, pbuffer: *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
925 ::windows::imp::link ! ( "secur32.dll""system" fn QueryContextAttributesW ( phcontext : *const super::super::Credentials:: SecHandle , ulattribute : SECPKG_ATTR , pbuffer : *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
926 QueryContextAttributesW(phcontext, ulattribute, pbuffer).ok()
927}
928#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
929#[cfg(feature = "Win32_Security_Credentials")]
930#[inline]
931pub unsafe fn QueryCredentialsAttributesA(phcredential: *const super::super::Credentials::SecHandle, ulattribute: u32, pbuffer: *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
932 ::windows::imp::link ! ( "secur32.dll""system" fn QueryCredentialsAttributesA ( phcredential : *const super::super::Credentials:: SecHandle , ulattribute : u32 , pbuffer : *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
933 QueryCredentialsAttributesA(phcredential, ulattribute, pbuffer).ok()
934}
935#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
936#[cfg(feature = "Win32_Security_Credentials")]
937#[inline]
938pub unsafe fn QueryCredentialsAttributesExA(phcredential: *const super::super::Credentials::SecHandle, ulattribute: u32, pbuffer: *mut ::core::ffi::c_void, cbbuffer: u32) -> ::windows::core::Result<()> {
939 ::windows::imp::link ! ( "sspicli.dll""system" fn QueryCredentialsAttributesExA ( phcredential : *const super::super::Credentials:: SecHandle , ulattribute : u32 , pbuffer : *mut ::core::ffi::c_void , cbbuffer : u32 ) -> :: windows::core::HRESULT );
940 QueryCredentialsAttributesExA(phcredential, ulattribute, pbuffer, cbbuffer).ok()
941}
942#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
943#[cfg(feature = "Win32_Security_Credentials")]
944#[inline]
945pub unsafe fn QueryCredentialsAttributesExW(phcredential: *const super::super::Credentials::SecHandle, ulattribute: u32, pbuffer: *mut ::core::ffi::c_void, cbbuffer: u32) -> ::windows::core::Result<()> {
946 ::windows::imp::link ! ( "sspicli.dll""system" fn QueryCredentialsAttributesExW ( phcredential : *const super::super::Credentials:: SecHandle , ulattribute : u32 , pbuffer : *mut ::core::ffi::c_void , cbbuffer : u32 ) -> :: windows::core::HRESULT );
947 QueryCredentialsAttributesExW(phcredential, ulattribute, pbuffer, cbbuffer).ok()
948}
949#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
950#[cfg(feature = "Win32_Security_Credentials")]
951#[inline]
952pub unsafe fn QueryCredentialsAttributesW(phcredential: *const super::super::Credentials::SecHandle, ulattribute: u32, pbuffer: *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
953 ::windows::imp::link ! ( "secur32.dll""system" fn QueryCredentialsAttributesW ( phcredential : *const super::super::Credentials:: SecHandle , ulattribute : u32 , pbuffer : *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
954 QueryCredentialsAttributesW(phcredential, ulattribute, pbuffer).ok()
955}
956#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
957#[cfg(feature = "Win32_Security_Credentials")]
958#[inline]
959pub unsafe fn QuerySecurityContextToken(phcontext: *const super::super::Credentials::SecHandle, token: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
960 ::windows::imp::link ! ( "secur32.dll""system" fn QuerySecurityContextToken ( phcontext : *const super::super::Credentials:: SecHandle , token : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
961 QuerySecurityContextToken(phcontext, token).ok()
962}
963#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
964#[inline]
965pub unsafe fn QuerySecurityPackageInfoA<P0>(pszpackagename: P0) -> ::windows::core::Result<*mut SecPkgInfoA>
966where
967 P0: ::windows::core::IntoParam<::windows::core::PCSTR>,
968{
969 ::windows::imp::link ! ( "secur32.dll""system" fn QuerySecurityPackageInfoA ( pszpackagename : :: windows::core::PCSTR , pppackageinfo : *mut *mut SecPkgInfoA ) -> :: windows::core::HRESULT );
970 let mut result__ = ::windows::core::zeroed::<*mut SecPkgInfoA>();
971 QuerySecurityPackageInfoA(pszpackagename.into_param().abi(), &mut result__).from_abi(result__)
972}
973#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
974#[inline]
975pub unsafe fn QuerySecurityPackageInfoW<P0>(pszpackagename: P0) -> ::windows::core::Result<*mut SecPkgInfoW>
976where
977 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
978{
979 ::windows::imp::link ! ( "secur32.dll""system" fn QuerySecurityPackageInfoW ( pszpackagename : :: windows::core::PCWSTR , pppackageinfo : *mut *mut SecPkgInfoW ) -> :: windows::core::HRESULT );
980 let mut result__ = ::windows::core::zeroed::<*mut SecPkgInfoW>();
981 QuerySecurityPackageInfoW(pszpackagename.into_param().abi(), &mut result__).from_abi(result__)
982}
983#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
984#[cfg(feature = "Win32_Security_Credentials")]
985#[inline]
986pub unsafe fn RevertSecurityContext(phcontext: *const super::super::Credentials::SecHandle) -> ::windows::core::Result<()> {
987 ::windows::imp::link ! ( "secur32.dll""system" fn RevertSecurityContext ( phcontext : *const super::super::Credentials:: SecHandle ) -> :: windows::core::HRESULT );
988 RevertSecurityContext(phcontext).ok()
989}
990#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
991#[inline]
992pub unsafe fn SLAcquireGenuineTicket<P0, P1, P2>(ppticketblob: *mut *mut ::core::ffi::c_void, pcbticketblob: *mut u32, pwsztemplateid: P0, pwszserverurl: P1, pwszclienttoken: P2) -> ::windows::core::Result<()>
993where
994 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
995 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
996 P2: ::windows::core::IntoParam<::windows::core::PCWSTR>,
997{
998 ::windows::imp::link ! ( "slcext.dll""system" fn SLAcquireGenuineTicket ( ppticketblob : *mut *mut ::core::ffi::c_void , pcbticketblob : *mut u32 , pwsztemplateid : :: windows::core::PCWSTR , pwszserverurl : :: windows::core::PCWSTR , pwszclienttoken : :: windows::core::PCWSTR ) -> :: windows::core::HRESULT );
999 SLAcquireGenuineTicket(ppticketblob, pcbticketblob, pwsztemplateid.into_param().abi(), pwszserverurl.into_param().abi(), pwszclienttoken.into_param().abi()).ok()
1000}
1001#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1002#[inline]
1003pub unsafe fn SLActivateProduct<P0>(hslc: *const ::core::ffi::c_void, pproductskuid: *const ::windows::core::GUID, cbappspecificdata: u32, pvappspecificdata: ::core::option::Option<*const ::core::ffi::c_void>, pactivationinfo: ::core::option::Option<*const SL_ACTIVATION_INFO_HEADER>, pwszproxyserver: P0, wproxyport: u16) -> ::windows::core::Result<()>
1004where
1005 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1006{
1007 ::windows::imp::link ! ( "slcext.dll""system" fn SLActivateProduct ( hslc : *const ::core::ffi::c_void , pproductskuid : *const :: windows::core::GUID , cbappspecificdata : u32 , pvappspecificdata : *const ::core::ffi::c_void , pactivationinfo : *const SL_ACTIVATION_INFO_HEADER , pwszproxyserver : :: windows::core::PCWSTR , wproxyport : u16 ) -> :: windows::core::HRESULT );
1008 SLActivateProduct(hslc, pproductskuid, cbappspecificdata, ::core::mem::transmute(pvappspecificdata.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pactivationinfo.unwrap_or(::std::ptr::null())), pwszproxyserver.into_param().abi(), wproxyport).ok()
1009}
1010#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1011#[inline]
1012pub unsafe fn SLClose(hslc: *const ::core::ffi::c_void) -> ::windows::core::Result<()> {
1013 ::windows::imp::link ! ( "slc.dll""system" fn SLClose ( hslc : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
1014 SLClose(hslc).ok()
1015}
1016#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1017#[inline]
1018pub unsafe fn SLConsumeRight<P0>(hslc: *const ::core::ffi::c_void, pappid: *const ::windows::core::GUID, pproductskuid: ::core::option::Option<*const ::windows::core::GUID>, pwszrightname: P0, pvreserved: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows::core::Result<()>
1019where
1020 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1021{
1022 ::windows::imp::link ! ( "slc.dll""system" fn SLConsumeRight ( hslc : *const ::core::ffi::c_void , pappid : *const :: windows::core::GUID , pproductskuid : *const :: windows::core::GUID , pwszrightname : :: windows::core::PCWSTR , pvreserved : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
1023 SLConsumeRight(hslc, pappid, ::core::mem::transmute(pproductskuid.unwrap_or(::std::ptr::null())), pwszrightname.into_param().abi(), ::core::mem::transmute(pvreserved.unwrap_or(::std::ptr::null()))).ok()
1024}
1025#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1026#[inline]
1027pub unsafe fn SLDepositOfflineConfirmationId<P0, P1>(hslc: *const ::core::ffi::c_void, pproductskuid: *const ::windows::core::GUID, pwszinstallationid: P0, pwszconfirmationid: P1) -> ::windows::core::Result<()>
1028where
1029 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1030 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1031{
1032 ::windows::imp::link ! ( "slc.dll""system" fn SLDepositOfflineConfirmationId ( hslc : *const ::core::ffi::c_void , pproductskuid : *const :: windows::core::GUID , pwszinstallationid : :: windows::core::PCWSTR , pwszconfirmationid : :: windows::core::PCWSTR ) -> :: windows::core::HRESULT );
1033 SLDepositOfflineConfirmationId(hslc, pproductskuid, pwszinstallationid.into_param().abi(), pwszconfirmationid.into_param().abi()).ok()
1034}
1035#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1036#[inline]
1037pub unsafe fn SLDepositOfflineConfirmationIdEx<P0, P1>(hslc: *const ::core::ffi::c_void, pproductskuid: ::core::option::Option<*const ::windows::core::GUID>, pactivationinfo: ::core::option::Option<*const SL_ACTIVATION_INFO_HEADER>, pwszinstallationid: P0, pwszconfirmationid: P1) -> ::windows::core::Result<()>
1038where
1039 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1040 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1041{
1042 ::windows::imp::link ! ( "slc.dll""system" fn SLDepositOfflineConfirmationIdEx ( hslc : *const ::core::ffi::c_void , pproductskuid : *const :: windows::core::GUID , pactivationinfo : *const SL_ACTIVATION_INFO_HEADER , pwszinstallationid : :: windows::core::PCWSTR , pwszconfirmationid : :: windows::core::PCWSTR ) -> :: windows::core::HRESULT );
1043 SLDepositOfflineConfirmationIdEx(hslc, ::core::mem::transmute(pproductskuid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pactivationinfo.unwrap_or(::std::ptr::null())), pwszinstallationid.into_param().abi(), pwszconfirmationid.into_param().abi()).ok()
1044}
1045#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1046#[inline]
1047pub unsafe fn SLFireEvent<P0>(hslc: *const ::core::ffi::c_void, pwszeventid: P0, papplicationid: *const ::windows::core::GUID) -> ::windows::core::Result<()>
1048where
1049 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1050{
1051 ::windows::imp::link ! ( "slc.dll""system" fn SLFireEvent ( hslc : *const ::core::ffi::c_void , pwszeventid : :: windows::core::PCWSTR , papplicationid : *const :: windows::core::GUID ) -> :: windows::core::HRESULT );
1052 SLFireEvent(hslc, pwszeventid.into_param().abi(), papplicationid).ok()
1053}
1054#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1055#[inline]
1056pub unsafe fn SLGenerateOfflineInstallationId(hslc: *const ::core::ffi::c_void, pproductskuid: *const ::windows::core::GUID) -> ::windows::core::Result<::windows::core::PWSTR> {
1057 ::windows::imp::link ! ( "slc.dll""system" fn SLGenerateOfflineInstallationId ( hslc : *const ::core::ffi::c_void , pproductskuid : *const :: windows::core::GUID , ppwszinstallationid : *mut :: windows::core::PWSTR ) -> :: windows::core::HRESULT );
1058 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
1059 SLGenerateOfflineInstallationId(hslc, pproductskuid, &mut result__).from_abi(result__)
1060}
1061#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1062#[inline]
1063pub unsafe fn SLGenerateOfflineInstallationIdEx(hslc: *const ::core::ffi::c_void, pproductskuid: ::core::option::Option<*const ::windows::core::GUID>, pactivationinfo: ::core::option::Option<*const SL_ACTIVATION_INFO_HEADER>) -> ::windows::core::Result<::windows::core::PWSTR> {
1064 ::windows::imp::link ! ( "slc.dll""system" fn SLGenerateOfflineInstallationIdEx ( hslc : *const ::core::ffi::c_void , pproductskuid : *const :: windows::core::GUID , pactivationinfo : *const SL_ACTIVATION_INFO_HEADER , ppwszinstallationid : *mut :: windows::core::PWSTR ) -> :: windows::core::HRESULT );
1065 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
1066 SLGenerateOfflineInstallationIdEx(hslc, ::core::mem::transmute(pproductskuid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pactivationinfo.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__)
1067}
1068#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1069#[inline]
1070pub unsafe fn SLGetApplicationInformation<P0>(hslc: *const ::core::ffi::c_void, papplicationid: *const ::windows::core::GUID, pwszvaluename: P0, pedatatype: ::core::option::Option<*mut SLDATATYPE>, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows::core::Result<()>
1071where
1072 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1073{
1074 ::windows::imp::link ! ( "slc.dll""system" fn SLGetApplicationInformation ( hslc : *const ::core::ffi::c_void , papplicationid : *const :: windows::core::GUID , pwszvaluename : :: windows::core::PCWSTR , pedatatype : *mut SLDATATYPE , pcbvalue : *mut u32 , ppbvalue : *mut *mut u8 ) -> :: windows::core::HRESULT );
1075 SLGetApplicationInformation(hslc, papplicationid, pwszvaluename.into_param().abi(), ::core::mem::transmute(pedatatype.unwrap_or(::std::ptr::null_mut())), pcbvalue, ppbvalue).ok()
1076}
1077#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1078#[inline]
1079pub unsafe fn SLGetGenuineInformation<P0>(pqueryid: *const ::windows::core::GUID, pwszvaluename: P0, pedatatype: ::core::option::Option<*mut SLDATATYPE>, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows::core::Result<()>
1080where
1081 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1082{
1083 ::windows::imp::link ! ( "slc.dll""system" fn SLGetGenuineInformation ( pqueryid : *const :: windows::core::GUID , pwszvaluename : :: windows::core::PCWSTR , pedatatype : *mut SLDATATYPE , pcbvalue : *mut u32 , ppbvalue : *mut *mut u8 ) -> :: windows::core::HRESULT );
1084 SLGetGenuineInformation(pqueryid, pwszvaluename.into_param().abi(), ::core::mem::transmute(pedatatype.unwrap_or(::std::ptr::null_mut())), pcbvalue, ppbvalue).ok()
1085}
1086#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1087#[inline]
1088pub unsafe fn SLGetInstalledProductKeyIds(hslc: *const ::core::ffi::c_void, pproductskuid: *const ::windows::core::GUID, pnproductkeyids: *mut u32, ppproductkeyids: *mut *mut ::windows::core::GUID) -> ::windows::core::Result<()> {
1089 ::windows::imp::link ! ( "slc.dll""system" fn SLGetInstalledProductKeyIds ( hslc : *const ::core::ffi::c_void , pproductskuid : *const :: windows::core::GUID , pnproductkeyids : *mut u32 , ppproductkeyids : *mut *mut :: windows::core::GUID ) -> :: windows::core::HRESULT );
1090 SLGetInstalledProductKeyIds(hslc, pproductskuid, pnproductkeyids, ppproductkeyids).ok()
1091}
1092#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1093#[inline]
1094pub unsafe fn SLGetLicense(hslc: *const ::core::ffi::c_void, plicensefileid: *const ::windows::core::GUID, pcblicensefile: *mut u32, ppblicensefile: *mut *mut u8) -> ::windows::core::Result<()> {
1095 ::windows::imp::link ! ( "slc.dll""system" fn SLGetLicense ( hslc : *const ::core::ffi::c_void , plicensefileid : *const :: windows::core::GUID , pcblicensefile : *mut u32 , ppblicensefile : *mut *mut u8 ) -> :: windows::core::HRESULT );
1096 SLGetLicense(hslc, plicensefileid, pcblicensefile, ppblicensefile).ok()
1097}
1098#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1099#[inline]
1100pub unsafe fn SLGetLicenseFileId(hslc: *const ::core::ffi::c_void, pblicenseblob: &[u8]) -> ::windows::core::Result<::windows::core::GUID> {
1101 ::windows::imp::link ! ( "slc.dll""system" fn SLGetLicenseFileId ( hslc : *const ::core::ffi::c_void , cblicenseblob : u32 , pblicenseblob : *const u8 , plicensefileid : *mut :: windows::core::GUID ) -> :: windows::core::HRESULT );
1102 let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
1103 SLGetLicenseFileId(hslc, pblicenseblob.len() as _, ::core::mem::transmute(pblicenseblob.as_ptr()), &mut result__).from_abi(result__)
1104}
1105#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1106#[inline]
1107pub unsafe fn SLGetLicenseInformation<P0>(hslc: *const ::core::ffi::c_void, psllicenseid: *const ::windows::core::GUID, pwszvaluename: P0, pedatatype: ::core::option::Option<*mut SLDATATYPE>, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows::core::Result<()>
1108where
1109 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1110{
1111 ::windows::imp::link ! ( "slc.dll""system" fn SLGetLicenseInformation ( hslc : *const ::core::ffi::c_void , psllicenseid : *const :: windows::core::GUID , pwszvaluename : :: windows::core::PCWSTR , pedatatype : *mut SLDATATYPE , pcbvalue : *mut u32 , ppbvalue : *mut *mut u8 ) -> :: windows::core::HRESULT );
1112 SLGetLicenseInformation(hslc, psllicenseid, pwszvaluename.into_param().abi(), ::core::mem::transmute(pedatatype.unwrap_or(::std::ptr::null_mut())), pcbvalue, ppbvalue).ok()
1113}
1114#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1115#[inline]
1116pub unsafe fn SLGetLicensingStatusInformation<P0>(hslc: *const ::core::ffi::c_void, pappid: ::core::option::Option<*const ::windows::core::GUID>, pproductskuid: ::core::option::Option<*const ::windows::core::GUID>, pwszrightname: P0, pnstatuscount: *mut u32, pplicensingstatus: *mut *mut SL_LICENSING_STATUS) -> ::windows::core::Result<()>
1117where
1118 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1119{
1120 ::windows::imp::link ! ( "slc.dll""system" fn SLGetLicensingStatusInformation ( hslc : *const ::core::ffi::c_void , pappid : *const :: windows::core::GUID , pproductskuid : *const :: windows::core::GUID , pwszrightname : :: windows::core::PCWSTR , pnstatuscount : *mut u32 , pplicensingstatus : *mut *mut SL_LICENSING_STATUS ) -> :: windows::core::HRESULT );
1121 SLGetLicensingStatusInformation(hslc, ::core::mem::transmute(pappid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pproductskuid.unwrap_or(::std::ptr::null())), pwszrightname.into_param().abi(), pnstatuscount, pplicensingstatus).ok()
1122}
1123#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1124#[inline]
1125pub unsafe fn SLGetPKeyId<P0, P1>(hslc: *const ::core::ffi::c_void, pwszpkeyalgorithm: P0, pwszpkeystring: P1, pbpkeyspecificdata: ::core::option::Option<&[u8]>) -> ::windows::core::Result<::windows::core::GUID>
1126where
1127 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1128 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1129{
1130 ::windows::imp::link ! ( "slc.dll""system" fn SLGetPKeyId ( hslc : *const ::core::ffi::c_void , pwszpkeyalgorithm : :: windows::core::PCWSTR , pwszpkeystring : :: windows::core::PCWSTR , cbpkeyspecificdata : u32 , pbpkeyspecificdata : *const u8 , ppkeyid : *mut :: windows::core::GUID ) -> :: windows::core::HRESULT );
1131 let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
1132 SLGetPKeyId(hslc, pwszpkeyalgorithm.into_param().abi(), pwszpkeystring.into_param().abi(), pbpkeyspecificdata.as_deref().map_or(0, |slice| slice.len() as _), ::core::mem::transmute(pbpkeyspecificdata.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &mut result__).from_abi(result__)
1133}
1134#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1135#[inline]
1136pub unsafe fn SLGetPKeyInformation<P0>(hslc: *const ::core::ffi::c_void, ppkeyid: *const ::windows::core::GUID, pwszvaluename: P0, pedatatype: ::core::option::Option<*mut SLDATATYPE>, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows::core::Result<()>
1137where
1138 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1139{
1140 ::windows::imp::link ! ( "slc.dll""system" fn SLGetPKeyInformation ( hslc : *const ::core::ffi::c_void , ppkeyid : *const :: windows::core::GUID , pwszvaluename : :: windows::core::PCWSTR , pedatatype : *mut SLDATATYPE , pcbvalue : *mut u32 , ppbvalue : *mut *mut u8 ) -> :: windows::core::HRESULT );
1141 SLGetPKeyInformation(hslc, ppkeyid, pwszvaluename.into_param().abi(), ::core::mem::transmute(pedatatype.unwrap_or(::std::ptr::null_mut())), pcbvalue, ppbvalue).ok()
1142}
1143#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1144#[inline]
1145pub unsafe fn SLGetPolicyInformation<P0>(hslc: *const ::core::ffi::c_void, pwszvaluename: P0, pedatatype: ::core::option::Option<*mut SLDATATYPE>, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows::core::Result<()>
1146where
1147 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1148{
1149 ::windows::imp::link ! ( "slc.dll""system" fn SLGetPolicyInformation ( hslc : *const ::core::ffi::c_void , pwszvaluename : :: windows::core::PCWSTR , pedatatype : *mut SLDATATYPE , pcbvalue : *mut u32 , ppbvalue : *mut *mut u8 ) -> :: windows::core::HRESULT );
1150 SLGetPolicyInformation(hslc, pwszvaluename.into_param().abi(), ::core::mem::transmute(pedatatype.unwrap_or(::std::ptr::null_mut())), pcbvalue, ppbvalue).ok()
1151}
1152#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1153#[inline]
1154pub unsafe fn SLGetPolicyInformationDWORD<P0>(hslc: *const ::core::ffi::c_void, pwszvaluename: P0) -> ::windows::core::Result<u32>
1155where
1156 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1157{
1158 ::windows::imp::link ! ( "slc.dll""system" fn SLGetPolicyInformationDWORD ( hslc : *const ::core::ffi::c_void , pwszvaluename : :: windows::core::PCWSTR , pdwvalue : *mut u32 ) -> :: windows::core::HRESULT );
1159 let mut result__ = ::windows::core::zeroed::<u32>();
1160 SLGetPolicyInformationDWORD(hslc, pwszvaluename.into_param().abi(), &mut result__).from_abi(result__)
1161}
1162#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1163#[inline]
1164pub unsafe fn SLGetProductSkuInformation<P0>(hslc: *const ::core::ffi::c_void, pproductskuid: *const ::windows::core::GUID, pwszvaluename: P0, pedatatype: ::core::option::Option<*mut SLDATATYPE>, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows::core::Result<()>
1165where
1166 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1167{
1168 ::windows::imp::link ! ( "slc.dll""system" fn SLGetProductSkuInformation ( hslc : *const ::core::ffi::c_void , pproductskuid : *const :: windows::core::GUID , pwszvaluename : :: windows::core::PCWSTR , pedatatype : *mut SLDATATYPE , pcbvalue : *mut u32 , ppbvalue : *mut *mut u8 ) -> :: windows::core::HRESULT );
1169 SLGetProductSkuInformation(hslc, pproductskuid, pwszvaluename.into_param().abi(), ::core::mem::transmute(pedatatype.unwrap_or(::std::ptr::null_mut())), pcbvalue, ppbvalue).ok()
1170}
1171#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1172#[inline]
1173pub unsafe fn SLGetReferralInformation<P0>(hslc: *const ::core::ffi::c_void, ereferraltype: SLREFERRALTYPE, pskuorappid: *const ::windows::core::GUID, pwszvaluename: P0) -> ::windows::core::Result<::windows::core::PWSTR>
1174where
1175 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1176{
1177 ::windows::imp::link ! ( "slcext.dll""system" fn SLGetReferralInformation ( hslc : *const ::core::ffi::c_void , ereferraltype : SLREFERRALTYPE , pskuorappid : *const :: windows::core::GUID , pwszvaluename : :: windows::core::PCWSTR , ppwszvalue : *mut :: windows::core::PWSTR ) -> :: windows::core::HRESULT );
1178 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
1179 SLGetReferralInformation(hslc, ereferraltype, pskuorappid, pwszvaluename.into_param().abi(), &mut result__).from_abi(result__)
1180}
1181#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1182#[inline]
1183pub unsafe fn SLGetSLIDList(hslc: *const ::core::ffi::c_void, equeryidtype: SLIDTYPE, pqueryid: ::core::option::Option<*const ::windows::core::GUID>, ereturnidtype: SLIDTYPE, pnreturnids: *mut u32, ppreturnids: *mut *mut ::windows::core::GUID) -> ::windows::core::Result<()> {
1184 ::windows::imp::link ! ( "slc.dll""system" fn SLGetSLIDList ( hslc : *const ::core::ffi::c_void , equeryidtype : SLIDTYPE , pqueryid : *const :: windows::core::GUID , ereturnidtype : SLIDTYPE , pnreturnids : *mut u32 , ppreturnids : *mut *mut :: windows::core::GUID ) -> :: windows::core::HRESULT );
1185 SLGetSLIDList(hslc, equeryidtype, ::core::mem::transmute(pqueryid.unwrap_or(::std::ptr::null())), ereturnidtype, pnreturnids, ppreturnids).ok()
1186}
1187#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1188#[inline]
1189pub unsafe fn SLGetServerStatus<P0, P1, P2>(pwszserverurl: P0, pwszacquisitiontype: P1, pwszproxyserver: P2, wproxyport: u16) -> ::windows::core::Result<::windows::core::HRESULT>
1190where
1191 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1192 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1193 P2: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1194{
1195 ::windows::imp::link ! ( "slcext.dll""system" fn SLGetServerStatus ( pwszserverurl : :: windows::core::PCWSTR , pwszacquisitiontype : :: windows::core::PCWSTR , pwszproxyserver : :: windows::core::PCWSTR , wproxyport : u16 , phrstatus : *mut :: windows::core::HRESULT ) -> :: windows::core::HRESULT );
1196 let mut result__ = ::windows::core::zeroed::<::windows::core::HRESULT>();
1197 SLGetServerStatus(pwszserverurl.into_param().abi(), pwszacquisitiontype.into_param().abi(), pwszproxyserver.into_param().abi(), wproxyport, &mut result__).from_abi(result__)
1198}
1199#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1200#[inline]
1201pub unsafe fn SLGetServiceInformation<P0>(hslc: *const ::core::ffi::c_void, pwszvaluename: P0, pedatatype: ::core::option::Option<*mut SLDATATYPE>, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows::core::Result<()>
1202where
1203 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1204{
1205 ::windows::imp::link ! ( "slc.dll""system" fn SLGetServiceInformation ( hslc : *const ::core::ffi::c_void , pwszvaluename : :: windows::core::PCWSTR , pedatatype : *mut SLDATATYPE , pcbvalue : *mut u32 , ppbvalue : *mut *mut u8 ) -> :: windows::core::HRESULT );
1206 SLGetServiceInformation(hslc, pwszvaluename.into_param().abi(), ::core::mem::transmute(pedatatype.unwrap_or(::std::ptr::null_mut())), pcbvalue, ppbvalue).ok()
1207}
1208#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1209#[inline]
1210pub unsafe fn SLGetWindowsInformation<P0>(pwszvaluename: P0, pedatatype: ::core::option::Option<*mut SLDATATYPE>, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> ::windows::core::Result<()>
1211where
1212 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1213{
1214 ::windows::imp::link ! ( "slc.dll""system" fn SLGetWindowsInformation ( pwszvaluename : :: windows::core::PCWSTR , pedatatype : *mut SLDATATYPE , pcbvalue : *mut u32 , ppbvalue : *mut *mut u8 ) -> :: windows::core::HRESULT );
1215 SLGetWindowsInformation(pwszvaluename.into_param().abi(), ::core::mem::transmute(pedatatype.unwrap_or(::std::ptr::null_mut())), pcbvalue, ppbvalue).ok()
1216}
1217#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1218#[inline]
1219pub unsafe fn SLGetWindowsInformationDWORD<P0>(pwszvaluename: P0) -> ::windows::core::Result<u32>
1220where
1221 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1222{
1223 ::windows::imp::link ! ( "slc.dll""system" fn SLGetWindowsInformationDWORD ( pwszvaluename : :: windows::core::PCWSTR , pdwvalue : *mut u32 ) -> :: windows::core::HRESULT );
1224 let mut result__ = ::windows::core::zeroed::<u32>();
1225 SLGetWindowsInformationDWORD(pwszvaluename.into_param().abi(), &mut result__).from_abi(result__)
1226}
1227#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1228#[inline]
1229pub unsafe fn SLInstallLicense(hslc: *const ::core::ffi::c_void, pblicenseblob: &[u8]) -> ::windows::core::Result<::windows::core::GUID> {
1230 ::windows::imp::link ! ( "slc.dll""system" fn SLInstallLicense ( hslc : *const ::core::ffi::c_void , cblicenseblob : u32 , pblicenseblob : *const u8 , plicensefileid : *mut :: windows::core::GUID ) -> :: windows::core::HRESULT );
1231 let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
1232 SLInstallLicense(hslc, pblicenseblob.len() as _, ::core::mem::transmute(pblicenseblob.as_ptr()), &mut result__).from_abi(result__)
1233}
1234#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1235#[inline]
1236pub unsafe fn SLInstallProofOfPurchase<P0, P1>(hslc: *const ::core::ffi::c_void, pwszpkeyalgorithm: P0, pwszpkeystring: P1, pbpkeyspecificdata: ::core::option::Option<&[u8]>) -> ::windows::core::Result<::windows::core::GUID>
1237where
1238 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1239 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1240{
1241 ::windows::imp::link ! ( "slc.dll""system" fn SLInstallProofOfPurchase ( hslc : *const ::core::ffi::c_void , pwszpkeyalgorithm : :: windows::core::PCWSTR , pwszpkeystring : :: windows::core::PCWSTR , cbpkeyspecificdata : u32 , pbpkeyspecificdata : *const u8 , ppkeyid : *mut :: windows::core::GUID ) -> :: windows::core::HRESULT );
1242 let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
1243 SLInstallProofOfPurchase(hslc, pwszpkeyalgorithm.into_param().abi(), pwszpkeystring.into_param().abi(), pbpkeyspecificdata.as_deref().map_or(0, |slice| slice.len() as _), ::core::mem::transmute(pbpkeyspecificdata.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &mut result__).from_abi(result__)
1244}
1245#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1246#[inline]
1247pub unsafe fn SLIsGenuineLocal(pappid: *const ::windows::core::GUID, pgenuinestate: *mut SL_GENUINE_STATE, puioptions: ::core::option::Option<*mut SL_NONGENUINE_UI_OPTIONS>) -> ::windows::core::Result<()> {
1248 ::windows::imp::link ! ( "slwga.dll""system" fn SLIsGenuineLocal ( pappid : *const :: windows::core::GUID , pgenuinestate : *mut SL_GENUINE_STATE , puioptions : *mut SL_NONGENUINE_UI_OPTIONS ) -> :: windows::core::HRESULT );
1249 SLIsGenuineLocal(pappid, pgenuinestate, ::core::mem::transmute(puioptions.unwrap_or(::std::ptr::null_mut()))).ok()
1250}
1251#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1252#[inline]
1253pub unsafe fn SLOpen(phslc: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
1254 ::windows::imp::link ! ( "slc.dll""system" fn SLOpen ( phslc : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
1255 SLOpen(phslc).ok()
1256}
1257#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1258#[inline]
1259pub unsafe fn SLQueryLicenseValueFromApp<P0>(valuename: P0, valuetype: ::core::option::Option<*mut u32>, databuffer: ::core::option::Option<*mut ::core::ffi::c_void>, datasize: u32, resultdatasize: *mut u32) -> ::windows::core::Result<()>
1260where
1261 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1262{
1263 ::windows::imp::link ! ( "api-ms-win-core-slapi-l1-1-0.dll""system" fn SLQueryLicenseValueFromApp ( valuename : :: windows::core::PCWSTR , valuetype : *mut u32 , databuffer : *mut ::core::ffi::c_void , datasize : u32 , resultdatasize : *mut u32 ) -> :: windows::core::HRESULT );
1264 SLQueryLicenseValueFromApp(valuename.into_param().abi(), ::core::mem::transmute(valuetype.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(databuffer.unwrap_or(::std::ptr::null_mut())), datasize, resultdatasize).ok()
1265}
1266#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
1267#[cfg(feature = "Win32_Foundation")]
1268#[inline]
1269pub unsafe fn SLRegisterEvent<P0, P1>(hslc: ::core::option::Option<*const ::core::ffi::c_void>, pwszeventid: P0, papplicationid: *const ::windows::core::GUID, hevent: P1) -> ::windows::core::Result<()>
1270where
1271 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1272 P1: ::windows::core::IntoParam<super::super::super::Foundation::HANDLE>,
1273{
1274 ::windows::imp::link ! ( "slc.dll""system" fn SLRegisterEvent ( hslc : *const ::core::ffi::c_void , pwszeventid : :: windows::core::PCWSTR , papplicationid : *const :: windows::core::GUID , hevent : super::super::super::Foundation:: HANDLE ) -> :: windows::core::HRESULT );
1275 SLRegisterEvent(::core::mem::transmute(hslc.unwrap_or(::std::ptr::null())), pwszeventid.into_param().abi(), papplicationid, hevent.into_param().abi()).ok()
1276}
1277#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1278#[inline]
1279pub unsafe fn SLSetCurrentProductKey(hslc: *const ::core::ffi::c_void, pproductskuid: *const ::windows::core::GUID, pproductkeyid: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
1280 ::windows::imp::link ! ( "slc.dll""system" fn SLSetCurrentProductKey ( hslc : *const ::core::ffi::c_void , pproductskuid : *const :: windows::core::GUID , pproductkeyid : *const :: windows::core::GUID ) -> :: windows::core::HRESULT );
1281 SLSetCurrentProductKey(hslc, pproductskuid, pproductkeyid).ok()
1282}
1283#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1284#[inline]
1285pub unsafe fn SLSetGenuineInformation<P0>(pqueryid: *const ::windows::core::GUID, pwszvaluename: P0, edatatype: SLDATATYPE, pbvalue: ::core::option::Option<&[u8]>) -> ::windows::core::Result<()>
1286where
1287 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1288{
1289 ::windows::imp::link ! ( "slc.dll""system" fn SLSetGenuineInformation ( pqueryid : *const :: windows::core::GUID , pwszvaluename : :: windows::core::PCWSTR , edatatype : SLDATATYPE , cbvalue : u32 , pbvalue : *const u8 ) -> :: windows::core::HRESULT );
1290 SLSetGenuineInformation(pqueryid, pwszvaluename.into_param().abi(), edatatype, pbvalue.as_deref().map_or(0, |slice| slice.len() as _), ::core::mem::transmute(pbvalue.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr()))).ok()
1291}
1292#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1293#[inline]
1294pub unsafe fn SLUninstallLicense(hslc: *const ::core::ffi::c_void, plicensefileid: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
1295 ::windows::imp::link ! ( "slc.dll""system" fn SLUninstallLicense ( hslc : *const ::core::ffi::c_void , plicensefileid : *const :: windows::core::GUID ) -> :: windows::core::HRESULT );
1296 SLUninstallLicense(hslc, plicensefileid).ok()
1297}
1298#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1299#[inline]
1300pub unsafe fn SLUninstallProofOfPurchase(hslc: *const ::core::ffi::c_void, ppkeyid: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
1301 ::windows::imp::link ! ( "slc.dll""system" fn SLUninstallProofOfPurchase ( hslc : *const ::core::ffi::c_void , ppkeyid : *const :: windows::core::GUID ) -> :: windows::core::HRESULT );
1302 SLUninstallProofOfPurchase(hslc, ppkeyid).ok()
1303}
1304#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
1305#[cfg(feature = "Win32_Foundation")]
1306#[inline]
1307pub unsafe fn SLUnregisterEvent<P0, P1>(hslc: ::core::option::Option<*const ::core::ffi::c_void>, pwszeventid: P0, papplicationid: *const ::windows::core::GUID, hevent: P1) -> ::windows::core::Result<()>
1308where
1309 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1310 P1: ::windows::core::IntoParam<super::super::super::Foundation::HANDLE>,
1311{
1312 ::windows::imp::link ! ( "slc.dll""system" fn SLUnregisterEvent ( hslc : *const ::core::ffi::c_void , pwszeventid : :: windows::core::PCWSTR , papplicationid : *const :: windows::core::GUID , hevent : super::super::super::Foundation:: HANDLE ) -> :: windows::core::HRESULT );
1313 SLUnregisterEvent(::core::mem::transmute(hslc.unwrap_or(::std::ptr::null())), pwszeventid.into_param().abi(), papplicationid, hevent.into_param().abi()).ok()
1314}
1315#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
1316#[cfg(feature = "Win32_Security_Credentials")]
1317#[inline]
1318pub unsafe fn SaslAcceptSecurityContext(phcredential: ::core::option::Option<*const super::super::Credentials::SecHandle>, phcontext: ::core::option::Option<*const super::super::Credentials::SecHandle>, pinput: ::core::option::Option<*const SecBufferDesc>, fcontextreq: ASC_REQ_FLAGS, targetdatarep: u32, phnewcontext: ::core::option::Option<*mut super::super::Credentials::SecHandle>, poutput: ::core::option::Option<*mut SecBufferDesc>, pfcontextattr: *mut u32, ptsexpiry: ::core::option::Option<*mut i64>) -> ::windows::core::HRESULT {
1319 ::windows::imp::link ! ( "secur32.dll""system" fn SaslAcceptSecurityContext ( phcredential : *const super::super::Credentials:: SecHandle , phcontext : *const super::super::Credentials:: SecHandle , pinput : *const SecBufferDesc , fcontextreq : ASC_REQ_FLAGS , targetdatarep : u32 , phnewcontext : *mut super::super::Credentials:: SecHandle , poutput : *mut SecBufferDesc , pfcontextattr : *mut u32 , ptsexpiry : *mut i64 ) -> :: windows::core::HRESULT );
1320 SaslAcceptSecurityContext(::core::mem::transmute(phcredential.unwrap_or(::std::ptr::null())), ::core::mem::transmute(phcontext.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pinput.unwrap_or(::std::ptr::null())), fcontextreq, targetdatarep, ::core::mem::transmute(phnewcontext.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(poutput.unwrap_or(::std::ptr::null_mut())), pfcontextattr, ::core::mem::transmute(ptsexpiry.unwrap_or(::std::ptr::null_mut())))
1321}
1322#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1323#[inline]
1324pub unsafe fn SaslEnumerateProfilesA(profilelist: *mut ::windows::core::PSTR, profilecount: *mut u32) -> ::windows::core::Result<()> {
1325 ::windows::imp::link ! ( "secur32.dll""system" fn SaslEnumerateProfilesA ( profilelist : *mut :: windows::core::PSTR , profilecount : *mut u32 ) -> :: windows::core::HRESULT );
1326 SaslEnumerateProfilesA(profilelist, profilecount).ok()
1327}
1328#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1329#[inline]
1330pub unsafe fn SaslEnumerateProfilesW(profilelist: *mut ::windows::core::PWSTR, profilecount: *mut u32) -> ::windows::core::Result<()> {
1331 ::windows::imp::link ! ( "secur32.dll""system" fn SaslEnumerateProfilesW ( profilelist : *mut :: windows::core::PWSTR , profilecount : *mut u32 ) -> :: windows::core::HRESULT );
1332 SaslEnumerateProfilesW(profilelist, profilecount).ok()
1333}
1334#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
1335#[cfg(feature = "Win32_Security_Credentials")]
1336#[inline]
1337pub unsafe fn SaslGetContextOption(contexthandle: *const super::super::Credentials::SecHandle, option: u32, value: *mut ::core::ffi::c_void, size: u32, needed: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()> {
1338 ::windows::imp::link ! ( "secur32.dll""system" fn SaslGetContextOption ( contexthandle : *const super::super::Credentials:: SecHandle , option : u32 , value : *mut ::core::ffi::c_void , size : u32 , needed : *mut u32 ) -> :: windows::core::HRESULT );
1339 SaslGetContextOption(contexthandle, option, value, size, ::core::mem::transmute(needed.unwrap_or(::std::ptr::null_mut()))).ok()
1340}
1341#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1342#[inline]
1343pub unsafe fn SaslGetProfilePackageA<P0>(profilename: P0) -> ::windows::core::Result<*mut SecPkgInfoA>
1344where
1345 P0: ::windows::core::IntoParam<::windows::core::PCSTR>,
1346{
1347 ::windows::imp::link ! ( "secur32.dll""system" fn SaslGetProfilePackageA ( profilename : :: windows::core::PCSTR , packageinfo : *mut *mut SecPkgInfoA ) -> :: windows::core::HRESULT );
1348 let mut result__ = ::windows::core::zeroed::<*mut SecPkgInfoA>();
1349 SaslGetProfilePackageA(profilename.into_param().abi(), &mut result__).from_abi(result__)
1350}
1351#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1352#[inline]
1353pub unsafe fn SaslGetProfilePackageW<P0>(profilename: P0) -> ::windows::core::Result<*mut SecPkgInfoW>
1354where
1355 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1356{
1357 ::windows::imp::link ! ( "secur32.dll""system" fn SaslGetProfilePackageW ( profilename : :: windows::core::PCWSTR , packageinfo : *mut *mut SecPkgInfoW ) -> :: windows::core::HRESULT );
1358 let mut result__ = ::windows::core::zeroed::<*mut SecPkgInfoW>();
1359 SaslGetProfilePackageW(profilename.into_param().abi(), &mut result__).from_abi(result__)
1360}
1361#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1362#[inline]
1363pub unsafe fn SaslIdentifyPackageA(pinput: *const SecBufferDesc) -> ::windows::core::Result<*mut SecPkgInfoA> {
1364 ::windows::imp::link ! ( "secur32.dll""system" fn SaslIdentifyPackageA ( pinput : *const SecBufferDesc , packageinfo : *mut *mut SecPkgInfoA ) -> :: windows::core::HRESULT );
1365 let mut result__ = ::windows::core::zeroed::<*mut SecPkgInfoA>();
1366 SaslIdentifyPackageA(pinput, &mut result__).from_abi(result__)
1367}
1368#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1369#[inline]
1370pub unsafe fn SaslIdentifyPackageW(pinput: *const SecBufferDesc) -> ::windows::core::Result<*mut SecPkgInfoW> {
1371 ::windows::imp::link ! ( "secur32.dll""system" fn SaslIdentifyPackageW ( pinput : *const SecBufferDesc , packageinfo : *mut *mut SecPkgInfoW ) -> :: windows::core::HRESULT );
1372 let mut result__ = ::windows::core::zeroed::<*mut SecPkgInfoW>();
1373 SaslIdentifyPackageW(pinput, &mut result__).from_abi(result__)
1374}
1375#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
1376#[cfg(feature = "Win32_Security_Credentials")]
1377#[inline]
1378pub unsafe fn SaslInitializeSecurityContextA<P0>(phcredential: ::core::option::Option<*const super::super::Credentials::SecHandle>, phcontext: ::core::option::Option<*const super::super::Credentials::SecHandle>, psztargetname: P0, fcontextreq: ISC_REQ_FLAGS, reserved1: u32, targetdatarep: u32, pinput: ::core::option::Option<*const SecBufferDesc>, reserved2: u32, phnewcontext: ::core::option::Option<*mut super::super::Credentials::SecHandle>, poutput: ::core::option::Option<*mut SecBufferDesc>, pfcontextattr: *mut u32, ptsexpiry: ::core::option::Option<*mut i64>) -> ::windows::core::HRESULT
1379where
1380 P0: ::windows::core::IntoParam<::windows::core::PCSTR>,
1381{
1382 ::windows::imp::link ! ( "secur32.dll""system" fn SaslInitializeSecurityContextA ( phcredential : *const super::super::Credentials:: SecHandle , phcontext : *const super::super::Credentials:: SecHandle , psztargetname : :: windows::core::PCSTR , fcontextreq : ISC_REQ_FLAGS , reserved1 : u32 , targetdatarep : u32 , pinput : *const SecBufferDesc , reserved2 : u32 , phnewcontext : *mut super::super::Credentials:: SecHandle , poutput : *mut SecBufferDesc , pfcontextattr : *mut u32 , ptsexpiry : *mut i64 ) -> :: windows::core::HRESULT );
1383 SaslInitializeSecurityContextA(
1384 ::core::mem::transmute(phcredential.unwrap_or(::std::ptr::null())),
1385 ::core::mem::transmute(phcontext.unwrap_or(::std::ptr::null())),
1386 psztargetname.into_param().abi(),
1387 fcontextreq,
1388 reserved1,
1389 targetdatarep,
1390 ::core::mem::transmute(pinput.unwrap_or(::std::ptr::null())),
1391 reserved2,
1392 ::core::mem::transmute(phnewcontext.unwrap_or(::std::ptr::null_mut())),
1393 ::core::mem::transmute(poutput.unwrap_or(::std::ptr::null_mut())),
1394 pfcontextattr,
1395 ::core::mem::transmute(ptsexpiry.unwrap_or(::std::ptr::null_mut())),
1396 )
1397}
1398#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
1399#[cfg(feature = "Win32_Security_Credentials")]
1400#[inline]
1401pub unsafe fn SaslInitializeSecurityContextW<P0>(phcredential: ::core::option::Option<*const super::super::Credentials::SecHandle>, phcontext: ::core::option::Option<*const super::super::Credentials::SecHandle>, psztargetname: P0, fcontextreq: ISC_REQ_FLAGS, reserved1: u32, targetdatarep: u32, pinput: ::core::option::Option<*const SecBufferDesc>, reserved2: u32, phnewcontext: ::core::option::Option<*mut super::super::Credentials::SecHandle>, poutput: ::core::option::Option<*mut SecBufferDesc>, pfcontextattr: *mut u32, ptsexpiry: ::core::option::Option<*mut i64>) -> ::windows::core::HRESULT
1402where
1403 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1404{
1405 ::windows::imp::link ! ( "secur32.dll""system" fn SaslInitializeSecurityContextW ( phcredential : *const super::super::Credentials:: SecHandle , phcontext : *const super::super::Credentials:: SecHandle , psztargetname : :: windows::core::PCWSTR , fcontextreq : ISC_REQ_FLAGS , reserved1 : u32 , targetdatarep : u32 , pinput : *const SecBufferDesc , reserved2 : u32 , phnewcontext : *mut super::super::Credentials:: SecHandle , poutput : *mut SecBufferDesc , pfcontextattr : *mut u32 , ptsexpiry : *mut i64 ) -> :: windows::core::HRESULT );
1406 SaslInitializeSecurityContextW(
1407 ::core::mem::transmute(phcredential.unwrap_or(::std::ptr::null())),
1408 ::core::mem::transmute(phcontext.unwrap_or(::std::ptr::null())),
1409 psztargetname.into_param().abi(),
1410 fcontextreq,
1411 reserved1,
1412 targetdatarep,
1413 ::core::mem::transmute(pinput.unwrap_or(::std::ptr::null())),
1414 reserved2,
1415 ::core::mem::transmute(phnewcontext.unwrap_or(::std::ptr::null_mut())),
1416 ::core::mem::transmute(poutput.unwrap_or(::std::ptr::null_mut())),
1417 pfcontextattr,
1418 ::core::mem::transmute(ptsexpiry.unwrap_or(::std::ptr::null_mut())),
1419 )
1420}
1421#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
1422#[cfg(feature = "Win32_Security_Credentials")]
1423#[inline]
1424pub unsafe fn SaslSetContextOption(contexthandle: *const super::super::Credentials::SecHandle, option: u32, value: *const ::core::ffi::c_void, size: u32) -> ::windows::core::Result<()> {
1425 ::windows::imp::link ! ( "secur32.dll""system" fn SaslSetContextOption ( contexthandle : *const super::super::Credentials:: SecHandle , option : u32 , value : *const ::core::ffi::c_void , size : u32 ) -> :: windows::core::HRESULT );
1426 SaslSetContextOption(contexthandle, option, value, size).ok()
1427}
1428#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
1429#[cfg(feature = "Win32_Foundation")]
1430#[inline]
1431pub unsafe fn SendSAS<P0>(asuser: P0)
1432where
1433 P0: ::windows::core::IntoParam<super::super::super::Foundation::BOOL>,
1434{
1435 ::windows::imp::link ! ( "sas.dll""system" fn SendSAS ( asuser : super::super::super::Foundation:: BOOL ) -> ( ) );
1436 SendSAS(asuser.into_param().abi())
1437}
1438#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
1439#[cfg(feature = "Win32_Security_Credentials")]
1440#[inline]
1441pub unsafe fn SetContextAttributesA(phcontext: *const super::super::Credentials::SecHandle, ulattribute: SECPKG_ATTR, pbuffer: *const ::core::ffi::c_void, cbbuffer: u32) -> ::windows::core::Result<()> {
1442 ::windows::imp::link ! ( "secur32.dll""system" fn SetContextAttributesA ( phcontext : *const super::super::Credentials:: SecHandle , ulattribute : SECPKG_ATTR , pbuffer : *const ::core::ffi::c_void , cbbuffer : u32 ) -> :: windows::core::HRESULT );
1443 SetContextAttributesA(phcontext, ulattribute, pbuffer, cbbuffer).ok()
1444}
1445#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
1446#[cfg(feature = "Win32_Security_Credentials")]
1447#[inline]
1448pub unsafe fn SetContextAttributesW(phcontext: *const super::super::Credentials::SecHandle, ulattribute: SECPKG_ATTR, pbuffer: *const ::core::ffi::c_void, cbbuffer: u32) -> ::windows::core::Result<()> {
1449 ::windows::imp::link ! ( "secur32.dll""system" fn SetContextAttributesW ( phcontext : *const super::super::Credentials:: SecHandle , ulattribute : SECPKG_ATTR , pbuffer : *const ::core::ffi::c_void , cbbuffer : u32 ) -> :: windows::core::HRESULT );
1450 SetContextAttributesW(phcontext, ulattribute, pbuffer, cbbuffer).ok()
1451}
1452#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
1453#[cfg(feature = "Win32_Security_Credentials")]
1454#[inline]
1455pub unsafe fn SetCredentialsAttributesA(phcredential: *const super::super::Credentials::SecHandle, ulattribute: u32, pbuffer: *const ::core::ffi::c_void, cbbuffer: u32) -> ::windows::core::Result<()> {
1456 ::windows::imp::link ! ( "secur32.dll""system" fn SetCredentialsAttributesA ( phcredential : *const super::super::Credentials:: SecHandle , ulattribute : u32 , pbuffer : *const ::core::ffi::c_void , cbbuffer : u32 ) -> :: windows::core::HRESULT );
1457 SetCredentialsAttributesA(phcredential, ulattribute, pbuffer, cbbuffer).ok()
1458}
1459#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
1460#[cfg(feature = "Win32_Security_Credentials")]
1461#[inline]
1462pub unsafe fn SetCredentialsAttributesW(phcredential: *const super::super::Credentials::SecHandle, ulattribute: u32, pbuffer: *const ::core::ffi::c_void, cbbuffer: u32) -> ::windows::core::Result<()> {
1463 ::windows::imp::link ! ( "secur32.dll""system" fn SetCredentialsAttributesW ( phcredential : *const super::super::Credentials:: SecHandle , ulattribute : u32 , pbuffer : *const ::core::ffi::c_void , cbbuffer : u32 ) -> :: windows::core::HRESULT );
1464 SetCredentialsAttributesW(phcredential, ulattribute, pbuffer, cbbuffer).ok()
1465}
1466#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
1467#[cfg(feature = "Win32_Foundation")]
1468#[inline]
1469pub unsafe fn SslCrackCertificate(pbcertificate: *mut u8, cbcertificate: u32, dwflags: u32, ppcertificate: *mut *mut X509Certificate) -> super::super::super::Foundation::BOOL {
1470 ::windows::imp::link ! ( "schannel.dll""system" fn SslCrackCertificate ( pbcertificate : *mut u8 , cbcertificate : u32 , dwflags : u32 , ppcertificate : *mut *mut X509Certificate ) -> super::super::super::Foundation:: BOOL );
1471 SslCrackCertificate(pbcertificate, cbcertificate, dwflags, ppcertificate)
1472}
1473#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
1474#[cfg(feature = "Win32_Foundation")]
1475#[inline]
1476pub unsafe fn SslEmptyCacheA<P0>(psztargetname: P0, dwflags: u32) -> super::super::super::Foundation::BOOL
1477where
1478 P0: ::windows::core::IntoParam<::windows::core::PCSTR>,
1479{
1480 ::windows::imp::link ! ( "schannel.dll""system" fn SslEmptyCacheA ( psztargetname : :: windows::core::PCSTR , dwflags : u32 ) -> super::super::super::Foundation:: BOOL );
1481 SslEmptyCacheA(psztargetname.into_param().abi(), dwflags)
1482}
1483#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
1484#[cfg(feature = "Win32_Foundation")]
1485#[inline]
1486pub unsafe fn SslEmptyCacheW<P0>(psztargetname: P0, dwflags: u32) -> super::super::super::Foundation::BOOL
1487where
1488 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1489{
1490 ::windows::imp::link ! ( "schannel.dll""system" fn SslEmptyCacheW ( psztargetname : :: windows::core::PCWSTR , dwflags : u32 ) -> super::super::super::Foundation:: BOOL );
1491 SslEmptyCacheW(psztargetname.into_param().abi(), dwflags)
1492}
1493#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
1494#[cfg(feature = "Win32_Foundation")]
1495#[inline]
1496pub unsafe fn SslFreeCertificate(pcertificate: *mut X509Certificate) {
1497 ::windows::imp::link ! ( "schannel.dll""system" fn SslFreeCertificate ( pcertificate : *mut X509Certificate ) -> ( ) );
1498 SslFreeCertificate(pcertificate)
1499}
1500#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1501#[inline]
1502pub unsafe fn SslGenerateRandomBits(prandomdata: *mut u8, crandomdata: i32) {
1503 ::windows::imp::link ! ( "schannel.dll""system" fn SslGenerateRandomBits ( prandomdata : *mut u8 , crandomdata : i32 ) -> ( ) );
1504 SslGenerateRandomBits(prandomdata, crandomdata)
1505}
1506#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1507#[inline]
1508pub unsafe fn SslGetExtensions(clienthello: &[u8], genericextensions: &mut [SCH_EXTENSION_DATA], bytestoread: *mut u32, flags: SchGetExtensionsOptions) -> ::windows::core::Result<()> {
1509 ::windows::imp::link ! ( "schannel.dll""system" fn SslGetExtensions ( clienthello : *const u8 , clienthellobytesize : u32 , genericextensions : *mut SCH_EXTENSION_DATA , genericextensionscount : u8 , bytestoread : *mut u32 , flags : SchGetExtensionsOptions ) -> :: windows::core::HRESULT );
1510 SslGetExtensions(::core::mem::transmute(clienthello.as_ptr()), clienthello.len() as _, ::core::mem::transmute(genericextensions.as_ptr()), genericextensions.len() as _, bytestoread, flags).ok()
1511}
1512#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1513#[inline]
1514pub unsafe fn SslGetMaximumKeySize(reserved: u32) -> u32 {
1515 ::windows::imp::link ! ( "schannel.dll""system" fn SslGetMaximumKeySize ( reserved : u32 ) -> u32 );
1516 SslGetMaximumKeySize(reserved)
1517}
1518#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1519#[inline]
1520pub unsafe fn SslGetServerIdentity(clienthello: &[u8], serveridentity: *mut *mut u8, serveridentitysize: *mut u32, flags: u32) -> ::windows::core::Result<()> {
1521 ::windows::imp::link ! ( "schannel.dll""system" fn SslGetServerIdentity ( clienthello : *const u8 , clienthellosize : u32 , serveridentity : *mut *mut u8 , serveridentitysize : *mut u32 , flags : u32 ) -> :: windows::core::HRESULT );
1522 SslGetServerIdentity(::core::mem::transmute(clienthello.as_ptr()), clienthello.len() as _, serveridentity, serveridentitysize, flags).ok()
1523}
1524#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
1525#[cfg(feature = "Win32_Foundation")]
1526#[inline]
1527pub unsafe fn SspiCompareAuthIdentities(authidentity1: ::core::option::Option<*const ::core::ffi::c_void>, authidentity2: ::core::option::Option<*const ::core::ffi::c_void>, samesupplieduser: ::core::option::Option<*mut super::super::super::Foundation::BOOLEAN>, samesuppliedidentity: ::core::option::Option<*mut super::super::super::Foundation::BOOLEAN>) -> ::windows::core::Result<()> {
1528 ::windows::imp::link ! ( "secur32.dll""system" 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 ) -> :: windows::core::HRESULT );
1529 SspiCompareAuthIdentities(::core::mem::transmute(authidentity1.unwrap_or(::std::ptr::null())), ::core::mem::transmute(authidentity2.unwrap_or(::std::ptr::null())), ::core::mem::transmute(samesupplieduser.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(samesuppliedidentity.unwrap_or(::std::ptr::null_mut()))).ok()
1530}
1531#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1532#[inline]
1533pub unsafe fn SspiCopyAuthIdentity(authdata: *const ::core::ffi::c_void, authdatacopy: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
1534 ::windows::imp::link ! ( "secur32.dll""system" fn SspiCopyAuthIdentity ( authdata : *const ::core::ffi::c_void , authdatacopy : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
1535 SspiCopyAuthIdentity(authdata, authdatacopy).ok()
1536}
1537#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1538#[inline]
1539pub unsafe fn SspiDecryptAuthIdentity(encryptedauthdata: *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
1540 ::windows::imp::link ! ( "secur32.dll""system" fn SspiDecryptAuthIdentity ( encryptedauthdata : *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
1541 SspiDecryptAuthIdentity(encryptedauthdata).ok()
1542}
1543#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1544#[inline]
1545pub unsafe fn SspiDecryptAuthIdentityEx(options: u32, encryptedauthdata: *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
1546 ::windows::imp::link ! ( "sspicli.dll""system" fn SspiDecryptAuthIdentityEx ( options : u32 , encryptedauthdata : *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
1547 SspiDecryptAuthIdentityEx(options, encryptedauthdata).ok()
1548}
1549#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1550#[inline]
1551pub unsafe fn SspiEncodeAuthIdentityAsStrings(pauthidentity: *const ::core::ffi::c_void, ppszusername: *mut ::windows::core::PWSTR, ppszdomainname: *mut ::windows::core::PWSTR, ppszpackedcredentialsstring: ::core::option::Option<*mut ::windows::core::PWSTR>) -> ::windows::core::Result<()> {
1552 ::windows::imp::link ! ( "secur32.dll""system" fn SspiEncodeAuthIdentityAsStrings ( pauthidentity : *const ::core::ffi::c_void , ppszusername : *mut :: windows::core::PWSTR , ppszdomainname : *mut :: windows::core::PWSTR , ppszpackedcredentialsstring : *mut :: windows::core::PWSTR ) -> :: windows::core::HRESULT );
1553 SspiEncodeAuthIdentityAsStrings(pauthidentity, ppszusername, ppszdomainname, ::core::mem::transmute(ppszpackedcredentialsstring.unwrap_or(::std::ptr::null_mut()))).ok()
1554}
1555#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1556#[inline]
1557pub unsafe fn SspiEncodeStringsAsAuthIdentity<P0, P1, P2>(pszusername: P0, pszdomainname: P1, pszpackedcredentialsstring: P2, ppauthidentity: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
1558where
1559 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1560 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1561 P2: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1562{
1563 ::windows::imp::link ! ( "secur32.dll""system" fn SspiEncodeStringsAsAuthIdentity ( pszusername : :: windows::core::PCWSTR , pszdomainname : :: windows::core::PCWSTR , pszpackedcredentialsstring : :: windows::core::PCWSTR , ppauthidentity : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
1564 SspiEncodeStringsAsAuthIdentity(pszusername.into_param().abi(), pszdomainname.into_param().abi(), pszpackedcredentialsstring.into_param().abi(), ppauthidentity).ok()
1565}
1566#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1567#[inline]
1568pub unsafe fn SspiEncryptAuthIdentity(authdata: *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
1569 ::windows::imp::link ! ( "secur32.dll""system" fn SspiEncryptAuthIdentity ( authdata : *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
1570 SspiEncryptAuthIdentity(authdata).ok()
1571}
1572#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1573#[inline]
1574pub unsafe fn SspiEncryptAuthIdentityEx(options: u32, authdata: *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
1575 ::windows::imp::link ! ( "sspicli.dll""system" fn SspiEncryptAuthIdentityEx ( options : u32 , authdata : *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
1576 SspiEncryptAuthIdentityEx(options, authdata).ok()
1577}
1578#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1579#[inline]
1580pub unsafe fn SspiExcludePackage<P0>(authidentity: ::core::option::Option<*const ::core::ffi::c_void>, pszpackagename: P0, ppnewauthidentity: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
1581where
1582 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1583{
1584 ::windows::imp::link ! ( "secur32.dll""system" fn SspiExcludePackage ( authidentity : *const ::core::ffi::c_void , pszpackagename : :: windows::core::PCWSTR , ppnewauthidentity : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
1585 SspiExcludePackage(::core::mem::transmute(authidentity.unwrap_or(::std::ptr::null())), pszpackagename.into_param().abi(), ppnewauthidentity).ok()
1586}
1587#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1588#[inline]
1589pub unsafe fn SspiFreeAuthIdentity(authdata: ::core::option::Option<*const ::core::ffi::c_void>) {
1590 ::windows::imp::link ! ( "secur32.dll""system" fn SspiFreeAuthIdentity ( authdata : *const ::core::ffi::c_void ) -> ( ) );
1591 SspiFreeAuthIdentity(::core::mem::transmute(authdata.unwrap_or(::std::ptr::null())))
1592}
1593#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1594#[inline]
1595pub unsafe fn SspiGetTargetHostName<P0>(psztargetname: P0) -> ::windows::core::Result<::windows::core::PWSTR>
1596where
1597 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1598{
1599 ::windows::imp::link ! ( "secur32.dll""system" fn SspiGetTargetHostName ( psztargetname : :: windows::core::PCWSTR , pszhostname : *mut :: windows::core::PWSTR ) -> :: windows::core::HRESULT );
1600 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
1601 SspiGetTargetHostName(psztargetname.into_param().abi(), &mut result__).from_abi(result__)
1602}
1603#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
1604#[cfg(feature = "Win32_Foundation")]
1605#[inline]
1606pub unsafe fn SspiIsAuthIdentityEncrypted(encryptedauthdata: *const ::core::ffi::c_void) -> super::super::super::Foundation::BOOLEAN {
1607 ::windows::imp::link ! ( "secur32.dll""system" fn SspiIsAuthIdentityEncrypted ( encryptedauthdata : *const ::core::ffi::c_void ) -> super::super::super::Foundation:: BOOLEAN );
1608 SspiIsAuthIdentityEncrypted(encryptedauthdata)
1609}
1610#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
1611#[cfg(feature = "Win32_Foundation")]
1612#[inline]
1613pub unsafe fn SspiIsPromptingNeeded(errororntstatus: u32) -> super::super::super::Foundation::BOOLEAN {
1614 ::windows::imp::link ! ( "credui.dll""system" fn SspiIsPromptingNeeded ( errororntstatus : u32 ) -> super::super::super::Foundation:: BOOLEAN );
1615 SspiIsPromptingNeeded(errororntstatus)
1616}
1617#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1618#[inline]
1619pub unsafe fn SspiLocalFree(databuffer: ::core::option::Option<*const ::core::ffi::c_void>) {
1620 ::windows::imp::link ! ( "secur32.dll""system" fn SspiLocalFree ( databuffer : *const ::core::ffi::c_void ) -> ( ) );
1621 SspiLocalFree(::core::mem::transmute(databuffer.unwrap_or(::std::ptr::null())))
1622}
1623#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1624#[inline]
1625pub unsafe fn SspiMarshalAuthIdentity(authidentity: *const ::core::ffi::c_void, authidentitylength: *mut u32, authidentitybytearray: *mut *mut i8) -> ::windows::core::Result<()> {
1626 ::windows::imp::link ! ( "secur32.dll""system" fn SspiMarshalAuthIdentity ( authidentity : *const ::core::ffi::c_void , authidentitylength : *mut u32 , authidentitybytearray : *mut *mut i8 ) -> :: windows::core::HRESULT );
1627 SspiMarshalAuthIdentity(authidentity, authidentitylength, authidentitybytearray).ok()
1628}
1629#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1630#[inline]
1631pub unsafe fn SspiPrepareForCredRead<P0>(authidentity: *const ::core::ffi::c_void, psztargetname: P0, pcredmancredentialtype: *mut u32, ppszcredmantargetname: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()>
1632where
1633 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1634{
1635 ::windows::imp::link ! ( "secur32.dll""system" fn SspiPrepareForCredRead ( authidentity : *const ::core::ffi::c_void , psztargetname : :: windows::core::PCWSTR , pcredmancredentialtype : *mut u32 , ppszcredmantargetname : *mut :: windows::core::PWSTR ) -> :: windows::core::HRESULT );
1636 SspiPrepareForCredRead(authidentity, psztargetname.into_param().abi(), pcredmancredentialtype, ppszcredmantargetname).ok()
1637}
1638#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1639#[inline]
1640pub unsafe fn SspiPrepareForCredWrite<P0>(authidentity: *const ::core::ffi::c_void, psztargetname: P0, pcredmancredentialtype: *mut u32, ppszcredmantargetname: *mut ::windows::core::PWSTR, ppszcredmanusername: *mut ::windows::core::PWSTR, ppcredentialblob: *mut *mut u8, pcredentialblobsize: *mut u32) -> ::windows::core::Result<()>
1641where
1642 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1643{
1644 ::windows::imp::link ! ( "secur32.dll""system" fn SspiPrepareForCredWrite ( authidentity : *const ::core::ffi::c_void , psztargetname : :: windows::core::PCWSTR , pcredmancredentialtype : *mut u32 , ppszcredmantargetname : *mut :: windows::core::PWSTR , ppszcredmanusername : *mut :: windows::core::PWSTR , ppcredentialblob : *mut *mut u8 , pcredentialblobsize : *mut u32 ) -> :: windows::core::HRESULT );
1645 SspiPrepareForCredWrite(authidentity, psztargetname.into_param().abi(), pcredmancredentialtype, ppszcredmantargetname, ppszcredmanusername, ppcredentialblob, pcredentialblobsize).ok()
1646}
1647#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1648#[inline]
1649pub unsafe fn SspiPromptForCredentialsA<P0, P1>(psztargetname: P0, puiinfo: ::core::option::Option<*const ::core::ffi::c_void>, dwautherror: u32, pszpackage: P1, pinputauthidentity: ::core::option::Option<*const ::core::ffi::c_void>, ppauthidentity: *mut *mut ::core::ffi::c_void, pfsave: ::core::option::Option<*mut i32>, dwflags: u32) -> u32
1650where
1651 P0: ::windows::core::IntoParam<::windows::core::PCSTR>,
1652 P1: ::windows::core::IntoParam<::windows::core::PCSTR>,
1653{
1654 ::windows::imp::link ! ( "credui.dll""system" fn SspiPromptForCredentialsA ( psztargetname : :: windows::core::PCSTR , puiinfo : *const ::core::ffi::c_void , dwautherror : u32 , pszpackage : :: windows::core::PCSTR , pinputauthidentity : *const ::core::ffi::c_void , ppauthidentity : *mut *mut ::core::ffi::c_void , pfsave : *mut i32 , dwflags : u32 ) -> u32 );
1655 SspiPromptForCredentialsA(psztargetname.into_param().abi(), ::core::mem::transmute(puiinfo.unwrap_or(::std::ptr::null())), dwautherror, pszpackage.into_param().abi(), ::core::mem::transmute(pinputauthidentity.unwrap_or(::std::ptr::null())), ppauthidentity, ::core::mem::transmute(pfsave.unwrap_or(::std::ptr::null_mut())), dwflags)
1656}
1657#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1658#[inline]
1659pub unsafe fn SspiPromptForCredentialsW<P0, P1>(psztargetname: P0, puiinfo: ::core::option::Option<*const ::core::ffi::c_void>, dwautherror: u32, pszpackage: P1, pinputauthidentity: ::core::option::Option<*const ::core::ffi::c_void>, ppauthidentity: *mut *mut ::core::ffi::c_void, pfsave: ::core::option::Option<*mut i32>, dwflags: u32) -> u32
1660where
1661 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1662 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1663{
1664 ::windows::imp::link ! ( "credui.dll""system" fn SspiPromptForCredentialsW ( psztargetname : :: windows::core::PCWSTR , puiinfo : *const ::core::ffi::c_void , dwautherror : u32 , pszpackage : :: windows::core::PCWSTR , pinputauthidentity : *const ::core::ffi::c_void , ppauthidentity : *mut *mut ::core::ffi::c_void , pfsave : *mut i32 , dwflags : u32 ) -> u32 );
1665 SspiPromptForCredentialsW(psztargetname.into_param().abi(), ::core::mem::transmute(puiinfo.unwrap_or(::std::ptr::null())), dwautherror, pszpackage.into_param().abi(), ::core::mem::transmute(pinputauthidentity.unwrap_or(::std::ptr::null())), ppauthidentity, ::core::mem::transmute(pfsave.unwrap_or(::std::ptr::null_mut())), dwflags)
1666}
1667#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1668#[inline]
1669pub unsafe fn SspiUnmarshalAuthIdentity(authidentitybytearray: &[u8], ppauthidentity: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
1670 ::windows::imp::link ! ( "secur32.dll""system" fn SspiUnmarshalAuthIdentity ( authidentitylength : u32 , authidentitybytearray : :: windows::core::PCSTR , ppauthidentity : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
1671 SspiUnmarshalAuthIdentity(authidentitybytearray.len() as _, ::core::mem::transmute(authidentitybytearray.as_ptr()), ppauthidentity).ok()
1672}
1673#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1674#[inline]
1675pub unsafe fn SspiValidateAuthIdentity(authdata: *const ::core::ffi::c_void) -> ::windows::core::Result<()> {
1676 ::windows::imp::link ! ( "secur32.dll""system" fn SspiValidateAuthIdentity ( authdata : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
1677 SspiValidateAuthIdentity(authdata).ok()
1678}
1679#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1680#[inline]
1681pub unsafe fn SspiZeroAuthIdentity(authdata: ::core::option::Option<*const ::core::ffi::c_void>) {
1682 ::windows::imp::link ! ( "secur32.dll""system" fn SspiZeroAuthIdentity ( authdata : *const ::core::ffi::c_void ) -> ( ) );
1683 SspiZeroAuthIdentity(::core::mem::transmute(authdata.unwrap_or(::std::ptr::null())))
1684}
1685#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
1686#[cfg(feature = "Win32_Foundation")]
1687#[inline]
1688pub unsafe fn SystemFunction036(randombuffer: *mut ::core::ffi::c_void, randombufferlength: u32) -> super::super::super::Foundation::BOOLEAN {
1689 ::windows::imp::link ! ( "advapi32.dll""system" fn SystemFunction036 ( randombuffer : *mut ::core::ffi::c_void , randombufferlength : u32 ) -> super::super::super::Foundation:: BOOLEAN );
1690 SystemFunction036(randombuffer, randombufferlength)
1691}
1692#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
1693#[cfg(feature = "Win32_Foundation")]
1694#[inline]
1695pub unsafe fn SystemFunction040(memory: *mut ::core::ffi::c_void, memorysize: u32, optionflags: u32) -> ::windows::core::Result<()> {
1696 ::windows::imp::link ! ( "advapi32.dll""system" fn SystemFunction040 ( memory : *mut ::core::ffi::c_void , memorysize : u32 , optionflags : u32 ) -> super::super::super::Foundation:: NTSTATUS );
1697 SystemFunction040(memory, memorysize, optionflags).ok()
1698}
1699#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
1700#[cfg(feature = "Win32_Foundation")]
1701#[inline]
1702pub unsafe fn SystemFunction041(memory: *mut ::core::ffi::c_void, memorysize: u32, optionflags: u32) -> ::windows::core::Result<()> {
1703 ::windows::imp::link ! ( "advapi32.dll""system" fn SystemFunction041 ( memory : *mut ::core::ffi::c_void , memorysize : u32 , optionflags : u32 ) -> super::super::super::Foundation:: NTSTATUS );
1704 SystemFunction041(memory, memorysize, optionflags).ok()
1705}
1706#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1707#[inline]
1708pub unsafe fn TokenBindingDeleteAllBindings() -> ::windows::core::Result<()> {
1709 ::windows::imp::link ! ( "tokenbinding.dll""system" fn TokenBindingDeleteAllBindings ( ) -> :: windows::core::HRESULT );
1710 TokenBindingDeleteAllBindings().ok()
1711}
1712#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1713#[inline]
1714pub unsafe fn TokenBindingDeleteBinding<P0>(targeturl: P0) -> ::windows::core::Result<()>
1715where
1716 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1717{
1718 ::windows::imp::link ! ( "tokenbinding.dll""system" fn TokenBindingDeleteBinding ( targeturl : :: windows::core::PCWSTR ) -> :: windows::core::HRESULT );
1719 TokenBindingDeleteBinding(targeturl.into_param().abi()).ok()
1720}
1721#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1722#[inline]
1723pub unsafe fn TokenBindingGenerateBinding<P0>(keytype: TOKENBINDING_KEY_PARAMETERS_TYPE, targeturl: P0, 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: ::core::option::Option<*mut *mut TOKENBINDING_RESULT_DATA>) -> ::windows::core::Result<()>
1724where
1725 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1726{
1727 ::windows::imp::link ! ( "tokenbinding.dll""system" fn TokenBindingGenerateBinding ( keytype : TOKENBINDING_KEY_PARAMETERS_TYPE , targeturl : :: windows::core::PCWSTR , 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 ) -> :: windows::core::HRESULT );
1728 TokenBindingGenerateBinding(keytype, targeturl.into_param().abi(), bindingtype, tlsekm, tlsekmsize, extensionformat, extensiondata, tokenbinding, tokenbindingsize, ::core::mem::transmute(resultdata.unwrap_or(::std::ptr::null_mut()))).ok()
1729}
1730#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1731#[inline]
1732pub unsafe fn TokenBindingGenerateID(keytype: TOKENBINDING_KEY_PARAMETERS_TYPE, publickey: *const ::core::ffi::c_void, publickeysize: u32) -> ::windows::core::Result<*mut TOKENBINDING_RESULT_DATA> {
1733 ::windows::imp::link ! ( "tokenbinding.dll""system" fn TokenBindingGenerateID ( keytype : TOKENBINDING_KEY_PARAMETERS_TYPE , publickey : *const ::core::ffi::c_void , publickeysize : u32 , resultdata : *mut *mut TOKENBINDING_RESULT_DATA ) -> :: windows::core::HRESULT );
1734 let mut result__ = ::windows::core::zeroed::<*mut TOKENBINDING_RESULT_DATA>();
1735 TokenBindingGenerateID(keytype, publickey, publickeysize, &mut result__).from_abi(result__)
1736}
1737#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1738#[inline]
1739pub unsafe fn TokenBindingGenerateIDForUri<P0>(keytype: TOKENBINDING_KEY_PARAMETERS_TYPE, targeturi: P0) -> ::windows::core::Result<*mut TOKENBINDING_RESULT_DATA>
1740where
1741 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1742{
1743 ::windows::imp::link ! ( "tokenbinding.dll""system" fn TokenBindingGenerateIDForUri ( keytype : TOKENBINDING_KEY_PARAMETERS_TYPE , targeturi : :: windows::core::PCWSTR , resultdata : *mut *mut TOKENBINDING_RESULT_DATA ) -> :: windows::core::HRESULT );
1744 let mut result__ = ::windows::core::zeroed::<*mut TOKENBINDING_RESULT_DATA>();
1745 TokenBindingGenerateIDForUri(keytype, targeturi.into_param().abi(), &mut result__).from_abi(result__)
1746}
1747#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1748#[inline]
1749pub unsafe fn TokenBindingGenerateMessage(tokenbindings: *const *const ::core::ffi::c_void, tokenbindingssize: *const u32, tokenbindingscount: u32, tokenbindingmessage: *mut *mut ::core::ffi::c_void, tokenbindingmessagesize: *mut u32) -> ::windows::core::Result<()> {
1750 ::windows::imp::link ! ( "tokenbinding.dll""system" fn TokenBindingGenerateMessage ( tokenbindings : *const *const ::core::ffi::c_void , tokenbindingssize : *const u32 , tokenbindingscount : u32 , tokenbindingmessage : *mut *mut ::core::ffi::c_void , tokenbindingmessagesize : *mut u32 ) -> :: windows::core::HRESULT );
1751 TokenBindingGenerateMessage(tokenbindings, tokenbindingssize, tokenbindingscount, tokenbindingmessage, tokenbindingmessagesize).ok()
1752}
1753#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1754#[inline]
1755pub unsafe fn TokenBindingGetHighestSupportedVersion(majorversion: *mut u8, minorversion: *mut u8) -> ::windows::core::Result<()> {
1756 ::windows::imp::link ! ( "tokenbinding.dll""system" fn TokenBindingGetHighestSupportedVersion ( majorversion : *mut u8 , minorversion : *mut u8 ) -> :: windows::core::HRESULT );
1757 TokenBindingGetHighestSupportedVersion(majorversion, minorversion).ok()
1758}
1759#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1760#[inline]
1761pub unsafe fn TokenBindingGetKeyTypesClient() -> ::windows::core::Result<*mut TOKENBINDING_KEY_TYPES> {
1762 ::windows::imp::link ! ( "tokenbinding.dll""system" fn TokenBindingGetKeyTypesClient ( keytypes : *mut *mut TOKENBINDING_KEY_TYPES ) -> :: windows::core::HRESULT );
1763 let mut result__ = ::windows::core::zeroed::<*mut TOKENBINDING_KEY_TYPES>();
1764 TokenBindingGetKeyTypesClient(&mut result__).from_abi(result__)
1765}
1766#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1767#[inline]
1768pub unsafe fn TokenBindingGetKeyTypesServer() -> ::windows::core::Result<*mut TOKENBINDING_KEY_TYPES> {
1769 ::windows::imp::link ! ( "tokenbinding.dll""system" fn TokenBindingGetKeyTypesServer ( keytypes : *mut *mut TOKENBINDING_KEY_TYPES ) -> :: windows::core::HRESULT );
1770 let mut result__ = ::windows::core::zeroed::<*mut TOKENBINDING_KEY_TYPES>();
1771 TokenBindingGetKeyTypesServer(&mut result__).from_abi(result__)
1772}
1773#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1774#[inline]
1775pub unsafe fn TokenBindingVerifyMessage(tokenbindingmessage: *const ::core::ffi::c_void, tokenbindingmessagesize: u32, keytype: TOKENBINDING_KEY_PARAMETERS_TYPE, tlsekm: *const ::core::ffi::c_void, tlsekmsize: u32) -> ::windows::core::Result<*mut TOKENBINDING_RESULT_LIST> {
1776 ::windows::imp::link ! ( "tokenbinding.dll""system" 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 ) -> :: windows::core::HRESULT );
1777 let mut result__ = ::windows::core::zeroed::<*mut TOKENBINDING_RESULT_LIST>();
1778 TokenBindingVerifyMessage(tokenbindingmessage, tokenbindingmessagesize, keytype, tlsekm, tlsekmsize, &mut result__).from_abi(result__)
1779}
1780#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
1781#[cfg(feature = "Win32_Foundation")]
1782#[inline]
1783pub unsafe fn TranslateNameA<P0>(lpaccountname: P0, accountnameformat: EXTENDED_NAME_FORMAT, desirednameformat: EXTENDED_NAME_FORMAT, lptranslatedname: ::windows::core::PSTR, nsize: *mut u32) -> super::super::super::Foundation::BOOLEAN
1784where
1785 P0: ::windows::core::IntoParam<::windows::core::PCSTR>,
1786{
1787 ::windows::imp::link ! ( "secur32.dll""system" fn TranslateNameA ( lpaccountname : :: windows::core::PCSTR , accountnameformat : EXTENDED_NAME_FORMAT , desirednameformat : EXTENDED_NAME_FORMAT , lptranslatedname : :: windows::core::PSTR , nsize : *mut u32 ) -> super::super::super::Foundation:: BOOLEAN );
1788 TranslateNameA(lpaccountname.into_param().abi(), accountnameformat, desirednameformat, ::core::mem::transmute(lptranslatedname), nsize)
1789}
1790#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
1791#[cfg(feature = "Win32_Foundation")]
1792#[inline]
1793pub unsafe fn TranslateNameW<P0>(lpaccountname: P0, accountnameformat: EXTENDED_NAME_FORMAT, desirednameformat: EXTENDED_NAME_FORMAT, lptranslatedname: ::windows::core::PWSTR, nsize: *mut u32) -> super::super::super::Foundation::BOOLEAN
1794where
1795 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1796{
1797 ::windows::imp::link ! ( "secur32.dll""system" fn TranslateNameW ( lpaccountname : :: windows::core::PCWSTR , accountnameformat : EXTENDED_NAME_FORMAT , desirednameformat : EXTENDED_NAME_FORMAT , lptranslatedname : :: windows::core::PWSTR , nsize : *mut u32 ) -> super::super::super::Foundation:: BOOLEAN );
1798 TranslateNameW(lpaccountname.into_param().abi(), accountnameformat, desirednameformat, ::core::mem::transmute(lptranslatedname), nsize)
1799}
1800#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
1801#[cfg(feature = "Win32_Security_Credentials")]
1802#[inline]
1803pub unsafe fn VerifySignature(phcontext: *const super::super::Credentials::SecHandle, pmessage: *const SecBufferDesc, messageseqno: u32) -> ::windows::core::Result<u32> {
1804 ::windows::imp::link ! ( "secur32.dll""system" fn VerifySignature ( phcontext : *const super::super::Credentials:: SecHandle , pmessage : *const SecBufferDesc , messageseqno : u32 , pfqop : *mut u32 ) -> :: windows::core::HRESULT );
1805 let mut result__ = ::windows::core::zeroed::<u32>();
1806 VerifySignature(phcontext, pmessage, messageseqno, &mut result__).from_abi(result__)
1807}
1808#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1809#[repr(transparent)]
1810pub struct ICcgDomainAuthCredentials(::windows::core::IUnknown);
1811impl ICcgDomainAuthCredentials {
1812 pub unsafe fn GetPasswordCredentials<P0>(&self, plugininput: P0, domainname: *mut ::windows::core::PWSTR, username: *mut ::windows::core::PWSTR, password: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()>
1813 where
1814 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1815 {
1816 (::windows::core::Interface::vtable(self).GetPasswordCredentials)(::windows::core::Interface::as_raw(self), plugininput.into_param().abi(), domainname, username, password).ok()
1817 }
1818}
1819::windows::imp::interface_hierarchy!(ICcgDomainAuthCredentials, ::windows::core::IUnknown);
1820impl ::core::cmp::PartialEq for ICcgDomainAuthCredentials {
1821 fn eq(&self, other: &Self) -> bool {
1822 self.0 == other.0
1823 }
1824}
1825impl ::core::cmp::Eq for ICcgDomainAuthCredentials {}
1826impl ::core::fmt::Debug for ICcgDomainAuthCredentials {
1827 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1828 f.debug_tuple("ICcgDomainAuthCredentials").field(&self.0).finish()
1829 }
1830}
1831unsafe impl ::windows::core::Interface for ICcgDomainAuthCredentials {
1832 type Vtable = ICcgDomainAuthCredentials_Vtbl;
1833}
1834impl ::core::clone::Clone for ICcgDomainAuthCredentials {
1835 fn clone(&self) -> Self {
1836 Self(self.0.clone())
1837 }
1838}
1839unsafe impl ::windows::core::ComInterface for ICcgDomainAuthCredentials {
1840 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6ecda518_2010_4437_8bc3_46e752b7b172);
1841}
1842#[repr(C)]
1843#[doc(hidden)]
1844pub struct ICcgDomainAuthCredentials_Vtbl {
1845 pub base__: ::windows::core::IUnknown_Vtbl,
1846 pub GetPasswordCredentials: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plugininput: ::windows::core::PCWSTR, domainname: *mut ::windows::core::PWSTR, username: *mut ::windows::core::PWSTR, password: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
1847}
1848#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1849pub const ACCOUNT_ADJUST_PRIVILEGES: i32 = 2i32;
1850#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1851pub const ACCOUNT_ADJUST_QUOTAS: i32 = 4i32;
1852#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1853pub const ACCOUNT_ADJUST_SYSTEM_ACCESS: i32 = 8i32;
1854#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1855pub const ACCOUNT_VIEW: i32 = 1i32;
1856#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1857pub const ASC_RET_ALLOCATED_MEMORY: u32 = 256u32;
1858#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1859pub const ASC_RET_ALLOW_CONTEXT_REPLAY: u32 = 4194304u32;
1860#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1861pub const ASC_RET_ALLOW_NON_USER_LOGONS: u32 = 2097152u32;
1862#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1863pub const ASC_RET_CALL_LEVEL: u32 = 8192u32;
1864#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1865pub const ASC_RET_CONFIDENTIALITY: u32 = 16u32;
1866#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1867pub const ASC_RET_CONNECTION: u32 = 2048u32;
1868#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1869pub const ASC_RET_DATAGRAM: u32 = 1024u32;
1870#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1871pub const ASC_RET_DELEGATE: u32 = 1u32;
1872#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1873pub const ASC_RET_EXTENDED_ERROR: u32 = 32768u32;
1874#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1875pub const ASC_RET_FRAGMENT_ONLY: u32 = 8388608u32;
1876#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1877pub const ASC_RET_IDENTIFY: u32 = 524288u32;
1878#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1879pub const ASC_RET_INTEGRITY: u32 = 131072u32;
1880#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1881pub const ASC_RET_LICENSING: u32 = 262144u32;
1882#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1883pub const ASC_RET_MESSAGES: u64 = 4294967296u64;
1884#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1885pub const ASC_RET_MUTUAL_AUTH: u32 = 2u32;
1886#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1887pub const ASC_RET_NO_ADDITIONAL_TOKEN: u32 = 33554432u32;
1888#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1889pub const ASC_RET_NO_TOKEN: u32 = 16777216u32;
1890#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1891pub const ASC_RET_NULL_SESSION: u32 = 1048576u32;
1892#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1893pub const ASC_RET_REPLAY_DETECT: u32 = 4u32;
1894#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1895pub const ASC_RET_SEQUENCE_DETECT: u32 = 8u32;
1896#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1897pub const ASC_RET_SESSION_TICKET: u32 = 64u32;
1898#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1899pub const ASC_RET_STREAM: u32 = 65536u32;
1900#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1901pub const ASC_RET_THIRD_LEG_FAILED: u32 = 16384u32;
1902#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1903pub const ASC_RET_USED_DCE_STYLE: u32 = 512u32;
1904#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1905pub const ASC_RET_USE_SESSION_KEY: u32 = 32u32;
1906#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1907pub const AUDIT_ENUMERATE_USERS: u32 = 16u32;
1908#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1909pub const AUDIT_QUERY_MISC_POLICY: u32 = 64u32;
1910#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1911pub const AUDIT_QUERY_SYSTEM_POLICY: u32 = 2u32;
1912#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1913pub const AUDIT_QUERY_USER_POLICY: u32 = 8u32;
1914#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1915pub const AUDIT_SET_MISC_POLICY: u32 = 32u32;
1916#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1917pub const AUDIT_SET_SYSTEM_POLICY: u32 = 1u32;
1918#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1919pub const AUDIT_SET_USER_POLICY: u32 = 4u32;
1920#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1921pub const AUTH_REQ_ALLOW_ENC_TKT_IN_SKEY: u32 = 32u32;
1922#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1923pub const AUTH_REQ_ALLOW_FORWARDABLE: u32 = 1u32;
1924#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1925pub const AUTH_REQ_ALLOW_NOADDRESS: u32 = 16u32;
1926#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1927pub const AUTH_REQ_ALLOW_POSTDATE: u32 = 4u32;
1928#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1929pub const AUTH_REQ_ALLOW_PROXIABLE: u32 = 2u32;
1930#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1931pub const AUTH_REQ_ALLOW_RENEWABLE: u32 = 8u32;
1932#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1933pub const AUTH_REQ_ALLOW_S4U_DELEGATE: u32 = 2048u32;
1934#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1935pub const AUTH_REQ_ALLOW_VALIDATE: u32 = 64u32;
1936#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1937pub const AUTH_REQ_OK_AS_DELEGATE: u32 = 256u32;
1938#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1939pub const AUTH_REQ_PREAUTH_REQUIRED: u32 = 512u32;
1940#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1941pub const AUTH_REQ_TRANSITIVE_TRUST: u32 = 1024u32;
1942#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1943pub const AUTH_REQ_VALIDATE_CLIENT: u32 = 128u32;
1944#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1945pub const Audit_AccountLogon: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x69979850_797a_11d9_bed3_505054503030);
1946#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1947pub const Audit_AccountLogon_CredentialValidation: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce923f_69ae_11d9_bed3_505054503030);
1948#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1949pub const Audit_AccountLogon_KerbCredentialValidation: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9242_69ae_11d9_bed3_505054503030);
1950#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1951pub const Audit_AccountLogon_Kerberos: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9240_69ae_11d9_bed3_505054503030);
1952#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1953pub const Audit_AccountLogon_Others: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9241_69ae_11d9_bed3_505054503030);
1954#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1955pub const Audit_AccountManagement: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6997984e_797a_11d9_bed3_505054503030);
1956#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1957pub const Audit_AccountManagement_ApplicationGroup: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9239_69ae_11d9_bed3_505054503030);
1958#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1959pub const Audit_AccountManagement_ComputerAccount: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9236_69ae_11d9_bed3_505054503030);
1960#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1961pub const Audit_AccountManagement_DistributionGroup: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9238_69ae_11d9_bed3_505054503030);
1962#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1963pub const Audit_AccountManagement_Others: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce923a_69ae_11d9_bed3_505054503030);
1964#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1965pub const Audit_AccountManagement_SecurityGroup: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9237_69ae_11d9_bed3_505054503030);
1966#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1967pub const Audit_AccountManagement_UserAccount: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9235_69ae_11d9_bed3_505054503030);
1968#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1969pub const Audit_DSAccess_DSAccess: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce923b_69ae_11d9_bed3_505054503030);
1970#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1971pub const Audit_DetailedTracking: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6997984c_797a_11d9_bed3_505054503030);
1972#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1973pub const Audit_DetailedTracking_DpapiActivity: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce922d_69ae_11d9_bed3_505054503030);
1974#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1975pub const Audit_DetailedTracking_PnpActivity: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9248_69ae_11d9_bed3_505054503030);
1976#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1977pub const Audit_DetailedTracking_ProcessCreation: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce922b_69ae_11d9_bed3_505054503030);
1978#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1979pub const Audit_DetailedTracking_ProcessTermination: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce922c_69ae_11d9_bed3_505054503030);
1980#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1981pub const Audit_DetailedTracking_RpcCall: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce922e_69ae_11d9_bed3_505054503030);
1982#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1983pub const Audit_DetailedTracking_TokenRightAdjusted: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce924a_69ae_11d9_bed3_505054503030);
1984#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1985pub const Audit_DirectoryServiceAccess: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6997984f_797a_11d9_bed3_505054503030);
1986#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1987pub const Audit_DsAccess_AdAuditChanges: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce923c_69ae_11d9_bed3_505054503030);
1988#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1989pub const Audit_Ds_DetailedReplication: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce923e_69ae_11d9_bed3_505054503030);
1990#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1991pub const Audit_Ds_Replication: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce923d_69ae_11d9_bed3_505054503030);
1992#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1993pub const Audit_Logon: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x69979849_797a_11d9_bed3_505054503030);
1994#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1995pub const Audit_Logon_AccountLockout: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9217_69ae_11d9_bed3_505054503030);
1996#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1997pub const Audit_Logon_Claims: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9247_69ae_11d9_bed3_505054503030);
1998#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
1999pub const Audit_Logon_Groups: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9249_69ae_11d9_bed3_505054503030);
2000#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2001pub const Audit_Logon_IPSecMainMode: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9218_69ae_11d9_bed3_505054503030);
2002#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2003pub const Audit_Logon_IPSecQuickMode: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9219_69ae_11d9_bed3_505054503030);
2004#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2005pub const Audit_Logon_IPSecUserMode: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce921a_69ae_11d9_bed3_505054503030);
2006#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2007pub const Audit_Logon_Logoff: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9216_69ae_11d9_bed3_505054503030);
2008#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2009pub const Audit_Logon_Logon: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9215_69ae_11d9_bed3_505054503030);
2010#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2011pub const Audit_Logon_NPS: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9243_69ae_11d9_bed3_505054503030);
2012#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2013pub const Audit_Logon_Others: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce921c_69ae_11d9_bed3_505054503030);
2014#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2015pub const Audit_Logon_SpecialLogon: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce921b_69ae_11d9_bed3_505054503030);
2016#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2017pub const Audit_ObjectAccess: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6997984a_797a_11d9_bed3_505054503030);
2018#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2019pub const Audit_ObjectAccess_ApplicationGenerated: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9222_69ae_11d9_bed3_505054503030);
2020#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2021pub const Audit_ObjectAccess_CbacStaging: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9246_69ae_11d9_bed3_505054503030);
2022#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2023pub const Audit_ObjectAccess_CertificationServices: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9221_69ae_11d9_bed3_505054503030);
2024#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2025pub const Audit_ObjectAccess_DetailedFileShare: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9244_69ae_11d9_bed3_505054503030);
2026#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2027pub const Audit_ObjectAccess_FileSystem: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce921d_69ae_11d9_bed3_505054503030);
2028#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2029pub const Audit_ObjectAccess_FirewallConnection: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9226_69ae_11d9_bed3_505054503030);
2030#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2031pub const Audit_ObjectAccess_FirewallPacketDrops: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9225_69ae_11d9_bed3_505054503030);
2032#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2033pub const Audit_ObjectAccess_Handle: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9223_69ae_11d9_bed3_505054503030);
2034#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2035pub const Audit_ObjectAccess_Kernel: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce921f_69ae_11d9_bed3_505054503030);
2036#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2037pub const Audit_ObjectAccess_Other: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9227_69ae_11d9_bed3_505054503030);
2038#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2039pub const Audit_ObjectAccess_Registry: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce921e_69ae_11d9_bed3_505054503030);
2040#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2041pub const Audit_ObjectAccess_RemovableStorage: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9245_69ae_11d9_bed3_505054503030);
2042#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2043pub const Audit_ObjectAccess_Sam: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9220_69ae_11d9_bed3_505054503030);
2044#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2045pub const Audit_ObjectAccess_Share: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9224_69ae_11d9_bed3_505054503030);
2046#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2047pub const Audit_PolicyChange: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6997984d_797a_11d9_bed3_505054503030);
2048#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2049pub const Audit_PolicyChange_AuditPolicy: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce922f_69ae_11d9_bed3_505054503030);
2050#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2051pub const Audit_PolicyChange_AuthenticationPolicy: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9230_69ae_11d9_bed3_505054503030);
2052#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2053pub const Audit_PolicyChange_AuthorizationPolicy: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9231_69ae_11d9_bed3_505054503030);
2054#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2055pub const Audit_PolicyChange_MpsscvRulePolicy: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9232_69ae_11d9_bed3_505054503030);
2056#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2057pub const Audit_PolicyChange_Others: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9234_69ae_11d9_bed3_505054503030);
2058#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2059pub const Audit_PolicyChange_WfpIPSecPolicy: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9233_69ae_11d9_bed3_505054503030);
2060#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2061pub const Audit_PrivilegeUse: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6997984b_797a_11d9_bed3_505054503030);
2062#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2063pub const Audit_PrivilegeUse_NonSensitive: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9229_69ae_11d9_bed3_505054503030);
2064#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2065pub const Audit_PrivilegeUse_Others: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce922a_69ae_11d9_bed3_505054503030);
2066#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2067pub const Audit_PrivilegeUse_Sensitive: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9228_69ae_11d9_bed3_505054503030);
2068#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2069pub const Audit_System: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x69979848_797a_11d9_bed3_505054503030);
2070#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2071pub const Audit_System_IPSecDriverEvents: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9213_69ae_11d9_bed3_505054503030);
2072#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2073pub const Audit_System_Integrity: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9212_69ae_11d9_bed3_505054503030);
2074#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2075pub const Audit_System_Others: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9214_69ae_11d9_bed3_505054503030);
2076#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2077pub const Audit_System_SecurityStateChange: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9210_69ae_11d9_bed3_505054503030);
2078#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2079pub const Audit_System_SecuritySubsystemExtension: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0cce9211_69ae_11d9_bed3_505054503030);
2080#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2081pub const CENTRAL_ACCESS_POLICY_OWNER_RIGHTS_PRESENT_FLAG: u32 = 1u32;
2082#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2083pub const CENTRAL_ACCESS_POLICY_STAGED_FLAG: u32 = 65536u32;
2084#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2085pub const CENTRAL_ACCESS_POLICY_STAGED_OWNER_RIGHTS_PRESENT_FLAG: u32 = 256u32;
2086#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2087pub const CLEAR_BLOCK_LENGTH: u32 = 8u32;
2088#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2089pub const CLOUDAP_NAME: ::windows::core::PCWSTR = ::windows::w!("CloudAP");
2090#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2091pub const CLOUDAP_NAME_W: ::windows::core::PCWSTR = ::windows::w!("CloudAP");
2092#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2093pub const CREDP_FLAGS_CLEAR_PASSWORD: u32 = 8u32;
2094#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2095pub const CREDP_FLAGS_DONT_CACHE_TI: u32 = 4u32;
2096#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2097pub const CREDP_FLAGS_IN_PROCESS: u32 = 1u32;
2098#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2099pub const CREDP_FLAGS_TRUSTED_CALLER: u32 = 32u32;
2100#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2101pub const CREDP_FLAGS_USER_ENCRYPTED_PASSWORD: u32 = 16u32;
2102#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2103pub const CREDP_FLAGS_USE_MIDL_HEAP: u32 = 2u32;
2104#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2105pub const CREDP_FLAGS_VALIDATE_PROXY_TARGET: u32 = 64u32;
2106#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2107pub const CRED_MARSHALED_TI_SIZE_SIZE: u32 = 12u32;
2108#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2109pub const CYPHER_BLOCK_LENGTH: u32 = 8u32;
2110#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2111pub const ClOUDAP_NAME_A: ::windows::core::PCSTR = ::windows::s!("CloudAP");
2112#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2113pub const DEFAULT_TLS_SSP_NAME: ::windows::core::PCWSTR = ::windows::w!("Default TLS SSP");
2114#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2115pub const DEFAULT_TLS_SSP_NAME_A: ::windows::core::PCSTR = ::windows::s!("Default TLS SSP");
2116#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2117pub const DEFAULT_TLS_SSP_NAME_W: ::windows::core::PCWSTR = ::windows::w!("Default TLS SSP");
2118#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2119pub const DOMAIN_NO_LM_OWF_CHANGE: i32 = 64i32;
2120#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2121pub const DS_UNKNOWN_ADDRESS_TYPE: u32 = 0u32;
2122#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2123pub const ENABLE_TLS_CLIENT_EARLY_START: u32 = 1u32;
2124#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2125pub const E_RM_UNKNOWN_ERROR: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073415165i32);
2126#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2127pub const FACILITY_SL_ITF: u32 = 4u32;
2128#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2129pub const ID_CAP_SLAPI: ::windows::core::PCWSTR = ::windows::w!("slapiQueryLicenseValue");
2130#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2131pub const ISC_RET_ALLOCATED_MEMORY: u32 = 256u32;
2132#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2133pub const ISC_RET_CALL_LEVEL: u32 = 8192u32;
2134#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2135pub const ISC_RET_CONFIDENTIALITY: u32 = 16u32;
2136#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2137pub const ISC_RET_CONFIDENTIALITY_ONLY: u32 = 1073741824u32;
2138#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2139pub const ISC_RET_CONNECTION: u32 = 2048u32;
2140#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2141pub const ISC_RET_DATAGRAM: u32 = 1024u32;
2142#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2143pub const ISC_RET_DEFERRED_CRED_VALIDATION: u64 = 8589934592u64;
2144#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2145pub const ISC_RET_DELEGATE: u32 = 1u32;
2146#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2147pub const ISC_RET_EXTENDED_ERROR: u32 = 16384u32;
2148#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2149pub const ISC_RET_FORWARD_CREDENTIALS: u32 = 4194304u32;
2150#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2151pub const ISC_RET_FRAGMENT_ONLY: u32 = 2097152u32;
2152#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2153pub const ISC_RET_IDENTIFY: u32 = 131072u32;
2154#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2155pub const ISC_RET_INTEGRITY: u32 = 65536u32;
2156#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2157pub const ISC_RET_INTERMEDIATE_RETURN: u32 = 4096u32;
2158#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2159pub const ISC_RET_MANUAL_CRED_VALIDATION: u32 = 524288u32;
2160#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2161pub const ISC_RET_MESSAGES: u64 = 4294967296u64;
2162#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2163pub const ISC_RET_MUTUAL_AUTH: u32 = 2u32;
2164#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2165pub const ISC_RET_NO_ADDITIONAL_TOKEN: u32 = 33554432u32;
2166#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2167pub const ISC_RET_NULL_SESSION: u32 = 262144u32;
2168#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2169pub const ISC_RET_REAUTHENTICATION: u32 = 134217728u32;
2170#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2171pub const ISC_RET_REPLAY_DETECT: u32 = 4u32;
2172#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2173pub const ISC_RET_RESERVED1: u32 = 1048576u32;
2174#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2175pub const ISC_RET_SEQUENCE_DETECT: u32 = 8u32;
2176#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2177pub const ISC_RET_STREAM: u32 = 32768u32;
2178#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2179pub const ISC_RET_USED_COLLECTED_CREDS: u32 = 64u32;
2180#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2181pub const ISC_RET_USED_DCE_STYLE: u32 = 512u32;
2182#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2183pub const ISC_RET_USED_HTTP_STYLE: u32 = 16777216u32;
2184#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2185pub const ISC_RET_USED_SUPPLIED_CREDS: u32 = 128u32;
2186#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2187pub const ISC_RET_USE_SESSION_KEY: u32 = 32u32;
2188#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2189pub const ISSP_LEVEL: u32 = 32u32;
2190#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2191pub const ISSP_MODE: u32 = 1u32;
2192#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2193pub const KDC_PROXY_SETTINGS_FLAGS_FORCEPROXY: u32 = 1u32;
2194#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2195pub const KDC_PROXY_SETTINGS_V1: u32 = 1u32;
2196#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2197pub const KERBEROS_REVISION: u32 = 6u32;
2198#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2199pub const KERBEROS_VERSION: u32 = 5u32;
2200#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2201pub const KERB_CERTIFICATE_LOGON_FLAG_CHECK_DUPLICATES: u32 = 1u32;
2202#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2203pub const KERB_CERTIFICATE_LOGON_FLAG_USE_CERTIFICATE_INFO: u32 = 2u32;
2204#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2205pub const KERB_CERTIFICATE_S4U_LOGON_FLAG_CHECK_DUPLICATES: u32 = 1u32;
2206#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2207pub const KERB_CERTIFICATE_S4U_LOGON_FLAG_CHECK_LOGONHOURS: u32 = 2u32;
2208#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2209pub const KERB_CERTIFICATE_S4U_LOGON_FLAG_FAIL_IF_NT_AUTH_POLICY_REQUIRED: u32 = 4u32;
2210#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2211pub const KERB_CERTIFICATE_S4U_LOGON_FLAG_IDENTIFY: u32 = 8u32;
2212#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2213pub const KERB_CHECKSUM_CRC32: u32 = 1u32;
2214#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2215pub const KERB_CHECKSUM_DES_MAC: i32 = -133i32;
2216#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2217pub const KERB_CHECKSUM_DES_MAC_MD5: i32 = -134i32;
2218#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2219pub const KERB_CHECKSUM_HMAC_MD5: i32 = -138i32;
2220#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2221pub const KERB_CHECKSUM_HMAC_SHA1_96_AES128: u32 = 15u32;
2222#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2223pub const KERB_CHECKSUM_HMAC_SHA1_96_AES128_Ki: i32 = -150i32;
2224#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2225pub const KERB_CHECKSUM_HMAC_SHA1_96_AES256: u32 = 16u32;
2226#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2227pub const KERB_CHECKSUM_HMAC_SHA1_96_AES256_Ki: i32 = -151i32;
2228#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2229pub const KERB_CHECKSUM_KRB_DES_MAC: u32 = 4u32;
2230#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2231pub const KERB_CHECKSUM_KRB_DES_MAC_K: u32 = 5u32;
2232#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2233pub const KERB_CHECKSUM_LM: i32 = -130i32;
2234#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2235pub const KERB_CHECKSUM_MD25: i32 = -135i32;
2236#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2237pub const KERB_CHECKSUM_MD4: u32 = 2u32;
2238#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2239pub const KERB_CHECKSUM_MD5: u32 = 7u32;
2240#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2241pub const KERB_CHECKSUM_MD5_DES: u32 = 8u32;
2242#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2243pub const KERB_CHECKSUM_MD5_HMAC: i32 = -137i32;
2244#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2245pub const KERB_CHECKSUM_NONE: u32 = 0u32;
2246#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2247pub const KERB_CHECKSUM_RC4_MD5: i32 = -136i32;
2248#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2249pub const KERB_CHECKSUM_REAL_CRC32: i32 = -132i32;
2250#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2251pub const KERB_CHECKSUM_SHA1: i32 = -131i32;
2252#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2253pub const KERB_CHECKSUM_SHA1_NEW: u32 = 14u32;
2254#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2255pub const KERB_CLOUD_KERBEROS_DEBUG_DATA_VERSION: u32 = 0u32;
2256#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2257pub const KERB_DECRYPT_FLAG_DEFAULT_KEY: u32 = 1u32;
2258#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2259pub const KERB_ETYPE_AES128_CTS_HMAC_SHA1_96: u32 = 17u32;
2260#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2261pub const KERB_ETYPE_AES128_CTS_HMAC_SHA1_96_PLAIN: i32 = -148i32;
2262#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2263pub const KERB_ETYPE_AES256_CTS_HMAC_SHA1_96: u32 = 18u32;
2264#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2265pub const KERB_ETYPE_AES256_CTS_HMAC_SHA1_96_PLAIN: i32 = -149i32;
2266#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2267pub const KERB_ETYPE_DEFAULT: u32 = 0u32;
2268#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2269pub const KERB_ETYPE_DES3_CBC_MD5: u32 = 5u32;
2270#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2271pub const KERB_ETYPE_DES3_CBC_SHA1: u32 = 7u32;
2272#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2273pub const KERB_ETYPE_DES3_CBC_SHA1_KD: u32 = 16u32;
2274#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2275pub const KERB_ETYPE_DES_CBC_MD5_NT: u32 = 20u32;
2276#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2277pub const KERB_ETYPE_DES_EDE3_CBC_ENV: u32 = 15u32;
2278#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2279pub const KERB_ETYPE_DES_PLAIN: i32 = -132i32;
2280#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2281pub const KERB_ETYPE_DSA_SHA1_CMS: u32 = 9u32;
2282#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2283pub const KERB_ETYPE_DSA_SIGN: u32 = 8u32;
2284#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2285pub const KERB_ETYPE_PKCS7_PUB: u32 = 13u32;
2286#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2287pub const KERB_ETYPE_RC2_CBC_ENV: u32 = 12u32;
2288#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2289pub const KERB_ETYPE_RC4_HMAC_NT_EXP: u32 = 24u32;
2290#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2291pub const KERB_ETYPE_RC4_HMAC_OLD: i32 = -133i32;
2292#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2293pub const KERB_ETYPE_RC4_HMAC_OLD_EXP: i32 = -135i32;
2294#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2295pub const KERB_ETYPE_RC4_LM: i32 = -130i32;
2296#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2297pub const KERB_ETYPE_RC4_PLAIN: i32 = -140i32;
2298#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2299pub const KERB_ETYPE_RC4_PLAIN2: i32 = -129i32;
2300#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2301pub const KERB_ETYPE_RC4_PLAIN_EXP: i32 = -141i32;
2302#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2303pub const KERB_ETYPE_RC4_PLAIN_OLD: i32 = -134i32;
2304#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2305pub const KERB_ETYPE_RC4_PLAIN_OLD_EXP: i32 = -136i32;
2306#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2307pub const KERB_ETYPE_RC4_SHA: i32 = -131i32;
2308#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2309pub const KERB_ETYPE_RSA_ENV: u32 = 13u32;
2310#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2311pub const KERB_ETYPE_RSA_ES_OEAP_ENV: u32 = 14u32;
2312#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2313pub const KERB_ETYPE_RSA_MD5_CMS: u32 = 10u32;
2314#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2315pub const KERB_ETYPE_RSA_PRIV: u32 = 9u32;
2316#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2317pub const KERB_ETYPE_RSA_PUB: u32 = 10u32;
2318#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2319pub const KERB_ETYPE_RSA_PUB_MD5: u32 = 11u32;
2320#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2321pub const KERB_ETYPE_RSA_PUB_SHA1: u32 = 12u32;
2322#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2323pub const KERB_ETYPE_RSA_SHA1_CMS: u32 = 11u32;
2324#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2325pub const KERB_LOGON_FLAG_ALLOW_EXPIRED_TICKET: u32 = 1u32;
2326#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2327pub const KERB_LOGON_FLAG_REDIRECTED: u32 = 2u32;
2328#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2329pub const KERB_PURGE_ALL_TICKETS: u32 = 1u32;
2330#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2331pub const KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE_FLAG_DAC_DISABLED: u32 = 1u32;
2332#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2333pub const KERB_REFRESH_POLICY_KDC: u32 = 2u32;
2334#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2335pub const KERB_REFRESH_POLICY_KERBEROS: u32 = 1u32;
2336#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2337pub const KERB_REFRESH_SCCRED_GETTGT: u32 = 1u32;
2338#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2339pub const KERB_REFRESH_SCCRED_RELEASE: u32 = 0u32;
2340#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2341pub const KERB_RETRIEVE_TICKET_AS_KERB_CRED: u32 = 8u32;
2342#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2343pub const KERB_RETRIEVE_TICKET_CACHE_TICKET: u32 = 32u32;
2344#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2345pub const KERB_RETRIEVE_TICKET_DEFAULT: u32 = 0u32;
2346#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2347pub const KERB_RETRIEVE_TICKET_DONT_USE_CACHE: u32 = 1u32;
2348#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2349pub const KERB_RETRIEVE_TICKET_MAX_LIFETIME: u32 = 64u32;
2350#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2351pub const KERB_RETRIEVE_TICKET_USE_CACHE_ONLY: u32 = 2u32;
2352#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2353pub const KERB_RETRIEVE_TICKET_USE_CREDHANDLE: u32 = 4u32;
2354#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2355pub const KERB_RETRIEVE_TICKET_WITH_SEC_CRED: u32 = 16u32;
2356#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2357pub const KERB_S4U2PROXY_CACHE_ENTRY_INFO_FLAG_NEGATIVE: u32 = 1u32;
2358#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2359pub const KERB_S4U2PROXY_CRED_FLAG_NEGATIVE: u32 = 1u32;
2360#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2361pub const KERB_S4U_LOGON_FLAG_CHECK_LOGONHOURS: u32 = 2u32;
2362#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2363pub const KERB_S4U_LOGON_FLAG_IDENTIFY: u32 = 8u32;
2364#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2365pub const KERB_SETPASS_USE_CREDHANDLE: u32 = 2u32;
2366#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2367pub const KERB_SETPASS_USE_LOGONID: u32 = 1u32;
2368#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2369pub const KERB_TICKET_FLAGS_cname_in_pa_data: u32 = 262144u32;
2370#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2371pub const KERB_TICKET_FLAGS_enc_pa_rep: u32 = 65536u32;
2372#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2373pub const KERB_TICKET_FLAGS_name_canonicalize: u32 = 65536u32;
2374#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2375pub const KERB_TRANSFER_CRED_CLEANUP_CREDENTIALS: u32 = 2u32;
2376#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2377pub const KERB_TRANSFER_CRED_WITH_TICKETS: u32 = 1u32;
2378#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2379pub const KERB_USE_DEFAULT_TICKET_FLAGS: u32 = 0u32;
2380#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2381pub const KERB_WRAP_NO_ENCRYPT: u32 = 2147483649u32;
2382#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2383pub const KERN_CONTEXT_CERT_INFO_V1: u32 = 0u32;
2384#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2385pub const KRB_ANONYMOUS_STRING: ::windows::core::PCWSTR = ::windows::w!("ANONYMOUS");
2386#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2387pub const KRB_NT_ENTERPRISE_PRINCIPAL: u32 = 10u32;
2388#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2389pub const KRB_NT_ENT_PRINCIPAL_AND_ID: i32 = -130i32;
2390#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2391pub const KRB_NT_MS_BRANCH_ID: i32 = -133i32;
2392#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2393pub const KRB_NT_MS_PRINCIPAL: i32 = -128i32;
2394#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2395pub const KRB_NT_MS_PRINCIPAL_AND_ID: i32 = -129i32;
2396#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2397pub const KRB_NT_PRINCIPAL: u32 = 1u32;
2398#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2399pub const KRB_NT_PRINCIPAL_AND_ID: i32 = -131i32;
2400#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2401pub const KRB_NT_SRV_HST: u32 = 3u32;
2402#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2403pub const KRB_NT_SRV_INST: u32 = 2u32;
2404#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2405pub const KRB_NT_SRV_INST_AND_ID: i32 = -132i32;
2406#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2407pub const KRB_NT_SRV_XHST: u32 = 4u32;
2408#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2409pub const KRB_NT_UID: u32 = 5u32;
2410#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2411pub const KRB_NT_UNKNOWN: u32 = 0u32;
2412#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2413pub const KRB_NT_WELLKNOWN: u32 = 11u32;
2414#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2415pub const KRB_NT_X500_PRINCIPAL: u32 = 6u32;
2416#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2417pub const KRB_WELLKNOWN_STRING: ::windows::core::PCWSTR = ::windows::w!("WELLKNOWN");
2418#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2419pub const LCRED_CRED_EXISTS: u32 = 1u32;
2420#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2421pub const LCRED_STATUS_NOCRED: u32 = 0u32;
2422#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2423pub const LCRED_STATUS_UNKNOWN_ISSUER: u32 = 2u32;
2424#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2425pub const LOGON_GRACE_LOGON: u32 = 16777216u32;
2426#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2427pub const LOGON_LM_V2: u32 = 4096u32;
2428#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2429pub const LOGON_MANAGED_SERVICE: u32 = 524288u32;
2430#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2431pub const LOGON_NO_ELEVATION: u32 = 262144u32;
2432#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2433pub const LOGON_NO_OPTIMIZED: u32 = 131072u32;
2434#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2435pub const LOGON_NTLMV2_ENABLED: u32 = 256u32;
2436#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2437pub const LOGON_NTLM_V2: u32 = 8192u32;
2438#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2439pub const LOGON_NT_V2: u32 = 2048u32;
2440#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2441pub const LOGON_OPTIMIZED: u32 = 16384u32;
2442#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2443pub const LOGON_PKINIT: u32 = 65536u32;
2444#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2445pub const LOGON_WINLOGON: u32 = 32768u32;
2446#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2447pub const LOOKUP_TRANSLATE_NAMES: u32 = 2048u32;
2448#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2449pub const LOOKUP_VIEW_LOCAL_INFORMATION: u32 = 1u32;
2450#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2451pub const LSASETCAPS_RELOAD_FLAG: u32 = 1u32;
2452#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2453pub const LSASETCAPS_VALID_FLAG_MASK: u32 = 1u32;
2454#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2455pub const LSA_ADT_LEGACY_SECURITY_SOURCE_NAME: ::windows::core::PCWSTR = ::windows::w!("Security");
2456#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2457pub const LSA_ADT_SECURITY_SOURCE_NAME: ::windows::core::PCWSTR = ::windows::w!("Microsoft-Windows-Security-Auditing");
2458#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2459pub const LSA_AP_NAME_CALL_PACKAGE: ::windows::core::PCSTR = ::windows::s!("LsaApCallPackage\u{0}");
2460#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2461pub const LSA_AP_NAME_CALL_PACKAGE_PASSTHROUGH: ::windows::core::PCSTR = ::windows::s!("LsaApCallPackagePassthrough\u{0}");
2462#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2463pub const LSA_AP_NAME_CALL_PACKAGE_UNTRUSTED: ::windows::core::PCSTR = ::windows::s!("LsaApCallPackageUntrusted\u{0}");
2464#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2465pub const LSA_AP_NAME_INITIALIZE_PACKAGE: ::windows::core::PCSTR = ::windows::s!("LsaApInitializePackage\u{0}");
2466#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2467pub const LSA_AP_NAME_LOGON_TERMINATED: ::windows::core::PCSTR = ::windows::s!("LsaApLogonTerminated\u{0}");
2468#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2469pub const LSA_AP_NAME_LOGON_USER: ::windows::core::PCSTR = ::windows::s!("LsaApLogonUser\u{0}");
2470#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2471pub const LSA_AP_NAME_LOGON_USER_EX: ::windows::core::PCSTR = ::windows::s!("LsaApLogonUserEx\u{0}");
2472#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2473pub const LSA_AP_NAME_LOGON_USER_EX2: ::windows::core::PCSTR = ::windows::s!("LsaApLogonUserEx2\u{0}");
2474#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2475pub const LSA_CALL_LICENSE_SERVER: u32 = 2147483648u32;
2476#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2477pub const LSA_FOREST_TRUST_RECORD_TYPE_UNRECOGNIZED: u32 = 2147483648u32;
2478#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2479pub const LSA_FTRECORD_DISABLED_REASONS: i32 = 65535i32;
2480#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2481pub const LSA_GLOBAL_SECRET_PREFIX: ::windows::core::PCWSTR = ::windows::w!("G$");
2482#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2483pub const LSA_GLOBAL_SECRET_PREFIX_LENGTH: u32 = 2u32;
2484#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2485pub const LSA_LOCAL_SECRET_PREFIX: ::windows::core::PCWSTR = ::windows::w!("L$");
2486#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2487pub const LSA_LOCAL_SECRET_PREFIX_LENGTH: u32 = 2u32;
2488#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2489pub const LSA_LOOKUP_DISALLOW_CONNECTED_ACCOUNT_INTERNET_SID: u32 = 2147483648u32;
2490#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2491pub const LSA_LOOKUP_ISOLATED_AS_LOCAL: u32 = 2147483648u32;
2492#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2493pub const LSA_LOOKUP_PREFER_INTERNET_NAMES: u32 = 1073741824u32;
2494#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2495pub const LSA_MACHINE_SECRET_PREFIX: ::windows::core::PCWSTR = ::windows::w!("M$");
2496#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2497pub const LSA_MAXIMUM_ENUMERATION_LENGTH: u32 = 32000u32;
2498#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2499pub const LSA_MAXIMUM_SID_COUNT: i32 = 256i32;
2500#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2501pub const LSA_MODE_INDIVIDUAL_ACCOUNTS: i32 = 2i32;
2502#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2503pub const LSA_MODE_LOG_FULL: i32 = 8i32;
2504#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2505pub const LSA_MODE_MANDATORY_ACCESS: i32 = 4i32;
2506#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2507pub const LSA_MODE_PASSWORD_PROTECTED: i32 = 1i32;
2508#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2509pub const LSA_NB_DISABLED_ADMIN: i32 = 4i32;
2510#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2511pub const LSA_NB_DISABLED_CONFLICT: i32 = 8i32;
2512#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2513pub const LSA_QUERY_CLIENT_PRELOGON_SESSION_ID: u32 = 1u32;
2514#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2515pub const LSA_SECRET_MAXIMUM_COUNT: i32 = 4096i32;
2516#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2517pub const LSA_SECRET_MAXIMUM_LENGTH: i32 = 512i32;
2518#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2519pub const LSA_SID_DISABLED_ADMIN: i32 = 1i32;
2520#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2521pub const LSA_SID_DISABLED_CONFLICT: i32 = 2i32;
2522#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2523pub const LSA_TLN_DISABLED_ADMIN: i32 = 2i32;
2524#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2525pub const LSA_TLN_DISABLED_CONFLICT: i32 = 4i32;
2526#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2527pub const LSA_TLN_DISABLED_NEW: i32 = 1i32;
2528#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2529pub const MAXIMUM_CAPES_PER_CAP: u32 = 127u32;
2530#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2531pub const MAX_CRED_SIZE: u32 = 1024u32;
2532#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2533pub const MAX_PROTOCOL_ID_SIZE: u32 = 255u32;
2534#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2535pub const MAX_RECORDS_IN_FOREST_TRUST_INFO: u32 = 4000u32;
2536#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2537pub const MAX_USER_RECORDS: u32 = 1000u32;
2538#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2539pub const MICROSOFT_KERBEROS_NAME: ::windows::core::PCWSTR = ::windows::w!("Kerberos");
2540#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2541pub const MICROSOFT_KERBEROS_NAME_A: ::windows::core::PCSTR = ::windows::s!("Kerberos");
2542#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2543pub const MICROSOFT_KERBEROS_NAME_W: ::windows::core::PCWSTR = ::windows::w!("Kerberos");
2544#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2545pub const MSV1_0_ALLOW_FORCE_GUEST: u32 = 8192u32;
2546#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2547pub const MSV1_0_ALLOW_MSVCHAPV2: u32 = 65536u32;
2548#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2549pub const MSV1_0_AV_FLAG_FORCE_GUEST: u32 = 1u32;
2550#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2551pub const MSV1_0_AV_FLAG_MIC_HANDSHAKE_MESSAGES: u32 = 2u32;
2552#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2553pub const MSV1_0_AV_FLAG_UNVERIFIED_TARGET: u32 = 4u32;
2554#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2555pub const MSV1_0_CHALLENGE_LENGTH: u32 = 8u32;
2556#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2557pub const MSV1_0_CHECK_LOGONHOURS_FOR_S4U: u32 = 262144u32;
2558#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2559pub const MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED: u32 = 16384u32;
2560#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2561pub const MSV1_0_CREDENTIAL_KEY_LENGTH: u32 = 20u32;
2562#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2563pub const MSV1_0_CRED_CREDKEY_PRESENT: u32 = 8u32;
2564#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2565pub const MSV1_0_CRED_REMOVED: u32 = 4u32;
2566#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2567pub const MSV1_0_CRED_SHA_PRESENT: u32 = 16u32;
2568#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2569pub const MSV1_0_CRED_VERSION_ARSO: u32 = 4294901763u32;
2570#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2571pub const MSV1_0_CRED_VERSION_INVALID: u32 = 4294967295u32;
2572#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2573pub const MSV1_0_CRED_VERSION_IUM: u32 = 4294901761u32;
2574#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2575pub const MSV1_0_CRED_VERSION_REMOTE: u32 = 4294901762u32;
2576#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2577pub const MSV1_0_CRED_VERSION_RESERVED_1: u32 = 4294967294u32;
2578#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2579pub const MSV1_0_CRED_VERSION_V2: u32 = 2u32;
2580#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2581pub const MSV1_0_CRED_VERSION_V3: u32 = 4u32;
2582#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2583pub const MSV1_0_DISABLE_PERSONAL_FALLBACK: u32 = 4096u32;
2584#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2585pub const MSV1_0_INTERNET_DOMAIN: u32 = 524288u32;
2586#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2587pub const MSV1_0_LANMAN_SESSION_KEY_LENGTH: u32 = 8u32;
2588#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2589pub const MSV1_0_MAX_AVL_SIZE: u32 = 64000u32;
2590#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2591pub const MSV1_0_MAX_NTLM3_LIFE: u32 = 1800u32;
2592#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2593pub const MSV1_0_MNS_LOGON: u32 = 16777216u32;
2594#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2595pub const MSV1_0_NTLM3_OWF_LENGTH: u32 = 16u32;
2596#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2597pub const MSV1_0_NTLM3_RESPONSE_LENGTH: u32 = 16u32;
2598#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2599pub const MSV1_0_OWF_PASSWORD_LENGTH: u32 = 16u32;
2600#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2601pub const MSV1_0_PACKAGE_NAME: ::windows::core::PCSTR = ::windows::s!("MICROSOFT_AUTHENTICATION_PACKAGE_V1_0");
2602#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2603pub const MSV1_0_PACKAGE_NAMEW: ::windows::core::PCWSTR = ::windows::w!("MICROSOFT_AUTHENTICATION_PACKAGE_V1_0");
2604#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2605pub const MSV1_0_S4U2SELF: u32 = 131072u32;
2606#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2607pub const MSV1_0_S4U_LOGON_FLAG_CHECK_LOGONHOURS: u32 = 2u32;
2608#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2609pub const MSV1_0_SHA_PASSWORD_LENGTH: u32 = 20u32;
2610#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2611pub const MSV1_0_SUBAUTHENTICATION_DLL: u32 = 4278190080u32;
2612#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2613pub const MSV1_0_SUBAUTHENTICATION_DLL_EX: u32 = 1048576u32;
2614#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2615pub const MSV1_0_SUBAUTHENTICATION_DLL_IIS: u32 = 132u32;
2616#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2617pub const MSV1_0_SUBAUTHENTICATION_DLL_RAS: u32 = 2u32;
2618#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2619pub const MSV1_0_SUBAUTHENTICATION_DLL_SHIFT: u32 = 24u32;
2620#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2621pub const MSV1_0_SUBAUTHENTICATION_FLAGS: u32 = 4278190080u32;
2622#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2623pub const MSV1_0_SUBAUTHENTICATION_KEY: ::windows::core::PCSTR = ::windows::s!("SYSTEM\\CurrentControlSet\\Control\\Lsa\\MSV1_0");
2624#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2625pub const MSV1_0_SUBAUTHENTICATION_VALUE: ::windows::core::PCSTR = ::windows::s!("Auth");
2626#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2627pub const MSV1_0_SUBAUTH_ACCOUNT_DISABLED: u32 = 1u32;
2628#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2629pub const MSV1_0_SUBAUTH_ACCOUNT_EXPIRY: u32 = 16u32;
2630#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2631pub const MSV1_0_SUBAUTH_ACCOUNT_TYPE: u32 = 64u32;
2632#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2633pub const MSV1_0_SUBAUTH_LOCKOUT: u32 = 128u32;
2634#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2635pub const MSV1_0_SUBAUTH_LOGON_HOURS: u32 = 8u32;
2636#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2637pub const MSV1_0_SUBAUTH_PASSWORD: u32 = 2u32;
2638#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2639pub const MSV1_0_SUBAUTH_PASSWORD_EXPIRY: u32 = 32u32;
2640#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2641pub const MSV1_0_SUBAUTH_WORKSTATIONS: u32 = 4u32;
2642#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2643pub const MSV1_0_USER_SESSION_KEY_LENGTH: u32 = 16u32;
2644#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2645pub const MSV1_0_USE_CLIENT_CHALLENGE: u32 = 128u32;
2646#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2647pub const MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY: u32 = 32768u32;
2648#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2649pub const MSV1_0_VALIDATION_KICKOFF_TIME: u32 = 2u32;
2650#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2651pub const MSV1_0_VALIDATION_LOGOFF_TIME: u32 = 1u32;
2652#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2653pub const MSV1_0_VALIDATION_LOGON_DOMAIN: u32 = 8u32;
2654#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2655pub const MSV1_0_VALIDATION_LOGON_SERVER: u32 = 4u32;
2656#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2657pub const MSV1_0_VALIDATION_SESSION_KEY: u32 = 16u32;
2658#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2659pub const MSV1_0_VALIDATION_USER_FLAGS: u32 = 32u32;
2660#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2661pub const MSV1_0_VALIDATION_USER_ID: u32 = 64u32;
2662#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2663pub const NEGOSSP_NAME: ::windows::core::PCWSTR = ::windows::w!("Negotiate");
2664#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2665pub const NEGOSSP_NAME_A: ::windows::core::PCSTR = ::windows::s!("Negotiate");
2666#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2667pub const NEGOSSP_NAME_W: ::windows::core::PCWSTR = ::windows::w!("Negotiate");
2668#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2669pub const NEGOTIATE_ALLOW_NTLM: u32 = 268435456u32;
2670#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2671pub const NEGOTIATE_MAX_PREFIX: u32 = 32u32;
2672#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2673pub const NEGOTIATE_NEG_NTLM: u32 = 536870912u32;
2674#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2675pub const NGC_DATA_FLAG_IS_CLOUD_TRUST_CRED: u32 = 8u32;
2676#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2677pub const NGC_DATA_FLAG_IS_SMARTCARD_DATA: u32 = 4u32;
2678#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2679pub const NGC_DATA_FLAG_KERB_CERTIFICATE_LOGON_FLAG_CHECK_DUPLICATES: u32 = 1u32;
2680#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2681pub const NGC_DATA_FLAG_KERB_CERTIFICATE_LOGON_FLAG_USE_CERTIFICATE_INFO: u32 = 2u32;
2682#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2683pub const NOTIFIER_FLAG_NEW_THREAD: u32 = 1u32;
2684#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2685pub const NOTIFIER_FLAG_ONE_SHOT: u32 = 2u32;
2686#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2687pub const NOTIFIER_FLAG_SECONDS: u32 = 2147483648u32;
2688#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2689pub const NOTIFIER_TYPE_HANDLE_WAIT: u32 = 2u32;
2690#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2691pub const NOTIFIER_TYPE_IMMEDIATE: u32 = 16u32;
2692#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2693pub const NOTIFIER_TYPE_INTERVAL: u32 = 1u32;
2694#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2695pub const NOTIFIER_TYPE_NOTIFY_EVENT: u32 = 4u32;
2696#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2697pub const NOTIFIER_TYPE_STATE_CHANGE: u32 = 3u32;
2698#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2699pub const NOTIFY_CLASS_DOMAIN_CHANGE: u32 = 3u32;
2700#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2701pub const NOTIFY_CLASS_PACKAGE_CHANGE: u32 = 1u32;
2702#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2703pub const NOTIFY_CLASS_REGISTRY_CHANGE: u32 = 4u32;
2704#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2705pub const NOTIFY_CLASS_ROLE_CHANGE: u32 = 2u32;
2706#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2707pub const NO_LONG_NAMES: u32 = 2u32;
2708#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2709pub const NTLMSP_NAME: ::windows::core::PCWSTR = ::windows::w!("NTLM");
2710#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2711pub const NTLMSP_NAME_A: ::windows::core::PCSTR = ::windows::s!("NTLM");
2712#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2713pub const PCT1SP_NAME: ::windows::core::PCWSTR = ::windows::w!("Microsoft PCT 1.0");
2714#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2715pub const PCT1SP_NAME_A: ::windows::core::PCSTR = ::windows::s!("Microsoft PCT 1.0");
2716#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2717pub const PCT1SP_NAME_W: ::windows::core::PCWSTR = ::windows::w!("Microsoft PCT 1.0");
2718#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2719pub const PER_USER_AUDIT_FAILURE_EXCLUDE: u32 = 8u32;
2720#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2721pub const PER_USER_AUDIT_FAILURE_INCLUDE: u32 = 4u32;
2722#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2723pub const PER_USER_AUDIT_NONE: u32 = 16u32;
2724#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2725pub const PER_USER_AUDIT_SUCCESS_EXCLUDE: u32 = 2u32;
2726#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2727pub const PER_USER_AUDIT_SUCCESS_INCLUDE: u32 = 1u32;
2728#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2729pub const PER_USER_POLICY_UNCHANGED: u32 = 0u32;
2730#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2731pub const PKU2U_PACKAGE_NAME: ::windows::core::PCWSTR = ::windows::w!("pku2u");
2732#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2733pub const PKU2U_PACKAGE_NAME_A: ::windows::core::PCSTR = ::windows::s!("pku2u");
2734#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2735pub const PKU2U_PACKAGE_NAME_W: ::windows::core::PCWSTR = ::windows::w!("pku2u");
2736#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2737pub const POLICY_AUDIT_EVENT_FAILURE: i32 = 2i32;
2738#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2739pub const POLICY_AUDIT_EVENT_NONE: i32 = 4i32;
2740#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2741pub const POLICY_AUDIT_EVENT_SUCCESS: i32 = 1i32;
2742#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2743pub const POLICY_AUDIT_EVENT_UNCHANGED: i32 = 0i32;
2744#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2745pub const POLICY_AUDIT_LOG_ADMIN: i32 = 512i32;
2746#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2747pub const POLICY_CREATE_ACCOUNT: i32 = 16i32;
2748#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2749pub const POLICY_CREATE_PRIVILEGE: i32 = 64i32;
2750#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2751pub const POLICY_CREATE_SECRET: i32 = 32i32;
2752#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2753pub const POLICY_GET_PRIVATE_INFORMATION: i32 = 4i32;
2754#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2755pub const POLICY_KERBEROS_VALIDATE_CLIENT: u32 = 128u32;
2756#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2757pub const POLICY_LOOKUP_NAMES: i32 = 2048i32;
2758#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2759pub const POLICY_NOTIFICATION: i32 = 4096i32;
2760#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2761pub const POLICY_QOS_ALLOW_LOCAL_ROOT_CERT_STORE: u32 = 32u32;
2762#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2763pub const POLICY_QOS_DHCP_SERVER_ALLOWED: u32 = 128u32;
2764#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2765pub const POLICY_QOS_INBOUND_CONFIDENTIALITY: u32 = 16u32;
2766#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2767pub const POLICY_QOS_INBOUND_INTEGRITY: u32 = 8u32;
2768#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2769pub const POLICY_QOS_OUTBOUND_CONFIDENTIALITY: u32 = 4u32;
2770#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2771pub const POLICY_QOS_OUTBOUND_INTEGRITY: u32 = 2u32;
2772#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2773pub const POLICY_QOS_RAS_SERVER_ALLOWED: u32 = 64u32;
2774#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2775pub const POLICY_QOS_SCHANNEL_REQUIRED: u32 = 1u32;
2776#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2777pub const POLICY_SERVER_ADMIN: i32 = 1024i32;
2778#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2779pub const POLICY_SET_AUDIT_REQUIREMENTS: i32 = 256i32;
2780#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2781pub const POLICY_SET_DEFAULT_QUOTA_LIMITS: i32 = 128i32;
2782#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2783pub const POLICY_TRUST_ADMIN: i32 = 8i32;
2784#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2785pub const POLICY_VIEW_AUDIT_INFORMATION: i32 = 2i32;
2786#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2787pub const POLICY_VIEW_LOCAL_INFORMATION: i32 = 1i32;
2788#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2789pub const PRIMARY_CRED_ARSO_LOGON: u32 = 2097152u32;
2790#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2791pub const PRIMARY_CRED_AUTH_ID: u32 = 512u32;
2792#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2793pub const PRIMARY_CRED_CACHED_INTERACTIVE_LOGON: u32 = 262144u32;
2794#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2795pub const PRIMARY_CRED_CACHED_LOGON: u32 = 8u32;
2796#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2797pub const PRIMARY_CRED_CLEAR_PASSWORD: u32 = 1u32;
2798#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2799pub const PRIMARY_CRED_DO_NOT_SPLIT: u32 = 1024u32;
2800#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2801pub const PRIMARY_CRED_ENCRYPTED_CREDGUARD_PASSWORD: u32 = 131072u32;
2802#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2803pub const PRIMARY_CRED_ENTERPRISE_INTERNET_USER: u32 = 65536u32;
2804#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2805pub const PRIMARY_CRED_EX: u32 = 4096u32;
2806#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2807pub const PRIMARY_CRED_INTERACTIVE_FIDO_LOGON: u32 = 1048576u32;
2808#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2809pub const PRIMARY_CRED_INTERACTIVE_NGC_LOGON: u32 = 524288u32;
2810#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2811pub const PRIMARY_CRED_INTERACTIVE_SMARTCARD_LOGON: u32 = 64u32;
2812#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2813pub const PRIMARY_CRED_INTERNET_USER: u32 = 256u32;
2814#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2815pub const PRIMARY_CRED_LOGON_LUA: u32 = 32u32;
2816#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2817pub const PRIMARY_CRED_LOGON_NO_TCB: u32 = 16u32;
2818#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2819pub const PRIMARY_CRED_LOGON_PACKAGE_SHIFT: u32 = 24u32;
2820#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2821pub const PRIMARY_CRED_OWF_PASSWORD: u32 = 2u32;
2822#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2823pub const PRIMARY_CRED_PACKAGE_MASK: u32 = 4278190080u32;
2824#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2825pub const PRIMARY_CRED_PACKED_CREDS: u32 = 32768u32;
2826#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2827pub const PRIMARY_CRED_PROTECTED_USER: u32 = 2048u32;
2828#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2829pub const PRIMARY_CRED_REFRESH_NEEDED: u32 = 128u32;
2830#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2831pub const PRIMARY_CRED_RESTRICTED_TS: u32 = 16384u32;
2832#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2833pub const PRIMARY_CRED_SUPPLEMENTAL: u32 = 4194304u32;
2834#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2835pub const PRIMARY_CRED_TRANSFER: u32 = 8192u32;
2836#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2837pub const PRIMARY_CRED_UPDATE: u32 = 4u32;
2838#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2839pub const RCRED_CRED_EXISTS: u32 = 1u32;
2840#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2841pub const RCRED_STATUS_NOCRED: u32 = 0u32;
2842#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2843pub const RCRED_STATUS_UNKNOWN_ISSUER: u32 = 2u32;
2844#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2845pub const RTL_ENCRYPT_MEMORY_SIZE: u32 = 8u32;
2846#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2847pub const RTL_ENCRYPT_OPTION_CROSS_PROCESS: u32 = 1u32;
2848#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2849pub const RTL_ENCRYPT_OPTION_FOR_SYSTEM: u32 = 4u32;
2850#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2851pub const RTL_ENCRYPT_OPTION_SAME_LOGON: u32 = 2u32;
2852#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2853pub const SAM_CREDENTIAL_UPDATE_FREE_ROUTINE: ::windows::core::PCSTR = ::windows::s!("CredentialUpdateFree");
2854#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2855pub const SAM_CREDENTIAL_UPDATE_NOTIFY_ROUTINE: ::windows::core::PCSTR = ::windows::s!("CredentialUpdateNotify");
2856#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2857pub const SAM_CREDENTIAL_UPDATE_REGISTER_MAPPED_ENTRYPOINTS_ROUTINE: ::windows::core::PCSTR = ::windows::s!("RegisterMappedEntrypoints");
2858#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2859pub const SAM_CREDENTIAL_UPDATE_REGISTER_ROUTINE: ::windows::core::PCSTR = ::windows::s!("CredentialUpdateRegister");
2860#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2861pub const SAM_DAYS_PER_WEEK: u32 = 7u32;
2862#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2863pub const SAM_INIT_NOTIFICATION_ROUTINE: ::windows::core::PCSTR = ::windows::s!("InitializeChangeNotify");
2864#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2865pub const SAM_PASSWORD_CHANGE_NOTIFY_ROUTINE: ::windows::core::PCSTR = ::windows::s!("PasswordChangeNotify");
2866#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2867pub const SAM_PASSWORD_FILTER_ROUTINE: ::windows::core::PCSTR = ::windows::s!("PasswordFilter");
2868#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2869pub const SASL_OPTION_AUTHZ_PROCESSING: u32 = 4u32;
2870#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2871pub const SASL_OPTION_AUTHZ_STRING: u32 = 3u32;
2872#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2873pub const SASL_OPTION_RECV_SIZE: u32 = 2u32;
2874#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2875pub const SASL_OPTION_SEND_SIZE: u32 = 1u32;
2876#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2877pub const SCHANNEL_ALERT: u32 = 2u32;
2878#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2879pub const SCHANNEL_CRED_VERSION: u32 = 4u32;
2880#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2881pub const SCHANNEL_NAME: ::windows::core::PCWSTR = ::windows::w!("Schannel");
2882#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2883pub const SCHANNEL_NAME_A: ::windows::core::PCSTR = ::windows::s!("Schannel");
2884#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2885pub const SCHANNEL_NAME_W: ::windows::core::PCWSTR = ::windows::w!("Schannel");
2886#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2887pub const SCHANNEL_RENEGOTIATE: u32 = 0u32;
2888#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2889pub const SCHANNEL_SECRET_PRIVKEY: u32 = 2u32;
2890#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2891pub const SCHANNEL_SECRET_TYPE_CAPI: u32 = 1u32;
2892#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2893pub const SCHANNEL_SESSION: u32 = 3u32;
2894#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2895pub const SCHANNEL_SHUTDOWN: u32 = 1u32;
2896#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2897pub const SCH_ALLOW_NULL_ENCRYPTION: u32 = 33554432u32;
2898#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2899pub const SCH_CREDENTIALS_VERSION: u32 = 5u32;
2900#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2901pub const SCH_CRED_CACHE_ONLY_URL_RETRIEVAL: u32 = 32768u32;
2902#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2903pub const SCH_CRED_CERT_CONTEXT: u32 = 3u32;
2904#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2905pub const SCH_CRED_DEFERRED_CRED_VALIDATION: u32 = 67108864u32;
2906#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2907pub const SCH_CRED_DISABLE_RECONNECTS: u32 = 128u32;
2908#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2909pub const SCH_CRED_FORMAT_CERT_CONTEXT: u32 = 0u32;
2910#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2911pub const SCH_CRED_FORMAT_CERT_HASH: u32 = 1u32;
2912#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2913pub const SCH_CRED_FORMAT_CERT_HASH_STORE: u32 = 2u32;
2914#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2915pub const SCH_CRED_MAX_STORE_NAME_SIZE: u32 = 128u32;
2916#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2917pub const SCH_CRED_MAX_SUPPORTED_ALGS: u32 = 256u32;
2918#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2919pub const SCH_CRED_MAX_SUPPORTED_ALPN_IDS: u32 = 16u32;
2920#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2921pub const SCH_CRED_MAX_SUPPORTED_CERTS: u32 = 100u32;
2922#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2923pub const SCH_CRED_MAX_SUPPORTED_CHAINING_MODES: u32 = 16u32;
2924#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2925pub const SCH_CRED_MAX_SUPPORTED_CRYPTO_SETTINGS: u32 = 16u32;
2926#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2927pub const SCH_CRED_MAX_SUPPORTED_PARAMETERS: u32 = 16u32;
2928#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2929pub const SCH_CRED_MEMORY_STORE_CERT: u32 = 65536u32;
2930#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2931pub const SCH_CRED_RESTRICTED_ROOTS: u32 = 8192u32;
2932#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2933pub const SCH_CRED_REVOCATION_CHECK_CACHE_ONLY: u32 = 16384u32;
2934#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2935pub const SCH_CRED_SNI_CREDENTIAL: u32 = 524288u32;
2936#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2937pub const SCH_CRED_SNI_ENABLE_OCSP: u32 = 1048576u32;
2938#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2939pub const SCH_CRED_V1: u32 = 1u32;
2940#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2941pub const SCH_CRED_V2: u32 = 2u32;
2942#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2943pub const SCH_CRED_V3: u32 = 3u32;
2944#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2945pub const SCH_CRED_VERSION: u32 = 2u32;
2946#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2947pub const SCH_CRED_X509_CAPI: u32 = 2u32;
2948#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2949pub const SCH_CRED_X509_CERTCHAIN: u32 = 1u32;
2950#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2951pub const SCH_MACHINE_CERT_HASH: u32 = 1u32;
2952#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2953pub const SCH_MAX_EXT_SUBSCRIPTIONS: u32 = 2u32;
2954#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2955pub const SCH_USE_DTLS_ONLY: u32 = 16777216u32;
2956#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2957pub const SECBUFFER_ALERT: u32 = 17u32;
2958#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2959pub const SECBUFFER_APPLICATION_PROTOCOLS: u32 = 18u32;
2960#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2961pub const SECBUFFER_ATTRMASK: u32 = 4026531840u32;
2962#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2963pub const SECBUFFER_CHANGE_PASS_RESPONSE: u32 = 15u32;
2964#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2965pub const SECBUFFER_CHANNEL_BINDINGS: u32 = 14u32;
2966#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2967pub const SECBUFFER_DATA: u32 = 1u32;
2968#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2969pub const SECBUFFER_DTLS_MTU: u32 = 24u32;
2970#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2971pub const SECBUFFER_EMPTY: u32 = 0u32;
2972#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2973pub const SECBUFFER_EXTRA: u32 = 5u32;
2974#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2975pub const SECBUFFER_FLAGS: u32 = 27u32;
2976#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2977pub const SECBUFFER_KERNEL_MAP: u32 = 536870912u32;
2978#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2979pub const SECBUFFER_MECHLIST: u32 = 11u32;
2980#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2981pub const SECBUFFER_MECHLIST_SIGNATURE: u32 = 12u32;
2982#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2983pub const SECBUFFER_MISSING: u32 = 4u32;
2984#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2985pub const SECBUFFER_NEGOTIATION_INFO: u32 = 8u32;
2986#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2987pub const SECBUFFER_PADDING: u32 = 9u32;
2988#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2989pub const SECBUFFER_PKG_PARAMS: u32 = 3u32;
2990#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2991pub const SECBUFFER_PRESHARED_KEY: u32 = 22u32;
2992#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2993pub const SECBUFFER_PRESHARED_KEY_IDENTITY: u32 = 23u32;
2994#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2995pub const SECBUFFER_READONLY: u32 = 2147483648u32;
2996#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2997pub const SECBUFFER_READONLY_WITH_CHECKSUM: u32 = 268435456u32;
2998#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
2999pub const SECBUFFER_RESERVED: u32 = 1610612736u32;
3000#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3001pub const SECBUFFER_SEND_GENERIC_TLS_EXTENSION: u32 = 25u32;
3002#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3003pub const SECBUFFER_SRTP_MASTER_KEY_IDENTIFIER: u32 = 20u32;
3004#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3005pub const SECBUFFER_SRTP_PROTECTION_PROFILES: u32 = 19u32;
3006#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3007pub const SECBUFFER_STREAM: u32 = 10u32;
3008#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3009pub const SECBUFFER_STREAM_HEADER: u32 = 7u32;
3010#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3011pub const SECBUFFER_STREAM_TRAILER: u32 = 6u32;
3012#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3013pub const SECBUFFER_SUBSCRIBE_GENERIC_TLS_EXTENSION: u32 = 26u32;
3014#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3015pub const SECBUFFER_TARGET: u32 = 13u32;
3016#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3017pub const SECBUFFER_TARGET_HOST: u32 = 16u32;
3018#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3019pub const SECBUFFER_TOKEN: u32 = 2u32;
3020#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3021pub const SECBUFFER_TOKEN_BINDING: u32 = 21u32;
3022#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3023pub const SECBUFFER_TRAFFIC_SECRETS: u32 = 28u32;
3024#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3025pub const SECBUFFER_UNMAPPED: u32 = 1073741824u32;
3026#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3027pub const SECBUFFER_VERSION: u32 = 0u32;
3028#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3029pub const SECPKGCONTEXT_CIPHERINFO_V1: u32 = 1u32;
3030#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3031pub const SECPKGCONTEXT_CONNECTION_INFO_EX_V1: u32 = 1u32;
3032#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3033pub const SECPKG_ANSI_ATTRIBUTE: u32 = 0u32;
3034#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3035pub const SECPKG_ATTR_APPLICATION_PROTOCOL: u32 = 35u32;
3036#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3037pub const SECPKG_ATTR_AUTHENTICATION_ID: u32 = 20u32;
3038#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3039pub const SECPKG_ATTR_CC_POLICY_RESULT: u32 = 97u32;
3040#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3041pub const SECPKG_ATTR_CERT_CHECK_RESULT: u32 = 113u32;
3042#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3043pub const SECPKG_ATTR_CERT_CHECK_RESULT_INPROC: u32 = 114u32;
3044#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3045pub const SECPKG_ATTR_CIPHER_INFO: u32 = 100u32;
3046#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3047pub const SECPKG_ATTR_CIPHER_STRENGTHS: u32 = 87u32;
3048#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3049pub const SECPKG_ATTR_CLIENT_CERT_POLICY: u32 = 96u32;
3050#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3051pub const SECPKG_ATTR_CONNECTION_INFO_EX: u32 = 110u32;
3052#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3053pub const SECPKG_ATTR_CONTEXT_DELETED: u32 = 33u32;
3054#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3055pub const SECPKG_ATTR_CREDENTIAL_NAME: u32 = 16u32;
3056#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3057pub const SECPKG_ATTR_ISSUER_LIST: u32 = 80u32;
3058#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3059pub const SECPKG_ATTR_IS_LOOPBACK: u32 = 37u32;
3060#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3061pub const SECPKG_ATTR_KEYING_MATERIAL: u32 = 107u32;
3062#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3063pub const SECPKG_ATTR_KEYING_MATERIAL_INPROC: u32 = 112u32;
3064#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3065pub const SECPKG_ATTR_KEYING_MATERIAL_TOKEN_BINDING: u32 = 111u32;
3066#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3067pub const SECPKG_ATTR_LOCAL_CERT_INFO: u32 = 99u32;
3068#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3069pub const SECPKG_ATTR_LOGOFF_TIME: u32 = 21u32;
3070#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3071pub const SECPKG_ATTR_MAPPED_CRED_ATTR: u32 = 92u32;
3072#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3073pub const SECPKG_ATTR_NEGOTIATED_TLS_EXTENSIONS: u32 = 36u32;
3074#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3075pub const SECPKG_ATTR_NEGO_INFO_FLAG_NO_KERBEROS: u32 = 1u32;
3076#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3077pub const SECPKG_ATTR_NEGO_INFO_FLAG_NO_NTLM: u32 = 2u32;
3078#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3079pub const SECPKG_ATTR_NEGO_KEYS: u32 = 22u32;
3080#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3081pub const SECPKG_ATTR_NEGO_PKG_INFO: u32 = 31u32;
3082#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3083pub const SECPKG_ATTR_NEGO_STATUS: u32 = 32u32;
3084#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3085pub const SECPKG_ATTR_PROMPTING_NEEDED: u32 = 24u32;
3086#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3087pub const SECPKG_ATTR_PROTO_INFO: u32 = 7u32;
3088#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3089pub const SECPKG_ATTR_REMOTE_CERTIFICATES: u32 = 95u32;
3090#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3091pub const SECPKG_ATTR_REMOTE_CERT_CHAIN: u32 = 103u32;
3092#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3093pub const SECPKG_ATTR_REMOTE_CRED: u32 = 81u32;
3094#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3095pub const SECPKG_ATTR_SASL_CONTEXT: u32 = 65536u32;
3096#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3097pub const SECPKG_ATTR_SESSION_TICKET_KEYS: u32 = 115u32;
3098#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3099pub const SECPKG_ATTR_SRTP_PARAMETERS: u32 = 108u32;
3100#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3101pub const SECPKG_ATTR_SUPPORTED_ALGS: u32 = 86u32;
3102#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3103pub const SECPKG_ATTR_SUPPORTED_PROTOCOLS: u32 = 88u32;
3104#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3105pub const SECPKG_ATTR_TARGET: u32 = 19u32;
3106#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3107pub const SECPKG_ATTR_THUNK_ALL: u32 = 65536u32;
3108#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3109pub const SECPKG_ATTR_TOKEN_BINDING: u32 = 109u32;
3110#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3111pub const SECPKG_ATTR_UI_INFO: u32 = 104u32;
3112#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3113pub const SECPKG_ATTR_USER_FLAGS: u32 = 11u32;
3114#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3115pub const SECPKG_ATTR_USE_NCRYPT: u32 = 98u32;
3116#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3117pub const SECPKG_ATTR_USE_VALIDATED: u32 = 15u32;
3118#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3119pub const SECPKG_CALLFLAGS_APPCONTAINER: u32 = 1u32;
3120#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3121pub const SECPKG_CALLFLAGS_APPCONTAINER_AUTHCAPABLE: u32 = 2u32;
3122#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3123pub const SECPKG_CALLFLAGS_APPCONTAINER_UPNCAPABLE: u32 = 8u32;
3124#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3125pub const SECPKG_CALLFLAGS_FORCE_SUPPLIED: u32 = 4u32;
3126#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3127pub const SECPKG_CALL_ANSI: u32 = 2u32;
3128#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3129pub const SECPKG_CALL_ASYNC_UPDATE: u32 = 4096u32;
3130#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3131pub const SECPKG_CALL_BUFFER_MARSHAL: u32 = 65536u32;
3132#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3133pub const SECPKG_CALL_CLEANUP: u32 = 32u32;
3134#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3135pub const SECPKG_CALL_CLOUDAP_CONNECT: u32 = 262144u32;
3136#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3137pub const SECPKG_CALL_IN_PROC: u32 = 16u32;
3138#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3139pub const SECPKG_CALL_IS_TCB: u32 = 512u32;
3140#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3141pub const SECPKG_CALL_KERNEL_MODE: u32 = 1u32;
3142#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3143pub const SECPKG_CALL_NEGO: u32 = 16384u32;
3144#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3145pub const SECPKG_CALL_NEGO_EXTENDER: u32 = 32768u32;
3146#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3147pub const SECPKG_CALL_NETWORK_ONLY: u32 = 1024u32;
3148#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3149pub const SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST_FLAG_CLEANUP_CREDENTIALS: u32 = 2u32;
3150#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3151pub const SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST_FLAG_OPTIMISTIC_LOGON: u32 = 1u32;
3152#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3153pub const SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST_FLAG_TO_SSO_SESSION: u32 = 4u32;
3154#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3155pub const SECPKG_CALL_PROCESS_TERM: u32 = 256u32;
3156#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3157pub const SECPKG_CALL_RECURSIVE: u32 = 8u32;
3158#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3159pub const SECPKG_CALL_SYSTEM_PROC: u32 = 8192u32;
3160#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3161pub const SECPKG_CALL_THREAD_TERM: u32 = 128u32;
3162#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3163pub const SECPKG_CALL_UNLOCK: u32 = 131072u32;
3164#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3165pub const SECPKG_CALL_URGENT: u32 = 4u32;
3166#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3167pub const SECPKG_CALL_WINLOGON: u32 = 2048u32;
3168#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3169pub const SECPKG_CALL_WOWA32: u32 = 262144u32;
3170#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3171pub const SECPKG_CALL_WOWCLIENT: u32 = 64u32;
3172#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3173pub const SECPKG_CALL_WOWX86: u32 = 64u32;
3174#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3175pub const SECPKG_CLIENT_PROCESS_TERMINATED: u32 = 1u32;
3176#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3177pub const SECPKG_CLIENT_THREAD_TERMINATED: u32 = 2u32;
3178#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3179pub const SECPKG_CREDENTIAL_ATTRIBUTE: u32 = 0u32;
3180#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3181pub const SECPKG_CREDENTIAL_FLAGS_CALLER_HAS_TCB: u32 = 1u32;
3182#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3183pub const SECPKG_CREDENTIAL_FLAGS_CREDMAN_CRED: u32 = 2u32;
3184#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3185pub const SECPKG_CREDENTIAL_VERSION: u32 = 201u32;
3186#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3187pub const SECPKG_CRED_ATTR_CERT: u32 = 4u32;
3188#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3189pub const SECPKG_CRED_ATTR_KDC_PROXY_SETTINGS: u32 = 3u32;
3190#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3191pub const SECPKG_CRED_ATTR_NAMES: u32 = 1u32;
3192#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3193pub const SECPKG_CRED_ATTR_PAC_BYPASS: u32 = 5u32;
3194#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3195pub const SECPKG_CRED_ATTR_SSI_PROVIDER: u32 = 2u32;
3196#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3197pub const SECPKG_CRED_AUTOLOGON_RESTRICTED: u32 = 16u32;
3198#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3199pub const SECPKG_CRED_BOTH: u32 = 3u32;
3200#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3201pub const SECPKG_CRED_DEFAULT: u32 = 4u32;
3202#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3203pub const SECPKG_CRED_PROCESS_POLICY_ONLY: u32 = 32u32;
3204#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3205pub const SECPKG_CRED_RESERVED: u32 = 4026531840u32;
3206#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3207pub const SECPKG_FLAG_ACCEPT_WIN32_NAME: u32 = 512u32;
3208#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3209pub const SECPKG_FLAG_APPCONTAINER_CHECKS: u32 = 8388608u32;
3210#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3211pub const SECPKG_FLAG_APPCONTAINER_PASSTHROUGH: u32 = 4194304u32;
3212#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3213pub const SECPKG_FLAG_APPLY_LOOPBACK: u32 = 33554432u32;
3214#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3215pub const SECPKG_FLAG_ASCII_BUFFERS: u32 = 16384u32;
3216#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3217pub const SECPKG_FLAG_CLIENT_ONLY: u32 = 64u32;
3218#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3219pub const SECPKG_FLAG_CONNECTION: u32 = 16u32;
3220#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3221pub const SECPKG_FLAG_CREDENTIAL_ISOLATION_ENABLED: u32 = 16777216u32;
3222#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3223pub const SECPKG_FLAG_DATAGRAM: u32 = 8u32;
3224#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3225pub const SECPKG_FLAG_DELEGATION: u32 = 131072u32;
3226#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3227pub const SECPKG_FLAG_EXTENDED_ERROR: u32 = 128u32;
3228#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3229pub const SECPKG_FLAG_FRAGMENT: u32 = 32768u32;
3230#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3231pub const SECPKG_FLAG_GSS_COMPATIBLE: u32 = 4096u32;
3232#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3233pub const SECPKG_FLAG_IMPERSONATION: u32 = 256u32;
3234#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3235pub const SECPKG_FLAG_INTEGRITY: u32 = 1u32;
3236#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3237pub const SECPKG_FLAG_LOGON: u32 = 8192u32;
3238#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3239pub const SECPKG_FLAG_MULTI_REQUIRED: u32 = 32u32;
3240#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3241pub const SECPKG_FLAG_MUTUAL_AUTH: u32 = 65536u32;
3242#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3243pub const SECPKG_FLAG_NEGOTIABLE: u32 = 2048u32;
3244#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3245pub const SECPKG_FLAG_NEGOTIABLE2: u32 = 2097152u32;
3246#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3247pub const SECPKG_FLAG_NEGO_EXTENDER: u32 = 1048576u32;
3248#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3249pub const SECPKG_FLAG_PRIVACY: u32 = 2u32;
3250#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3251pub const SECPKG_FLAG_READONLY_WITH_CHECKSUM: u32 = 262144u32;
3252#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3253pub const SECPKG_FLAG_RESTRICTED_TOKENS: u32 = 524288u32;
3254#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3255pub const SECPKG_FLAG_STREAM: u32 = 1024u32;
3256#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3257pub const SECPKG_FLAG_TOKEN_ONLY: u32 = 4u32;
3258#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3259pub const SECPKG_ID_NONE: u32 = 65535u32;
3260#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3261pub const SECPKG_INTERFACE_VERSION: u32 = 65536u32;
3262#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3263pub const SECPKG_INTERFACE_VERSION_10: u32 = 33554432u32;
3264#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3265pub const SECPKG_INTERFACE_VERSION_2: u32 = 131072u32;
3266#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3267pub const SECPKG_INTERFACE_VERSION_3: u32 = 262144u32;
3268#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3269pub const SECPKG_INTERFACE_VERSION_4: u32 = 524288u32;
3270#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3271pub const SECPKG_INTERFACE_VERSION_5: u32 = 1048576u32;
3272#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3273pub const SECPKG_INTERFACE_VERSION_6: u32 = 2097152u32;
3274#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3275pub const SECPKG_INTERFACE_VERSION_7: u32 = 4194304u32;
3276#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3277pub const SECPKG_INTERFACE_VERSION_8: u32 = 8388608u32;
3278#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3279pub const SECPKG_INTERFACE_VERSION_9: u32 = 16777216u32;
3280#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3281pub const SECPKG_LSAMODEINIT_NAME: ::windows::core::PCSTR = ::windows::s!("SpLsaModeInitialize");
3282#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3283pub const SECPKG_MAX_OID_LENGTH: u32 = 32u32;
3284#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3285pub const SECPKG_NEGOTIATION_COMPLETE: u32 = 0u32;
3286#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3287pub const SECPKG_NEGOTIATION_DIRECT: u32 = 3u32;
3288#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3289pub const SECPKG_NEGOTIATION_IN_PROGRESS: u32 = 2u32;
3290#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3291pub const SECPKG_NEGOTIATION_OPTIMISTIC: u32 = 1u32;
3292#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3293pub const SECPKG_NEGOTIATION_TRY_MULTICRED: u32 = 4u32;
3294#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3295pub const SECPKG_OPTIONS_PERMANENT: u32 = 1u32;
3296#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3297pub const SECPKG_PRIMARY_CRED_EX_FLAGS_EX_DELEGATION_TOKEN: u32 = 1u32;
3298#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3299pub const SECPKG_REDIRECTED_LOGON_GUID_INITIALIZER: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc2be5457_82eb_483e_ae4e_7468ef14d509);
3300#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3301pub const SECPKG_STATE_CRED_ISOLATION_ENABLED: u32 = 32u32;
3302#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3303pub const SECPKG_STATE_DOMAIN_CONTROLLER: u32 = 4u32;
3304#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3305pub const SECPKG_STATE_ENCRYPTION_PERMITTED: u32 = 1u32;
3306#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3307pub const SECPKG_STATE_RESERVED_1: u32 = 2147483648u32;
3308#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3309pub const SECPKG_STATE_STANDALONE: u32 = 16u32;
3310#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3311pub const SECPKG_STATE_STRONG_ENCRYPTION_PERMITTED: u32 = 2u32;
3312#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3313pub const SECPKG_STATE_WORKSTATION: u32 = 8u32;
3314#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3315pub const SECPKG_SURROGATE_LOGON_VERSION_1: u32 = 1u32;
3316#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3317pub const SECPKG_UNICODE_ATTRIBUTE: u32 = 2147483648u32;
3318#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3319pub const SECPKG_USERMODEINIT_NAME: ::windows::core::PCSTR = ::windows::s!("SpUserModeInitialize");
3320#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3321pub const SECQOP_WRAP_NO_ENCRYPT: u32 = 2147483649u32;
3322#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3323pub const SECQOP_WRAP_OOB_DATA: u32 = 1073741824u32;
3324#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3325pub const SECRET_QUERY_VALUE: i32 = 2i32;
3326#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3327pub const SECRET_SET_VALUE: i32 = 1i32;
3328#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3329pub const SECURITY_ENTRYPOINT: ::windows::core::PCWSTR = ::windows::w!("INITSECURITYINTERFACEA");
3330#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3331pub const SECURITY_ENTRYPOINT16: ::windows::core::PCSTR = ::windows::s!("INITSECURITYINTERFACEA");
3332#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3333pub const SECURITY_ENTRYPOINT_ANSI: ::windows::core::PCWSTR = ::windows::w!("InitSecurityInterfaceW");
3334#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3335pub const SECURITY_ENTRYPOINT_ANSIA: ::windows::core::PCSTR = ::windows::s!("InitSecurityInterfaceA");
3336#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3337pub const SECURITY_ENTRYPOINT_ANSIW: ::windows::core::PCSTR = ::windows::s!("InitSecurityInterfaceW");
3338#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3339pub const SECURITY_NATIVE_DREP: u32 = 16u32;
3340#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3341pub const SECURITY_NETWORK_DREP: u32 = 0u32;
3342#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3343pub const SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION: u32 = 1u32;
3344#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3345pub const SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_2: u32 = 2u32;
3346#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3347pub const SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_3: u32 = 3u32;
3348#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3349pub const SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_4: u32 = 4u32;
3350#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3351pub const SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_5: u32 = 5u32;
3352#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3353pub const SEC_WINNT_AUTH_IDENTITY_ENCRYPT_FOR_SYSTEM: u32 = 4u32;
3354#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3355pub const SEC_WINNT_AUTH_IDENTITY_ENCRYPT_SAME_LOGON: u32 = 1u32;
3356#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3357pub const SEC_WINNT_AUTH_IDENTITY_ENCRYPT_SAME_PROCESS: u32 = 2u32;
3358#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3359pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_ID_PROVIDER: u32 = 524288u32;
3360#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3361pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_NULL_DOMAIN: u32 = 262144u32;
3362#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3363pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_NULL_USER: u32 = 131072u32;
3364#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3365pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_PROCESS_ENCRYPTED: u32 = 16u32;
3366#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3367pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_RESERVED: u32 = 65536u32;
3368#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3369pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_CREDPROV_DO_NOT_LOAD: u32 = 268435456u32;
3370#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3371pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_CREDPROV_DO_NOT_SAVE: u32 = 2147483648u32;
3372#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3373pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_NO_CHECKBOX: u32 = 536870912u32;
3374#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3375pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_SAVE_CRED_BY_CALLER: u32 = 2147483648u32;
3376#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3377pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_SAVE_CRED_CHECKED: u32 = 1073741824u32;
3378#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3379pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SSPIPFC_USE_MASK: u32 = 4278190080u32;
3380#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3381pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SYSTEM_ENCRYPTED: u32 = 128u32;
3382#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3383pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_SYSTEM_PROTECTED: u32 = 32u32;
3384#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3385pub const SEC_WINNT_AUTH_IDENTITY_FLAGS_USER_PROTECTED: u32 = 64u32;
3386#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3387pub const SEC_WINNT_AUTH_IDENTITY_MARSHALLED: u32 = 4u32;
3388#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3389pub const SEC_WINNT_AUTH_IDENTITY_ONLY: u32 = 8u32;
3390#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3391pub const SEC_WINNT_AUTH_IDENTITY_VERSION: u32 = 512u32;
3392#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3393pub const SEC_WINNT_AUTH_IDENTITY_VERSION_2: u32 = 513u32;
3394#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3395pub const SESSION_TICKET_INFO_V0: u32 = 0u32;
3396#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3397pub const SESSION_TICKET_INFO_VERSION: u32 = 0u32;
3398#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3399pub const SE_ADT_OBJECT_ONLY: u32 = 1u32;
3400#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3401pub const SE_ADT_PARAMETERS_SELF_RELATIVE: u32 = 1u32;
3402#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3403pub const SE_ADT_PARAMETERS_SEND_TO_LSA: u32 = 2u32;
3404#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3405pub const SE_ADT_PARAMETER_EXTENSIBLE_AUDIT: u32 = 4u32;
3406#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3407pub const SE_ADT_PARAMETER_GENERIC_AUDIT: u32 = 8u32;
3408#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3409pub const SE_ADT_PARAMETER_WRITE_SYNCHRONOUS: u32 = 16u32;
3410#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3411pub const SE_ADT_POLICY_AUDIT_EVENT_TYPE_EX_BEGIN: u32 = 100u32;
3412#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3413pub const SE_BATCH_LOGON_NAME: ::windows::core::PCWSTR = ::windows::w!("SeBatchLogonRight");
3414#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3415pub const SE_DENY_BATCH_LOGON_NAME: ::windows::core::PCWSTR = ::windows::w!("SeDenyBatchLogonRight");
3416#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3417pub const SE_DENY_INTERACTIVE_LOGON_NAME: ::windows::core::PCWSTR = ::windows::w!("SeDenyInteractiveLogonRight");
3418#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3419pub const SE_DENY_NETWORK_LOGON_NAME: ::windows::core::PCWSTR = ::windows::w!("SeDenyNetworkLogonRight");
3420#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3421pub const SE_DENY_REMOTE_INTERACTIVE_LOGON_NAME: ::windows::core::PCWSTR = ::windows::w!("SeDenyRemoteInteractiveLogonRight");
3422#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3423pub const SE_DENY_SERVICE_LOGON_NAME: ::windows::core::PCWSTR = ::windows::w!("SeDenyServiceLogonRight");
3424#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3425pub const SE_INTERACTIVE_LOGON_NAME: ::windows::core::PCWSTR = ::windows::w!("SeInteractiveLogonRight");
3426#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3427pub const SE_MAX_AUDIT_PARAMETERS: u32 = 32u32;
3428#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3429pub const SE_MAX_GENERIC_AUDIT_PARAMETERS: u32 = 28u32;
3430#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3431pub const SE_NETWORK_LOGON_NAME: ::windows::core::PCWSTR = ::windows::w!("SeNetworkLogonRight");
3432#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3433pub const SE_REMOTE_INTERACTIVE_LOGON_NAME: ::windows::core::PCWSTR = ::windows::w!("SeRemoteInteractiveLogonRight");
3434#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3435pub const SE_SERVICE_LOGON_NAME: ::windows::core::PCWSTR = ::windows::w!("SeServiceLogonRight");
3436#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3437pub const SL_CLIENTAPI_ZONE: u32 = 61440u32;
3438#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3439pub const SL_DEFAULT_MIGRATION_ENCRYPTOR_URI: ::windows::core::PCWSTR = ::windows::w!("msft:spp/migrationencryptor/tokenact/1.0");
3440#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3441pub const SL_EVENT_LICENSING_STATE_CHANGED: ::windows::core::PCWSTR = ::windows::w!("msft:rm/event/licensingstatechanged");
3442#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3443pub const SL_EVENT_POLICY_CHANGED: ::windows::core::PCWSTR = ::windows::w!("msft:rm/event/policychanged");
3444#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3445pub const SL_EVENT_USER_NOTIFICATION: ::windows::core::PCWSTR = ::windows::w!("msft:rm/event/usernotification");
3446#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3447pub const SL_E_ACTIVATION_IN_PROGRESS: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422296i32);
3448#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3449pub const SL_E_APPLICATION_POLICIES_MISSING: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418126i32);
3450#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3451pub const SL_E_APPLICATION_POLICIES_NOT_LOADED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418125i32);
3452#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3453pub const SL_E_AUTHN_CANT_VERIFY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418118i32);
3454#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3455pub const SL_E_AUTHN_CHALLENGE_NOT_SET: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418119i32);
3456#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3457pub const SL_E_AUTHN_MISMATCHED_KEY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418120i32);
3458#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3459pub const SL_E_AUTHN_WRONG_VERSION: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418121i32);
3460#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3461pub const SL_E_BASE_SKU_NOT_AVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418155i32);
3462#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3463pub const SL_E_BIOS_KEY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417707i32);
3464#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3465pub const SL_E_BLOCKED_PRODUCT_KEY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418159i32);
3466#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3467pub const SL_E_CHPA_ACTCONFIG_ID_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430519i32);
3468#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3469pub const SL_E_CHPA_BINDING_MAPPING_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430522i32);
3470#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3471pub const SL_E_CHPA_BINDING_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430523i32);
3472#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3473pub const SL_E_CHPA_BUSINESS_RULE_INPUT_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073428736i32);
3474#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3475pub const SL_E_CHPA_DATABASE_ERROR: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430509i32);
3476#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3477pub const SL_E_CHPA_DIGITALMARKER_BINDING_NOT_CONFIGURED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430446i32);
3478#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3479pub const SL_E_CHPA_DIGITALMARKER_INVALID_BINDING: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430447i32);
3480#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3481pub const SL_E_CHPA_DMAK_EXTENSION_LIMIT_EXCEEDED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430495i32);
3482#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3483pub const SL_E_CHPA_DMAK_LIMIT_EXCEEDED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430496i32);
3484#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3485pub const SL_E_CHPA_DYNAMICALLY_BLOCKED_PRODUCT_KEY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430432i32);
3486#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3487pub const SL_E_CHPA_FAILED_TO_DELETE_PRODUCTKEY_BINDING: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073428649i32);
3488#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3489pub const SL_E_CHPA_FAILED_TO_DELETE_PRODUCT_KEY_PROPERTY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073428644i32);
3490#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3491pub const SL_E_CHPA_FAILED_TO_INSERT_PRODUCTKEY_BINDING: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073428650i32);
3492#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3493pub const SL_E_CHPA_FAILED_TO_INSERT_PRODUCT_KEY_PROPERTY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073428646i32);
3494#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3495pub const SL_E_CHPA_FAILED_TO_INSERT_PRODUCT_KEY_RECORD: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073428608i32);
3496#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3497pub const SL_E_CHPA_FAILED_TO_PROCESS_PRODUCT_KEY_BINDINGS_XML: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073428648i32);
3498#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3499pub const SL_E_CHPA_FAILED_TO_UPDATE_PRODUCTKEY_BINDING: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073428651i32);
3500#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3501pub const SL_E_CHPA_FAILED_TO_UPDATE_PRODUCT_KEY_PROPERTY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073428645i32);
3502#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3503pub const SL_E_CHPA_FAILED_TO_UPDATE_PRODUCT_KEY_RECORD: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073428607i32);
3504#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3505pub const SL_E_CHPA_GENERAL_ERROR: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430448i32);
3506#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3507pub const SL_E_CHPA_INVALID_ACTCONFIG_ID: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430515i32);
3508#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3509pub const SL_E_CHPA_INVALID_ARGUMENT: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430508i32);
3510#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3511pub const SL_E_CHPA_INVALID_BINDING: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430526i32);
3512#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3513pub const SL_E_CHPA_INVALID_BINDING_URI: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430511i32);
3514#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3515pub const SL_E_CHPA_INVALID_PRODUCT_DATA: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430517i32);
3516#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3517pub const SL_E_CHPA_INVALID_PRODUCT_DATA_ID: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430518i32);
3518#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3519pub const SL_E_CHPA_INVALID_PRODUCT_KEY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430524i32);
3520#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3521pub const SL_E_CHPA_INVALID_PRODUCT_KEY_CHAR: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430512i32);
3522#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3523pub const SL_E_CHPA_INVALID_PRODUCT_KEY_FORMAT: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430513i32);
3524#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3525pub const SL_E_CHPA_INVALID_PRODUCT_KEY_LENGTH: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430514i32);
3526#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3527pub const SL_E_CHPA_MAXIMUM_UNLOCK_EXCEEDED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430520i32);
3528#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3529pub const SL_E_CHPA_MSCH_RESPONSE_NOT_AVAILABLE_VGA: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429505i32);
3530#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3531pub const SL_E_CHPA_NETWORK_ERROR: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430510i32);
3532#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3533pub const SL_E_CHPA_NO_RULES_TO_ACTIVATE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430449i32);
3534#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3535pub const SL_E_CHPA_NULL_VALUE_FOR_PROPERTY_NAME_OR_ID: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073428656i32);
3536#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3537pub const SL_E_CHPA_OEM_SLP_COA0: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430506i32);
3538#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3539pub const SL_E_CHPA_OVERRIDE_REQUEST_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430493i32);
3540#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3541pub const SL_E_CHPA_PRODUCT_KEY_BEING_USED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073428624i32);
3542#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3543pub const SL_E_CHPA_PRODUCT_KEY_BLOCKED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430525i32);
3544#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3545pub const SL_E_CHPA_PRODUCT_KEY_BLOCKED_IPLOCATION: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430505i32);
3546#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3547pub const SL_E_CHPA_PRODUCT_KEY_OUT_OF_RANGE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430527i32);
3548#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3549pub const SL_E_CHPA_REISSUANCE_LIMIT_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430494i32);
3550#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3551pub const SL_E_CHPA_RESPONSE_NOT_AVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430507i32);
3552#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3553pub const SL_E_CHPA_SYSTEM_ERROR: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430516i32);
3554#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3555pub const SL_E_CHPA_TIMEBASED_ACTIVATION_AFTER_END_DATE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430479i32);
3556#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3557pub const SL_E_CHPA_TIMEBASED_ACTIVATION_BEFORE_START_DATE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430480i32);
3558#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3559pub const SL_E_CHPA_TIMEBASED_ACTIVATION_NOT_AVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430478i32);
3560#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3561pub const SL_E_CHPA_TIMEBASED_PRODUCT_KEY_NOT_CONFIGURED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430477i32);
3562#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3563pub const SL_E_CHPA_UNKNOWN_PRODUCT_KEY_TYPE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073428636i32);
3564#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3565pub const SL_E_CHPA_UNKNOWN_PROPERTY_ID: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073428654i32);
3566#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3567pub const SL_E_CHPA_UNKNOWN_PROPERTY_NAME: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073428655i32);
3568#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3569pub const SL_E_CHPA_UNSUPPORTED_PRODUCT_KEY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073430521i32);
3570#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3571pub const SL_E_CIDIID_INVALID_CHECK_DIGITS: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418163i32);
3572#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3573pub const SL_E_CIDIID_INVALID_DATA: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418196i32);
3574#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3575pub const SL_E_CIDIID_INVALID_DATA_LENGTH: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418193i32);
3576#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3577pub const SL_E_CIDIID_INVALID_VERSION: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418195i32);
3578#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3579pub const SL_E_CIDIID_MISMATCHED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418191i32);
3580#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3581pub const SL_E_CIDIID_MISMATCHED_PKEY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418114i32);
3582#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3583pub const SL_E_CIDIID_NOT_BOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418113i32);
3584#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3585pub const SL_E_CIDIID_NOT_DEPOSITED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418192i32);
3586#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3587pub const SL_E_CIDIID_VERSION_NOT_SUPPORTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418194i32);
3588#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3589pub const SL_E_DATATYPE_MISMATCHED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418210i32);
3590#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3591pub const SL_E_DECRYPTION_LICENSES_NOT_AVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418212i32);
3592#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3593pub const SL_E_DEPENDENT_PROPERTY_NOT_SET: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418138i32);
3594#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3595pub const SL_E_DOWNLEVEL_SETUP_KEY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417708i32);
3596#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3597pub const SL_E_DUPLICATE_POLICY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418158i32);
3598#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3599pub const SL_E_EDITION_MISMATCHED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417712i32);
3600#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3601pub const SL_E_ENGINE_DETECTED_EXPLOIT: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429327i32);
3602#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3603pub const SL_E_EUL_CONSUMPTION_FAILED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422315i32);
3604#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3605pub const SL_E_EUL_NOT_AVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418188i32);
3606#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3607pub const SL_E_EVALUATION_FAILED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422333i32);
3608#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3609pub const SL_E_EVENT_ALREADY_REGISTERED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418213i32);
3610#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3611pub const SL_E_EVENT_NOT_REGISTERED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418214i32);
3612#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3613pub const SL_E_EXTERNAL_SIGNATURE_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418234i32);
3614#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3615pub const SL_E_GRACE_TIME_EXPIRED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418231i32);
3616#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3617pub const SL_E_HEALTH_CHECK_FAILED_MUI_FILES: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429330i32);
3618#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3619pub const SL_E_HEALTH_CHECK_FAILED_NEUTRAL_FILES: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429331i32);
3620#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3621pub const SL_E_HWID_CHANGED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417711i32);
3622#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3623pub const SL_E_HWID_ERROR: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422309i32);
3624#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3625pub const SL_E_IA_ID_MISMATCH: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073414909i32);
3626#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3627pub const SL_E_IA_INVALID_VIRTUALIZATION_PLATFORM: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073414911i32);
3628#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3629pub const SL_E_IA_MACHINE_NOT_BOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073414908i32);
3630#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3631pub const SL_E_IA_PARENT_PARTITION_NOT_ACTIVATED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073414910i32);
3632#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3633pub const SL_E_IA_THROTTLE_LIMIT_EXCEEDED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073414912i32);
3634#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3635pub const SL_E_INTERNAL_ERROR: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418239i32);
3636#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3637pub const SL_E_INVALID_AD_DATA: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429329i32);
3638#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3639pub const SL_E_INVALID_BINDING_BLOB: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418190i32);
3640#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3641pub const SL_E_INVALID_CLIENT_TOKEN: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429720i32);
3642#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3643pub const SL_E_INVALID_CONTEXT: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422335i32);
3644#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3645pub const SL_E_INVALID_CONTEXT_DATA: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422300i32);
3646#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3647pub const SL_E_INVALID_EVENT_ID: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418215i32);
3648#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3649pub const SL_E_INVALID_FILE_HASH: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429343i32);
3650#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3651pub const SL_E_INVALID_GUID: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422330i32);
3652#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3653pub const SL_E_INVALID_HASH: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422299i32);
3654#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3655pub const SL_E_INVALID_LICENSE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418209i32);
3656#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3657pub const SL_E_INVALID_LICENSE_STATE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429336i32);
3658#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3659pub const SL_E_INVALID_LICENSE_STATE_BREACH_GRACE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429871i32);
3660#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3661pub const SL_E_INVALID_LICENSE_STATE_BREACH_GRACE_EXPIRED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429870i32);
3662#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3663pub const SL_E_INVALID_OEM_OR_VOLUME_BINDING_DATA: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429337i32);
3664#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3665pub const SL_E_INVALID_OFFLINE_BLOB: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429719i32);
3666#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3667pub const SL_E_INVALID_OSVERSION_TEMPLATEID: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429717i32);
3668#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3669pub const SL_E_INVALID_OS_FOR_PRODUCT_KEY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429503i32);
3670#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3671pub const SL_E_INVALID_PACKAGE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418208i32);
3672#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3673pub const SL_E_INVALID_PACKAGE_VERSION: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418144i32);
3674#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3675pub const SL_E_INVALID_PKEY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418224i32);
3676#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3677pub const SL_E_INVALID_PRODUCT_KEY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418160i32);
3678#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3679pub const SL_E_INVALID_PRODUCT_KEY_TYPE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418115i32);
3680#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3681pub const SL_E_INVALID_RSDP_COUNT: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429328i32);
3682#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3683pub const SL_E_INVALID_RULESET_RULE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422301i32);
3684#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3685pub const SL_E_INVALID_RUNNING_MODE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418199i32);
3686#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3687pub const SL_E_INVALID_TEMPLATE_ID: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429770i32);
3688#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3689pub const SL_E_INVALID_TOKEN_DATA: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429332i32);
3690#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3691pub const SL_E_INVALID_USE_OF_ADD_ON_PKEY: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147164122i32);
3692#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3693pub const SL_E_INVALID_XML_BLOB: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429766i32);
3694#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3695pub const SL_E_IP_LOCATION_FALIED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429335i32);
3696#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3697pub const SL_E_ISSUANCE_LICENSE_NOT_INSTALLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418142i32);
3698#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3699pub const SL_E_LICENSE_AUTHORIZATION_FAILED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418206i32);
3700#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3701pub const SL_E_LICENSE_DECRYPTION_FAILED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418205i32);
3702#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3703pub const SL_E_LICENSE_FILE_NOT_INSTALLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418223i32);
3704#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3705pub const SL_E_LICENSE_INVALID_ADDON_INFO: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422310i32);
3706#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3707pub const SL_E_LICENSE_MANAGEMENT_DATA_DUPLICATED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418156i32);
3708#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3709pub const SL_E_LICENSE_MANAGEMENT_DATA_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418161i32);
3710#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3711pub const SL_E_LICENSE_NOT_BOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418112i32);
3712#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3713pub const SL_E_LICENSE_SERVER_URL_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418216i32);
3714#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3715pub const SL_E_LICENSE_SIGNATURE_VERIFICATION_FAILED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418211i32);
3716#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3717pub const SL_E_LUA_ACCESSDENIED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418203i32);
3718#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3719pub const SL_E_MISMATCHED_APPID: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418230i32);
3720#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3721pub const SL_E_MISMATCHED_KEY_TYPES: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429340i32);
3722#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3723pub const SL_E_MISMATCHED_PID: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418235i32);
3724#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3725pub const SL_E_MISMATCHED_PKEY_RANGE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418236i32);
3726#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3727pub const SL_E_MISMATCHED_PRODUCT_SKU: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418135i32);
3728#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3729pub const SL_E_MISMATCHED_SECURITY_PROCESSOR: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418226i32);
3730#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3731pub const SL_E_MISSING_OVERRIDE_ONLY_ATTRIBUTE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418157i32);
3732#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3733pub const SL_E_NONGENUINE_GRACE_TIME_EXPIRED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418140i32);
3734#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3735pub const SL_E_NONGENUINE_GRACE_TIME_EXPIRED_2: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418137i32);
3736#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3737pub const SL_E_NON_GENUINE_STATUS_LAST: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073428992i32);
3738#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3739pub const SL_E_NOTIFICATION_BREACH_DETECTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429199i32);
3740#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3741pub const SL_E_NOTIFICATION_GRACE_EXPIRED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429198i32);
3742#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3743pub const SL_E_NOTIFICATION_OTHER_REASONS: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429197i32);
3744#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3745pub const SL_E_NOT_ACTIVATED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422331i32);
3746#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3747pub const SL_E_NOT_EVALUATED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422332i32);
3748#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3749pub const SL_E_NOT_GENUINE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417728i32);
3750#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3751pub const SL_E_NOT_SUPPORTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418218i32);
3752#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3753pub const SL_E_NO_PID_CONFIG_DATA: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418229i32);
3754#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3755pub const SL_E_NO_PRODUCT_KEY_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417709i32);
3756#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3757pub const SL_E_OEM_KEY_EDITION_MISMATCH: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417710i32);
3758#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3759pub const SL_E_OFFLINE_GENUINE_BLOB_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429715i32);
3760#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3761pub const SL_E_OFFLINE_GENUINE_BLOB_REVOKED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429716i32);
3762#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3763pub const SL_E_OFFLINE_VALIDATION_BLOB_PARAM_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429718i32);
3764#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3765pub const SL_E_OPERATION_NOT_ALLOWED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418134i32);
3766#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3767pub const SL_E_OUT_OF_TOLERANCE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418225i32);
3768#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3769pub const SL_E_PKEY_INTERNAL_ERROR: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422311i32);
3770#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3771pub const SL_E_PKEY_INVALID_ALGORITHM: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422312i32);
3772#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3773pub const SL_E_PKEY_INVALID_CONFIG: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422314i32);
3774#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3775pub const SL_E_PKEY_INVALID_KEYCHANGE1: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422308i32);
3776#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3777pub const SL_E_PKEY_INVALID_KEYCHANGE2: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422307i32);
3778#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3779pub const SL_E_PKEY_INVALID_KEYCHANGE3: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422306i32);
3780#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3781pub const SL_E_PKEY_INVALID_UNIQUEID: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422313i32);
3782#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3783pub const SL_E_PKEY_INVALID_UPGRADE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418143i32);
3784#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3785pub const SL_E_PKEY_NOT_INSTALLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418220i32);
3786#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3787pub const SL_E_PLUGIN_INVALID_MANIFEST: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418127i32);
3788#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3789pub const SL_E_PLUGIN_NOT_REGISTERED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418122i32);
3790#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3791pub const SL_E_POLICY_CACHE_INVALID: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418200i32);
3792#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3793pub const SL_E_POLICY_OTHERINFO_MISMATCH: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422304i32);
3794#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3795pub const SL_E_PRODUCT_KEY_INSTALLATION_NOT_ALLOWED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418189i32);
3796#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3797pub const SL_E_PRODUCT_SKU_NOT_INSTALLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418219i32);
3798#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3799pub const SL_E_PRODUCT_UNIQUENESS_GROUP_ID_INVALID: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422303i32);
3800#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3801pub const SL_E_PROXY_KEY_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418202i32);
3802#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3803pub const SL_E_PROXY_POLICY_NOT_UPDATED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418169i32);
3804#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3805pub const SL_E_PUBLISHING_LICENSE_NOT_INSTALLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418217i32);
3806#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3807pub const SL_E_RAC_NOT_AVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418233i32);
3808#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3809pub const SL_E_RIGHT_NOT_CONSUMED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418238i32);
3810#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3811pub const SL_E_RIGHT_NOT_GRANTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418221i32);
3812#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3813pub const SL_E_SECURE_STORE_ID_MISMATCH: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422302i32);
3814#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3815pub const SL_E_SERVICE_RUNNING: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418117i32);
3816#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3817pub const SL_E_SERVICE_STOPPING: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418123i32);
3818#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3819pub const SL_E_SFS_BAD_TOKEN_EXT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147163899i32);
3820#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3821pub const SL_E_SFS_BAD_TOKEN_NAME: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147163900i32);
3822#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3823pub const SL_E_SFS_DUPLICATE_TOKEN_NAME: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147163898i32);
3824#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3825pub const SL_E_SFS_FILE_READ_ERROR: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147163895i32);
3826#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3827pub const SL_E_SFS_FILE_WRITE_ERROR: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147163894i32);
3828#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3829pub const SL_E_SFS_INVALID_FD_TABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147163902i32);
3830#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3831pub const SL_E_SFS_INVALID_FILE_POSITION: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147163893i32);
3832#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3833pub const SL_E_SFS_INVALID_FS_HEADER: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147163891i32);
3834#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3835pub const SL_E_SFS_INVALID_FS_VERSION: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147163903i32);
3836#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3837pub const SL_E_SFS_INVALID_SYNC: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147163901i32);
3838#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3839pub const SL_E_SFS_INVALID_TOKEN_DATA_HASH: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147163896i32);
3840#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3841pub const SL_E_SFS_INVALID_TOKEN_DESCRIPTOR: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147163890i32);
3842#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3843pub const SL_E_SFS_NO_ACTIVE_TRANSACTION: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147163892i32);
3844#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3845pub const SL_E_SFS_TOKEN_SIZE_MISMATCH: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147163897i32);
3846#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3847pub const SL_E_SLP_BAD_FORMAT: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418151i32);
3848#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3849pub const SL_E_SLP_INVALID_MARKER_VERSION: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418116i32);
3850#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3851pub const SL_E_SLP_MISSING_ACPI_SLIC: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418153i32);
3852#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3853pub const SL_E_SLP_MISSING_SLP_MARKER: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418152i32);
3854#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3855pub const SL_E_SLP_NOT_SIGNED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418198i32);
3856#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3857pub const SL_E_SLP_OEM_CERT_MISSING: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418141i32);
3858#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3859pub const SL_E_SOFTMOD_EXPLOIT_DETECTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429333i32);
3860#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3861pub const SL_E_SPC_NOT_AVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418232i32);
3862#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3863pub const SL_E_SRV_AUTHORIZATION_FAILED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073434619i32);
3864#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3865pub const SL_E_SRV_BUSINESS_TOKEN_ENTRY_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073434608i32);
3866#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3867pub const SL_E_SRV_CLIENT_CLOCK_OUT_OF_SYNC: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073434607i32);
3868#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3869pub const SL_E_SRV_GENERAL_ERROR: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073434368i32);
3870#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3871pub const SL_E_SRV_INVALID_BINDING: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073434618i32);
3872#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3873pub const SL_E_SRV_INVALID_LICENSE_STRUCTURE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073434620i32);
3874#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3875pub const SL_E_SRV_INVALID_PAYLOAD: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073434616i32);
3876#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3877pub const SL_E_SRV_INVALID_PRODUCT_KEY_LICENSE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073434622i32);
3878#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3879pub const SL_E_SRV_INVALID_PUBLISH_LICENSE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073434623i32);
3880#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3881pub const SL_E_SRV_INVALID_RIGHTS_ACCOUNT_LICENSE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073434621i32);
3882#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3883pub const SL_E_SRV_INVALID_SECURITY_PROCESSOR_LICENSE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073434615i32);
3884#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3885pub const SL_E_SRV_SERVER_PONG: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073434617i32);
3886#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3887pub const SL_E_STORE_UPGRADE_TOKEN_NOT_AUTHORIZED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422290i32);
3888#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3889pub const SL_E_STORE_UPGRADE_TOKEN_NOT_PRS_SIGNED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422292i32);
3890#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3891pub const SL_E_STORE_UPGRADE_TOKEN_REQUIRED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422295i32);
3892#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3893pub const SL_E_STORE_UPGRADE_TOKEN_WRONG_EDITION: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422294i32);
3894#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3895pub const SL_E_STORE_UPGRADE_TOKEN_WRONG_PID: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422293i32);
3896#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3897pub const SL_E_STORE_UPGRADE_TOKEN_WRONG_VERSION: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422291i32);
3898#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3899pub const SL_E_TAMPER_DETECTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418201i32);
3900#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3901pub const SL_E_TAMPER_RECOVERY_REQUIRES_ACTIVATION: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073414656i32);
3902#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3903pub const SL_E_TKA_CERT_CNG_NOT_AVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417453i32);
3904#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3905pub const SL_E_TKA_CERT_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417467i32);
3906#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3907pub const SL_E_TKA_CHALLENGE_EXPIRED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417471i32);
3908#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3909pub const SL_E_TKA_CHALLENGE_MISMATCH: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417463i32);
3910#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3911pub const SL_E_TKA_CRITERIA_MISMATCH: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417457i32);
3912#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3913pub const SL_E_TKA_FAILED_GRANT_PARSING: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417460i32);
3914#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3915pub const SL_E_TKA_GRANT_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417468i32);
3916#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3917pub const SL_E_TKA_INVALID_BLOB: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417465i32);
3918#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3919pub const SL_E_TKA_INVALID_CERTIFICATE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417462i32);
3920#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3921pub const SL_E_TKA_INVALID_CERT_CHAIN: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417469i32);
3922#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3923pub const SL_E_TKA_INVALID_SKU_ID: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417466i32);
3924#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3925pub const SL_E_TKA_INVALID_SMARTCARD: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417461i32);
3926#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3927pub const SL_E_TKA_INVALID_THUMBPRINT: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417459i32);
3928#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3929pub const SL_E_TKA_SILENT_ACTIVATION_FAILURE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417470i32);
3930#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3931pub const SL_E_TKA_SOFT_CERT_DISALLOWED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417455i32);
3932#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3933pub const SL_E_TKA_SOFT_CERT_INVALID: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417454i32);
3934#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3935pub const SL_E_TKA_TAMPERED_CERT_CHAIN: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417464i32);
3936#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3937pub const SL_E_TKA_THUMBPRINT_CERT_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417458i32);
3938#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3939pub const SL_E_TKA_TPID_MISMATCH: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073417456i32);
3940#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3941pub const SL_E_TOKEN_STORE_INVALID_STATE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422334i32);
3942#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3943pub const SL_E_TOKSTO_ALREADY_INITIALIZED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422326i32);
3944#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3945pub const SL_E_TOKSTO_CANT_ACQUIRE_MUTEX: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422317i32);
3946#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3947pub const SL_E_TOKSTO_CANT_CREATE_FILE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422324i32);
3948#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3949pub const SL_E_TOKSTO_CANT_CREATE_MUTEX: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422318i32);
3950#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3951pub const SL_E_TOKSTO_CANT_PARSE_PROPERTIES: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422321i32);
3952#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3953pub const SL_E_TOKSTO_CANT_READ_FILE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422322i32);
3954#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3955pub const SL_E_TOKSTO_CANT_WRITE_TO_FILE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422323i32);
3956#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3957pub const SL_E_TOKSTO_INVALID_FILE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422319i32);
3958#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3959pub const SL_E_TOKSTO_NOT_INITIALIZED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422327i32);
3960#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3961pub const SL_E_TOKSTO_NO_ID_SET: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422325i32);
3962#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3963pub const SL_E_TOKSTO_NO_PROPERTIES: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422328i32);
3964#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3965pub const SL_E_TOKSTO_NO_TOKEN_DATA: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422316i32);
3966#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3967pub const SL_E_TOKSTO_PROPERTY_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422320i32);
3968#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3969pub const SL_E_TOKSTO_TOKEN_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422329i32);
3970#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3971pub const SL_E_USE_LICENSE_NOT_INSTALLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418237i32);
3972#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3973pub const SL_E_VALIDATION_BLOB_PARAM_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429721i32);
3974#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3975pub const SL_E_VALIDATION_BLOCKED_PRODUCT_KEY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429342i32);
3976#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3977pub const SL_E_VALIDATION_INVALID_PRODUCT_KEY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073429339i32);
3978#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3979pub const SL_E_VALIDITY_PERIOD_EXPIRED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073415161i32);
3980#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3981pub const SL_E_VALIDITY_TIME_EXPIRED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418207i32);
3982#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3983pub const SL_E_VALUE_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418222i32);
3984#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3985pub const SL_E_VL_AD_AO_NAME_TOO_LONG: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418110i32);
3986#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3987pub const SL_E_VL_AD_AO_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418111i32);
3988#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3989pub const SL_E_VL_AD_SCHEMA_VERSION_NOT_SUPPORTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418109i32);
3990#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3991pub const SL_E_VL_BINDING_SERVICE_NOT_ENABLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418183i32);
3992#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3993pub const SL_E_VL_BINDING_SERVICE_UNAVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418124i32);
3994#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3995pub const SL_E_VL_INFO_PRODUCT_USER_RIGHT: ::windows::core::HRESULT = ::windows::core::HRESULT(1074065472i32);
3996#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3997pub const SL_E_VL_INVALID_TIMESTAMP: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418132i32);
3998#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
3999pub const SL_E_VL_KEY_MANAGEMENT_SERVICE_ID_MISMATCH: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418174i32);
4000#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4001pub const SL_E_VL_KEY_MANAGEMENT_SERVICE_NOT_ACTIVATED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418175i32);
4002#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4003pub const SL_E_VL_KEY_MANAGEMENT_SERVICE_VM_NOT_SUPPORTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418133i32);
4004#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4005pub const SL_E_VL_MACHINE_NOT_BOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418154i32);
4006#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4007pub const SL_E_VL_NOT_ENOUGH_COUNT: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418184i32);
4008#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4009pub const SL_E_VL_NOT_WINDOWS_SLP: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418187i32);
4010#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4011pub const SL_E_WINDOWS_INVALID_LICENSE_STATE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073418204i32);
4012#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4013pub const SL_E_WINDOWS_VERSION_MISMATCH: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073422297i32);
4014#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4015pub const SL_INFO_KEY_ACTIVE_PLUGINS: ::windows::core::PCWSTR = ::windows::w!("ActivePlugins");
4016#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4017pub const SL_INFO_KEY_AUTHOR: ::windows::core::PCWSTR = ::windows::w!("Author");
4018#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4019pub const SL_INFO_KEY_BIOS_OA2_MINOR_VERSION: ::windows::core::PCWSTR = ::windows::w!("BiosOA2MinorVersion");
4020#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4021pub const SL_INFO_KEY_BIOS_PKEY: ::windows::core::PCWSTR = ::windows::w!("BiosProductKey");
4022#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4023pub const SL_INFO_KEY_BIOS_PKEY_DESCRIPTION: ::windows::core::PCWSTR = ::windows::w!("BiosProductKeyDescription");
4024#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4025pub const SL_INFO_KEY_BIOS_PKEY_PKPN: ::windows::core::PCWSTR = ::windows::w!("BiosProductKeyPkPn");
4026#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4027pub const SL_INFO_KEY_BIOS_SLIC_STATE: ::windows::core::PCWSTR = ::windows::w!("BiosSlicState");
4028#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4029pub const SL_INFO_KEY_CHANNEL: ::windows::core::PCWSTR = ::windows::w!("Channel");
4030#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4031pub const SL_INFO_KEY_DESCRIPTION: ::windows::core::PCWSTR = ::windows::w!("Description");
4032#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4033pub const SL_INFO_KEY_DIGITAL_PID: ::windows::core::PCWSTR = ::windows::w!("DigitalPID");
4034#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4035pub const SL_INFO_KEY_DIGITAL_PID2: ::windows::core::PCWSTR = ::windows::w!("DigitalPID2");
4036#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4037pub const SL_INFO_KEY_IS_KMS: ::windows::core::PCWSTR = ::windows::w!("IsKeyManagementService");
4038#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4039pub const SL_INFO_KEY_IS_PRS: ::windows::core::PCWSTR = ::windows::w!("IsPRS");
4040#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4041pub const SL_INFO_KEY_KMS_CURRENT_COUNT: ::windows::core::PCWSTR = ::windows::w!("KeyManagementServiceCurrentCount");
4042#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4043pub const SL_INFO_KEY_KMS_FAILED_REQUESTS: ::windows::core::PCWSTR = ::windows::w!("KeyManagementServiceFailedRequests");
4044#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4045pub const SL_INFO_KEY_KMS_LICENSED_REQUESTS: ::windows::core::PCWSTR = ::windows::w!("KeyManagementServiceLicensedRequests");
4046#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4047pub const SL_INFO_KEY_KMS_NON_GENUINE_GRACE_REQUESTS: ::windows::core::PCWSTR = ::windows::w!("KeyManagementServiceNonGenuineGraceRequests");
4048#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4049pub const SL_INFO_KEY_KMS_NOTIFICATION_REQUESTS: ::windows::core::PCWSTR = ::windows::w!("KeyManagementServiceNotificationRequests");
4050#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4051pub const SL_INFO_KEY_KMS_OOB_GRACE_REQUESTS: ::windows::core::PCWSTR = ::windows::w!("KeyManagementServiceOOBGraceRequests");
4052#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4053pub const SL_INFO_KEY_KMS_OOT_GRACE_REQUESTS: ::windows::core::PCWSTR = ::windows::w!("KeyManagementServiceOOTGraceRequests");
4054#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4055pub const SL_INFO_KEY_KMS_REQUIRED_CLIENT_COUNT: ::windows::core::PCWSTR = ::windows::w!("KeyManagementServiceRequiredClientCount");
4056#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4057pub const SL_INFO_KEY_KMS_TOTAL_REQUESTS: ::windows::core::PCWSTR = ::windows::w!("KeyManagementServiceTotalRequests");
4058#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4059pub const SL_INFO_KEY_KMS_UNLICENSED_REQUESTS: ::windows::core::PCWSTR = ::windows::w!("KeyManagementServiceUnlicensedRequests");
4060#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4061pub const SL_INFO_KEY_LICENSE_TYPE: ::windows::core::PCWSTR = ::windows::w!("LicenseType");
4062#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4063pub const SL_INFO_KEY_LICENSOR_URL: ::windows::core::PCWSTR = ::windows::w!("LicensorUrl");
4064#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4065pub const SL_INFO_KEY_NAME: ::windows::core::PCWSTR = ::windows::w!("Name");
4066#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4067pub const SL_INFO_KEY_PARTIAL_PRODUCT_KEY: ::windows::core::PCWSTR = ::windows::w!("PartialProductKey");
4068#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4069pub const SL_INFO_KEY_PRODUCT_KEY_ACTIVATION_URL: ::windows::core::PCWSTR = ::windows::w!("PKCURL");
4070#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4071pub const SL_INFO_KEY_PRODUCT_SKU_ID: ::windows::core::PCWSTR = ::windows::w!("ProductSkuId");
4072#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4073pub const SL_INFO_KEY_RIGHT_ACCOUNT_ACTIVATION_URL: ::windows::core::PCWSTR = ::windows::w!("RACURL");
4074#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4075pub const SL_INFO_KEY_SECURE_PROCESSOR_ACTIVATION_URL: ::windows::core::PCWSTR = ::windows::w!("SPCURL");
4076#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4077pub const SL_INFO_KEY_SECURE_STORE_ID: ::windows::core::PCWSTR = ::windows::w!("SecureStoreId");
4078#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4079pub const SL_INFO_KEY_SYSTEM_STATE: ::windows::core::PCWSTR = ::windows::w!("SystemState");
4080#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4081pub const SL_INFO_KEY_USE_LICENSE_ACTIVATION_URL: ::windows::core::PCWSTR = ::windows::w!("EULURL");
4082#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4083pub const SL_INFO_KEY_VERSION: ::windows::core::PCWSTR = ::windows::w!("Version");
4084#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4085pub const SL_INTERNAL_ZONE: u32 = 57344u32;
4086#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4087pub const SL_I_NONGENUINE_GRACE_PERIOD: ::windows::core::HRESULT = ::windows::core::HRESULT(1074065509i32);
4088#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4089pub const SL_I_NONGENUINE_GRACE_PERIOD_2: ::windows::core::HRESULT = ::windows::core::HRESULT(1074065512i32);
4090#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4091pub const SL_I_OOB_GRACE_PERIOD: ::windows::core::HRESULT = ::windows::core::HRESULT(1074065420i32);
4092#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4093pub const SL_I_OOT_GRACE_PERIOD: ::windows::core::HRESULT = ::windows::core::HRESULT(1074065421i32);
4094#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4095pub const SL_I_PERPETUAL_OOB_GRACE_PERIOD: ::windows::core::HRESULT = ::windows::core::HRESULT(1074068485i32);
4096#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4097pub const SL_I_STORE_BASED_ACTIVATION: ::windows::core::HRESULT = ::windows::core::HRESULT(1074066433i32);
4098#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4099pub const SL_I_TIMEBASED_EXTENDED_GRACE_PERIOD: ::windows::core::HRESULT = ::windows::core::HRESULT(1074068486i32);
4100#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4101pub const SL_I_TIMEBASED_VALIDITY_PERIOD: ::windows::core::HRESULT = ::windows::core::HRESULT(1074068484i32);
4102#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4103pub const SL_MDOLLAR_ZONE: u32 = 40960u32;
4104#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4105pub const SL_MSCH_ZONE: u32 = 49152u32;
4106#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4107pub const SL_PKEY_DETECT: ::windows::core::PCWSTR = ::windows::w!("msft:rm/algorithm/pkey/detect");
4108#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4109pub const SL_PKEY_MS2005: ::windows::core::PCWSTR = ::windows::w!("msft:rm/algorithm/pkey/2005");
4110#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4111pub const SL_PKEY_MS2009: ::windows::core::PCWSTR = ::windows::w!("msft:rm/algorithm/pkey/2009");
4112#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4113pub const SL_POLICY_EVALUATION_MODE_ENABLED: ::windows::core::PCWSTR = ::windows::w!("Security-SPP-EvaluationModeEnabled");
4114#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4115pub const SL_PROP_ACTIVATION_VALIDATION_IN_PROGRESS: ::windows::core::PCWSTR = ::windows::w!("SL_ACTIVATION_VALIDATION_IN_PROGRESS");
4116#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4117pub const SL_PROP_BRT_COMMIT: ::windows::core::PCWSTR = ::windows::w!("SL_BRT_COMMIT");
4118#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4119pub const SL_PROP_BRT_DATA: ::windows::core::PCWSTR = ::windows::w!("SL_BRT_DATA");
4120#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4121pub const SL_PROP_GENUINE_RESULT: ::windows::core::PCWSTR = ::windows::w!("SL_GENUINE_RESULT");
4122#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4123pub const SL_PROP_GET_GENUINE_AUTHZ: ::windows::core::PCWSTR = ::windows::w!("SL_GET_GENUINE_AUTHZ");
4124#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4125pub const SL_PROP_GET_GENUINE_SERVER_AUTHZ: ::windows::core::PCWSTR = ::windows::w!("SL_GET_GENUINE_SERVER_AUTHZ");
4126#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4127pub const SL_PROP_LAST_ACT_ATTEMPT_HRESULT: ::windows::core::PCWSTR = ::windows::w!("SL_LAST_ACT_ATTEMPT_HRESULT");
4128#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4129pub const SL_PROP_LAST_ACT_ATTEMPT_SERVER_FLAGS: ::windows::core::PCWSTR = ::windows::w!("SL_LAST_ACT_ATTEMPT_SERVER_FLAGS");
4130#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4131pub const SL_PROP_LAST_ACT_ATTEMPT_TIME: ::windows::core::PCWSTR = ::windows::w!("SL_LAST_ACT_ATTEMPT_TIME");
4132#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4133pub const SL_PROP_NONGENUINE_GRACE_FLAG: ::windows::core::PCWSTR = ::windows::w!("SL_NONGENUINE_GRACE_FLAG");
4134#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4135pub const SL_REARM_REBOOT_REQUIRED: u32 = 1u32;
4136#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4137pub const SL_REMAPPING_MDOLLAR_CIDIID_INVALID_CHECK_DIGITS: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313776i32);
4138#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4139pub const SL_REMAPPING_MDOLLAR_CIDIID_INVALID_DATA: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313778i32);
4140#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4141pub const SL_REMAPPING_MDOLLAR_CIDIID_INVALID_DATA_LENGTH: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313777i32);
4142#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4143pub const SL_REMAPPING_MDOLLAR_CIDIID_INVALID_VERSION: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313779i32);
4144#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4145pub const SL_REMAPPING_MDOLLAR_DIGITALMARKER_BINDING_NOT_CONFIGURED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313708i32);
4146#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4147pub const SL_REMAPPING_MDOLLAR_DIGITALMARKER_INVALID_BINDING: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313709i32);
4148#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4149pub const SL_REMAPPING_MDOLLAR_DMAK_EXTENSION_LIMIT_EXCEEDED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313792i32);
4150#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4151pub const SL_REMAPPING_MDOLLAR_DMAK_LIMIT_EXCEEDED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313793i32);
4152#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4153pub const SL_REMAPPING_MDOLLAR_DMAK_OVERRIDE_LIMIT_REACHED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313706i32);
4154#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4155pub const SL_REMAPPING_MDOLLAR_FREE_OFFER_EXPIRED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143312896i32);
4156#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4157pub const SL_REMAPPING_MDOLLAR_INVALID_ACTCONFIG_ID: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313802i32);
4158#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4159pub const SL_REMAPPING_MDOLLAR_INVALID_ARGUMENT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313795i32);
4160#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4161pub const SL_REMAPPING_MDOLLAR_INVALID_BINDING: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313818i32);
4162#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4163pub const SL_REMAPPING_MDOLLAR_INVALID_BINDING_URI: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313798i32);
4164#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4165pub const SL_REMAPPING_MDOLLAR_INVALID_PRODUCT_DATA: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313804i32);
4166#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4167pub const SL_REMAPPING_MDOLLAR_INVALID_PRODUCT_DATA_ID: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313805i32);
4168#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4169pub const SL_REMAPPING_MDOLLAR_INVALID_PRODUCT_KEY: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313816i32);
4170#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4171pub const SL_REMAPPING_MDOLLAR_INVALID_PRODUCT_KEY_FORMAT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313800i32);
4172#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4173pub const SL_REMAPPING_MDOLLAR_INVALID_PRODUCT_KEY_LENGTH: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313801i32);
4174#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4175pub const SL_REMAPPING_MDOLLAR_MAXIMUM_UNLOCK_EXCEEDED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313807i32);
4176#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4177pub const SL_REMAPPING_MDOLLAR_NO_RULES_TO_ACTIVATE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313720i32);
4178#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4179pub const SL_REMAPPING_MDOLLAR_OEM_SLP_COA0: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313789i32);
4180#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4181pub const SL_REMAPPING_MDOLLAR_OSR_DEVICE_BLOCKED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143310909i32);
4182#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4183pub const SL_REMAPPING_MDOLLAR_OSR_DEVICE_THROTTLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143310914i32);
4184#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4185pub const SL_REMAPPING_MDOLLAR_OSR_DONOR_HWID_NO_ENTITLEMENT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143310920i32);
4186#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4187pub const SL_REMAPPING_MDOLLAR_OSR_GENERIC_ERROR: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143310919i32);
4188#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4189pub const SL_REMAPPING_MDOLLAR_OSR_GP_DISABLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143310913i32);
4190#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4191pub const SL_REMAPPING_MDOLLAR_OSR_HARDWARE_BLOCKED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143310912i32);
4192#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4193pub const SL_REMAPPING_MDOLLAR_OSR_LICENSE_BLOCKED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143310910i32);
4194#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4195pub const SL_REMAPPING_MDOLLAR_OSR_LICENSE_THROTTLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143310915i32);
4196#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4197pub const SL_REMAPPING_MDOLLAR_OSR_NOT_ADMIN: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143310917i32);
4198#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4199pub const SL_REMAPPING_MDOLLAR_OSR_NO_ASSOCIATION: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143310918i32);
4200#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4201pub const SL_REMAPPING_MDOLLAR_OSR_USER_BLOCKED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143310911i32);
4202#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4203pub const SL_REMAPPING_MDOLLAR_OSR_USER_THROTTLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143310916i32);
4204#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4205pub const SL_REMAPPING_MDOLLAR_PRODUCT_KEY_BLOCKED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313817i32);
4206#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4207pub const SL_REMAPPING_MDOLLAR_PRODUCT_KEY_BLOCKED_IPLOCATION: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313717i32);
4208#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4209pub const SL_REMAPPING_MDOLLAR_PRODUCT_KEY_OUT_OF_RANGE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313819i32);
4210#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4211pub const SL_REMAPPING_MDOLLAR_ROT_OVERRIDE_LIMIT_REACHED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313707i32);
4212#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4213pub const SL_REMAPPING_MDOLLAR_TIMEBASED_ACTIVATION_AFTER_END_DATE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313768i32);
4214#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4215pub const SL_REMAPPING_MDOLLAR_TIMEBASED_ACTIVATION_BEFORE_START_DATE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313769i32);
4216#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4217pub const SL_REMAPPING_MDOLLAR_TIMEBASED_ACTIVATION_NOT_AVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313767i32);
4218#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4219pub const SL_REMAPPING_MDOLLAR_TIMEBASED_PRODUCT_KEY_NOT_CONFIGURED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313766i32);
4220#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4221pub const SL_REMAPPING_MDOLLAR_UNSUPPORTED_PRODUCT_KEY: ::windows::core::HRESULT = ::windows::core::HRESULT(-2143313812i32);
4222#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4223pub const SL_REMAPPING_SP_PUB_API_BAD_GET_INFO_QUERY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073426414i32);
4224#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4225pub const SL_REMAPPING_SP_PUB_API_HANDLE_NOT_COMMITED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073426303i32);
4226#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4227pub const SL_REMAPPING_SP_PUB_API_INVALID_ALGORITHM_TYPE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073426423i32);
4228#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4229pub const SL_REMAPPING_SP_PUB_API_INVALID_HANDLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073426388i32);
4230#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4231pub const SL_REMAPPING_SP_PUB_API_INVALID_KEY_LENGTH: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073426347i32);
4232#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4233pub const SL_REMAPPING_SP_PUB_API_INVALID_LICENSE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073426432i32);
4234#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4235pub const SL_REMAPPING_SP_PUB_API_NO_AES_PROVIDER: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073426317i32);
4236#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4237pub const SL_REMAPPING_SP_PUB_API_TOO_MANY_LOADED_ENVIRONMENTS: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073426420i32);
4238#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4239pub const SL_REMAPPING_SP_PUB_CRYPTO_HASH_FINALIZED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425911i32);
4240#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4241pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_BLOCK: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425905i32);
4242#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4243pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_BLOCKLENGTH: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425918i32);
4244#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4245pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_CIPHER: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425917i32);
4246#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4247pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_CIPHERMODE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425916i32);
4248#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4249pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_FORMAT: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425904i32);
4250#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4251pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_KEYLENGTH: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425919i32);
4252#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4253pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_PADDING: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425903i32);
4254#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4255pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_SIGNATURE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425906i32);
4256#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4257pub const SL_REMAPPING_SP_PUB_CRYPTO_INVALID_SIGNATURELENGTH: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425907i32);
4258#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4259pub const SL_REMAPPING_SP_PUB_CRYPTO_KEY_NOT_AVAILABLE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425910i32);
4260#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4261pub const SL_REMAPPING_SP_PUB_CRYPTO_KEY_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425909i32);
4262#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4263pub const SL_REMAPPING_SP_PUB_CRYPTO_NOT_BLOCK_ALIGNED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425908i32);
4264#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4265pub const SL_REMAPPING_SP_PUB_CRYPTO_UNKNOWN_ATTRIBUTEID: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425912i32);
4266#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4267pub const SL_REMAPPING_SP_PUB_CRYPTO_UNKNOWN_HASHID: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425913i32);
4268#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4269pub const SL_REMAPPING_SP_PUB_CRYPTO_UNKNOWN_KEYID: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425914i32);
4270#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4271pub const SL_REMAPPING_SP_PUB_CRYPTO_UNKNOWN_PROVIDERID: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425915i32);
4272#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4273pub const SL_REMAPPING_SP_PUB_GENERAL_NOT_INITIALIZED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073426175i32);
4274#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4275pub const SL_REMAPPING_SP_PUB_KM_CACHE_IDENTICAL: ::windows::core::HRESULT = ::windows::core::HRESULT(1074058753i32);
4276#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4277pub const SL_REMAPPING_SP_PUB_KM_CACHE_POLICY_CHANGED: ::windows::core::HRESULT = ::windows::core::HRESULT(1074058754i32);
4278#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4279pub const SL_REMAPPING_SP_PUB_KM_CACHE_TAMPER: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425151i32);
4280#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4281pub const SL_REMAPPING_SP_PUB_KM_CACHE_TAMPER_RESTORE_FAILED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425150i32);
4282#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4283pub const SL_REMAPPING_SP_PUB_PROXY_SOFT_TAMPER: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073424638i32);
4284#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4285pub const SL_REMAPPING_SP_PUB_TAMPER_MODULE_AUTHENTICATION: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425407i32);
4286#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4287pub const SL_REMAPPING_SP_PUB_TAMPER_SECURITY_PROCESSOR_PATCHED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425406i32);
4288#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4289pub const SL_REMAPPING_SP_PUB_TIMER_ALREADY_EXISTS: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425654i32);
4290#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4291pub const SL_REMAPPING_SP_PUB_TIMER_EXPIRED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425652i32);
4292#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4293pub const SL_REMAPPING_SP_PUB_TIMER_NAME_SIZE_TOO_BIG: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425651i32);
4294#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4295pub const SL_REMAPPING_SP_PUB_TIMER_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425653i32);
4296#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4297pub const SL_REMAPPING_SP_PUB_TIMER_READ_ONLY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425647i32);
4298#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4299pub const SL_REMAPPING_SP_PUB_TRUSTED_TIME_OK: ::windows::core::HRESULT = ::windows::core::HRESULT(1074057999i32);
4300#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4301pub const SL_REMAPPING_SP_PUB_TS_ACCESS_DENIED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425644i32);
4302#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4303pub const SL_REMAPPING_SP_PUB_TS_ATTRIBUTE_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425645i32);
4304#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4305pub const SL_REMAPPING_SP_PUB_TS_ATTRIBUTE_READ_ONLY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425646i32);
4306#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4307pub const SL_REMAPPING_SP_PUB_TS_DATA_SIZE_TOO_BIG: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425656i32);
4308#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4309pub const SL_REMAPPING_SP_PUB_TS_ENTRY_KEY_ALREADY_EXISTS: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425659i32);
4310#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4311pub const SL_REMAPPING_SP_PUB_TS_ENTRY_KEY_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425660i32);
4312#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4313pub const SL_REMAPPING_SP_PUB_TS_ENTRY_KEY_SIZE_TOO_BIG: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425658i32);
4314#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4315pub const SL_REMAPPING_SP_PUB_TS_ENTRY_READ_ONLY: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425648i32);
4316#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4317pub const SL_REMAPPING_SP_PUB_TS_FULL: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425650i32);
4318#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4319pub const SL_REMAPPING_SP_PUB_TS_INVALID_HW_BINDING: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425655i32);
4320#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4321pub const SL_REMAPPING_SP_PUB_TS_MAX_REARM_REACHED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425657i32);
4322#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4323pub const SL_REMAPPING_SP_PUB_TS_NAMESPACE_IN_USE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425642i32);
4324#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4325pub const SL_REMAPPING_SP_PUB_TS_NAMESPACE_NOT_FOUND: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425643i32);
4326#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4327pub const SL_REMAPPING_SP_PUB_TS_REARMED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425662i32);
4328#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4329pub const SL_REMAPPING_SP_PUB_TS_RECREATED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425661i32);
4330#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4331pub const SL_REMAPPING_SP_PUB_TS_TAMPERED: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425663i32);
4332#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4333pub const SL_REMAPPING_SP_PUB_TS_TAMPERED_BREADCRUMB_GENERATION: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425640i32);
4334#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4335pub const SL_REMAPPING_SP_PUB_TS_TAMPERED_BREADCRUMB_LOAD_INVALID: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425641i32);
4336#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4337pub const SL_REMAPPING_SP_PUB_TS_TAMPERED_DATA_BREADCRUMB_MISMATCH: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425637i32);
4338#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4339pub const SL_REMAPPING_SP_PUB_TS_TAMPERED_DATA_VERSION_MISMATCH: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425636i32);
4340#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4341pub const SL_REMAPPING_SP_PUB_TS_TAMPERED_INVALID_DATA: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425639i32);
4342#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4343pub const SL_REMAPPING_SP_PUB_TS_TAMPERED_NO_DATA: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073425638i32);
4344#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4345pub const SL_REMAPPING_SP_STATUS_ALREADY_EXISTS: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073426171i32);
4346#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4347pub const SL_REMAPPING_SP_STATUS_DEBUGGER_DETECTED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147167989i32);
4348#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4349pub const SL_REMAPPING_SP_STATUS_GENERIC_FAILURE: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073426173i32);
4350#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4351pub const SL_REMAPPING_SP_STATUS_INSUFFICIENT_BUFFER: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073426169i32);
4352#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4353pub const SL_REMAPPING_SP_STATUS_INVALIDARG: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073426172i32);
4354#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4355pub const SL_REMAPPING_SP_STATUS_INVALIDDATA: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073426168i32);
4356#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4357pub const SL_REMAPPING_SP_STATUS_INVALID_SPAPI_CALL: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073426167i32);
4358#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4359pub const SL_REMAPPING_SP_STATUS_INVALID_SPAPI_VERSION: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073426166i32);
4360#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4361pub const SL_REMAPPING_SP_STATUS_NO_MORE_DATA: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073426164i32);
4362#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4363pub const SL_REMAPPING_SP_STATUS_PUSHKEY_CONFLICT: ::windows::core::HRESULT = ::windows::core::HRESULT(-1073424639i32);
4364#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4365pub const SL_REMAPPING_SP_STATUS_SYSTEM_TIME_SKEWED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2147167998i32);
4366#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4367pub const SL_SERVER_ZONE: u32 = 45056u32;
4368#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4369pub const SL_SYSTEM_STATE_REBOOT_POLICY_FOUND: u32 = 1u32;
4370#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4371pub const SL_SYSTEM_STATE_TAMPERED: u32 = 2u32;
4372#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4373pub const SPP_MIGRATION_GATHER_ACTIVATED_WINDOWS_STATE: u32 = 2u32;
4374#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4375pub const SPP_MIGRATION_GATHER_ALL: u32 = 4294967295u32;
4376#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4377pub const SPP_MIGRATION_GATHER_MIGRATABLE_APPS: u32 = 1u32;
4378#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4379pub const SP_ACCEPT_CREDENTIALS_NAME: ::windows::core::PCSTR = ::windows::s!("SpAcceptCredentials\u{0}");
4380#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4381pub const SP_PROT_ALL: u32 = 4294967295u32;
4382#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4383pub const SP_PROT_DTLS1_0_CLIENT: u32 = 131072u32;
4384#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4385pub const SP_PROT_DTLS1_0_SERVER: u32 = 65536u32;
4386#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4387pub const SP_PROT_DTLS1_2_CLIENT: u32 = 524288u32;
4388#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4389pub const SP_PROT_DTLS1_2_SERVER: u32 = 262144u32;
4390#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4391pub const SP_PROT_DTLS_CLIENT: u32 = 131072u32;
4392#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4393pub const SP_PROT_DTLS_SERVER: u32 = 65536u32;
4394#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4395pub const SP_PROT_NONE: u32 = 0u32;
4396#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4397pub const SP_PROT_PCT1_CLIENT: u32 = 2u32;
4398#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4399pub const SP_PROT_PCT1_SERVER: u32 = 1u32;
4400#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4401pub const SP_PROT_SSL2_CLIENT: u32 = 8u32;
4402#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4403pub const SP_PROT_SSL2_SERVER: u32 = 4u32;
4404#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4405pub const SP_PROT_SSL3_CLIENT: u32 = 32u32;
4406#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4407pub const SP_PROT_SSL3_SERVER: u32 = 16u32;
4408#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4409pub const SP_PROT_TLS1_0_CLIENT: u32 = 128u32;
4410#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4411pub const SP_PROT_TLS1_0_SERVER: u32 = 64u32;
4412#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4413pub const SP_PROT_TLS1_1_CLIENT: u32 = 512u32;
4414#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4415pub const SP_PROT_TLS1_1_SERVER: u32 = 256u32;
4416#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4417pub const SP_PROT_TLS1_2_CLIENT: u32 = 2048u32;
4418#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4419pub const SP_PROT_TLS1_2_SERVER: u32 = 1024u32;
4420#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4421pub const SP_PROT_TLS1_3PLUS_CLIENT: u32 = 8192u32;
4422#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4423pub const SP_PROT_TLS1_3PLUS_SERVER: u32 = 4096u32;
4424#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4425pub const SP_PROT_TLS1_3_CLIENT: u32 = 8192u32;
4426#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4427pub const SP_PROT_TLS1_3_SERVER: u32 = 4096u32;
4428#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4429pub const SP_PROT_TLS1_CLIENT: u32 = 128u32;
4430#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4431pub const SP_PROT_TLS1_SERVER: u32 = 64u32;
4432#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4433pub const SP_PROT_UNI_CLIENT: u32 = 2147483648u32;
4434#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4435pub const SP_PROT_UNI_SERVER: u32 = 1073741824u32;
4436#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4437pub const SSL2SP_NAME: ::windows::core::PCWSTR = ::windows::w!("Microsoft SSL 2.0");
4438#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4439pub const SSL2SP_NAME_A: ::windows::core::PCSTR = ::windows::s!("Microsoft SSL 2.0");
4440#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4441pub const SSL2SP_NAME_W: ::windows::core::PCWSTR = ::windows::w!("Microsoft SSL 2.0");
4442#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4443pub const SSL3SP_NAME: ::windows::core::PCWSTR = ::windows::w!("Microsoft SSL 3.0");
4444#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4445pub const SSL3SP_NAME_A: ::windows::core::PCSTR = ::windows::s!("Microsoft SSL 3.0");
4446#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4447pub const SSL3SP_NAME_W: ::windows::core::PCWSTR = ::windows::w!("Microsoft SSL 3.0");
4448#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4449pub const SSL_CRACK_CERTIFICATE_NAME: ::windows::core::PCWSTR = ::windows::w!("SslCrackCertificate");
4450#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4451pub const SSL_FREE_CERTIFICATE_NAME: ::windows::core::PCWSTR = ::windows::w!("SslFreeCertificate");
4452#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4453pub const SSL_SESSION_RECONNECT: u32 = 1u32;
4454#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4455pub const SSPIPFC_CREDPROV_DO_NOT_LOAD: u32 = 4u32;
4456#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4457pub const SSPIPFC_CREDPROV_DO_NOT_SAVE: u32 = 1u32;
4458#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4459pub const SSPIPFC_NO_CHECKBOX: u32 = 2u32;
4460#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4461pub const SSPIPFC_SAVE_CRED_BY_CALLER: u32 = 1u32;
4462#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4463pub const SSPIPFC_USE_CREDUIBROKER: u32 = 8u32;
4464#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4465pub const SZ_ALG_MAX_SIZE: u32 = 64u32;
4466#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4467pub const TLS1SP_NAME: ::windows::core::PCWSTR = ::windows::w!("Microsoft TLS 1.0");
4468#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4469pub const TLS1SP_NAME_A: ::windows::core::PCSTR = ::windows::s!("Microsoft TLS 1.0");
4470#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4471pub const TLS1SP_NAME_W: ::windows::core::PCWSTR = ::windows::w!("Microsoft TLS 1.0");
4472#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4473pub const TLS1_ALERT_ACCESS_DENIED: u32 = 49u32;
4474#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4475pub const TLS1_ALERT_BAD_CERTIFICATE: u32 = 42u32;
4476#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4477pub const TLS1_ALERT_BAD_RECORD_MAC: u32 = 20u32;
4478#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4479pub const TLS1_ALERT_CERTIFICATE_EXPIRED: u32 = 45u32;
4480#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4481pub const TLS1_ALERT_CERTIFICATE_REVOKED: u32 = 44u32;
4482#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4483pub const TLS1_ALERT_CERTIFICATE_UNKNOWN: u32 = 46u32;
4484#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4485pub const TLS1_ALERT_CLOSE_NOTIFY: u32 = 0u32;
4486#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4487pub const TLS1_ALERT_DECODE_ERROR: u32 = 50u32;
4488#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4489pub const TLS1_ALERT_DECOMPRESSION_FAIL: u32 = 30u32;
4490#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4491pub const TLS1_ALERT_DECRYPTION_FAILED: u32 = 21u32;
4492#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4493pub const TLS1_ALERT_DECRYPT_ERROR: u32 = 51u32;
4494#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4495pub const TLS1_ALERT_EXPORT_RESTRICTION: u32 = 60u32;
4496#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4497pub const TLS1_ALERT_HANDSHAKE_FAILURE: u32 = 40u32;
4498#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4499pub const TLS1_ALERT_ILLEGAL_PARAMETER: u32 = 47u32;
4500#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4501pub const TLS1_ALERT_INSUFFIENT_SECURITY: u32 = 71u32;
4502#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4503pub const TLS1_ALERT_INTERNAL_ERROR: u32 = 80u32;
4504#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4505pub const TLS1_ALERT_NO_APP_PROTOCOL: u32 = 120u32;
4506#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4507pub const TLS1_ALERT_NO_RENEGOTIATION: u32 = 100u32;
4508#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4509pub const TLS1_ALERT_PROTOCOL_VERSION: u32 = 70u32;
4510#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4511pub const TLS1_ALERT_RECORD_OVERFLOW: u32 = 22u32;
4512#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4513pub const TLS1_ALERT_UNEXPECTED_MESSAGE: u32 = 10u32;
4514#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4515pub const TLS1_ALERT_UNKNOWN_CA: u32 = 48u32;
4516#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4517pub const TLS1_ALERT_UNKNOWN_PSK_IDENTITY: u32 = 115u32;
4518#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4519pub const TLS1_ALERT_UNSUPPORTED_CERT: u32 = 43u32;
4520#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4521pub const TLS1_ALERT_UNSUPPORTED_EXT: u32 = 110u32;
4522#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4523pub const TLS1_ALERT_USER_CANCELED: u32 = 90u32;
4524#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4525pub const TLS_PARAMS_OPTIONAL: u32 = 1u32;
4526#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4527pub const TRUSTED_QUERY_AUTH: i32 = 64i32;
4528#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4529pub const TRUSTED_QUERY_CONTROLLERS: i32 = 2i32;
4530#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4531pub const TRUSTED_QUERY_DOMAIN_NAME: i32 = 1i32;
4532#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4533pub const TRUSTED_QUERY_POSIX: i32 = 8i32;
4534#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4535pub const TRUSTED_SET_AUTH: i32 = 32i32;
4536#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4537pub const TRUSTED_SET_CONTROLLERS: i32 = 4i32;
4538#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4539pub const TRUSTED_SET_POSIX: i32 = 16i32;
4540#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4541pub const TRUST_ATTRIBUTES_USER: u32 = 4278190080u32;
4542#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4543pub const TRUST_ATTRIBUTES_VALID: u32 = 4278386687u32;
4544#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4545pub const TRUST_ATTRIBUTE_CROSS_ORGANIZATION_ENABLE_TGT_DELEGATION: u32 = 2048u32;
4546#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4547pub const TRUST_ATTRIBUTE_CROSS_ORGANIZATION_NO_TGT_DELEGATION: u32 = 512u32;
4548#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4549pub const TRUST_ATTRIBUTE_PIM_TRUST: u32 = 1024u32;
4550#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4551pub const TRUST_ATTRIBUTE_QUARANTINED_DOMAIN: u32 = 4u32;
4552#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4553pub const TRUST_ATTRIBUTE_TREE_PARENT: u32 = 4194304u32;
4554#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4555pub const TRUST_ATTRIBUTE_TREE_ROOT: u32 = 8388608u32;
4556#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4557pub const TRUST_ATTRIBUTE_TRUST_USES_AES_KEYS: u32 = 256u32;
4558#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4559pub const TRUST_ATTRIBUTE_TRUST_USES_RC4_ENCRYPTION: u32 = 128u32;
4560#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4561pub const UNDERSTANDS_LONG_NAMES: u32 = 1u32;
4562#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4563pub const UNISP_NAME: ::windows::core::PCWSTR = ::windows::w!("Microsoft Unified Security Protocol Provider");
4564#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4565pub const UNISP_NAME_A: ::windows::core::PCSTR = ::windows::s!("Microsoft Unified Security Protocol Provider");
4566#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4567pub const UNISP_NAME_W: ::windows::core::PCWSTR = ::windows::w!("Microsoft Unified Security Protocol Provider");
4568#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4569pub const UNISP_RPC_ID: u32 = 14u32;
4570#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4571pub const USER_ACCOUNT_AUTO_LOCKED: u32 = 1024u32;
4572#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4573pub const USER_ACCOUNT_DISABLED: u32 = 1u32;
4574#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4575pub const USER_ALL_PARAMETERS: u32 = 2097152u32;
4576#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4577pub const USER_DONT_EXPIRE_PASSWORD: u32 = 512u32;
4578#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4579pub const USER_DONT_REQUIRE_PREAUTH: u32 = 65536u32;
4580#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4581pub const USER_ENCRYPTED_TEXT_PASSWORD_ALLOWED: u32 = 2048u32;
4582#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4583pub const USER_HOME_DIRECTORY_REQUIRED: u32 = 2u32;
4584#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4585pub const USER_INTERDOMAIN_TRUST_ACCOUNT: u32 = 64u32;
4586#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4587pub const USER_MNS_LOGON_ACCOUNT: u32 = 32u32;
4588#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4589pub const USER_NORMAL_ACCOUNT: u32 = 16u32;
4590#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4591pub const USER_NOT_DELEGATED: u32 = 16384u32;
4592#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4593pub const USER_NO_AUTH_DATA_REQUIRED: u32 = 524288u32;
4594#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4595pub const USER_PARTIAL_SECRETS_ACCOUNT: u32 = 1048576u32;
4596#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4597pub const USER_PASSWORD_EXPIRED: u32 = 131072u32;
4598#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4599pub const USER_PASSWORD_NOT_REQUIRED: u32 = 4u32;
4600#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4601pub const USER_SERVER_TRUST_ACCOUNT: u32 = 256u32;
4602#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4603pub const USER_SMARTCARD_REQUIRED: u32 = 4096u32;
4604#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4605pub const USER_TEMP_DUPLICATE_ACCOUNT: u32 = 8u32;
4606#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4607pub const USER_TRUSTED_FOR_DELEGATION: u32 = 8192u32;
4608#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4609pub const USER_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION: u32 = 262144u32;
4610#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4611pub const USER_USE_AES_KEYS: u32 = 2097152u32;
4612#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4613pub const USER_USE_DES_KEY_ONLY: u32 = 32768u32;
4614#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4615pub const USER_WORKSTATION_TRUST_ACCOUNT: u32 = 128u32;
4616#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4617pub const WDIGEST_SP_NAME: ::windows::core::PCWSTR = ::windows::w!("WDigest");
4618#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4619pub const WDIGEST_SP_NAME_A: ::windows::core::PCSTR = ::windows::s!("WDigest");
4620#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4621pub const WDIGEST_SP_NAME_W: ::windows::core::PCWSTR = ::windows::w!("WDigest");
4622#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4623pub const WINDOWS_SLID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x55c92734_d682_4d71_983e_d6ec3f16059f);
4624#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4625pub const _FACILITY_WINDOWS_STORE: u32 = 63u32;
4626#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4627#[repr(transparent)]
4628#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
4629pub struct ASC_REQ_FLAGS(pub u32);
4630#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4631pub const ASC_REQ_DELEGATE: ASC_REQ_FLAGS = ASC_REQ_FLAGS(1u32);
4632#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4633pub const ASC_REQ_MUTUAL_AUTH: ASC_REQ_FLAGS = ASC_REQ_FLAGS(2u32);
4634#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4635pub const ASC_REQ_REPLAY_DETECT: ASC_REQ_FLAGS = ASC_REQ_FLAGS(4u32);
4636#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4637pub const ASC_REQ_SEQUENCE_DETECT: ASC_REQ_FLAGS = ASC_REQ_FLAGS(8u32);
4638#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4639pub const ASC_REQ_CONFIDENTIALITY: ASC_REQ_FLAGS = ASC_REQ_FLAGS(16u32);
4640#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4641pub const ASC_REQ_USE_SESSION_KEY: ASC_REQ_FLAGS = ASC_REQ_FLAGS(32u32);
4642#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4643pub const ASC_REQ_SESSION_TICKET: ASC_REQ_FLAGS = ASC_REQ_FLAGS(64u32);
4644#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4645pub const ASC_REQ_ALLOCATE_MEMORY: ASC_REQ_FLAGS = ASC_REQ_FLAGS(256u32);
4646#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4647pub const ASC_REQ_USE_DCE_STYLE: ASC_REQ_FLAGS = ASC_REQ_FLAGS(512u32);
4648#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4649pub const ASC_REQ_DATAGRAM: ASC_REQ_FLAGS = ASC_REQ_FLAGS(1024u32);
4650#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4651pub const ASC_REQ_CONNECTION: ASC_REQ_FLAGS = ASC_REQ_FLAGS(2048u32);
4652#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4653pub const ASC_REQ_CALL_LEVEL: ASC_REQ_FLAGS = ASC_REQ_FLAGS(4096u32);
4654#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4655pub const ASC_REQ_FRAGMENT_SUPPLIED: ASC_REQ_FLAGS = ASC_REQ_FLAGS(8192u32);
4656#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4657pub const ASC_REQ_EXTENDED_ERROR: ASC_REQ_FLAGS = ASC_REQ_FLAGS(32768u32);
4658#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4659pub const ASC_REQ_STREAM: ASC_REQ_FLAGS = ASC_REQ_FLAGS(65536u32);
4660#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4661pub const ASC_REQ_INTEGRITY: ASC_REQ_FLAGS = ASC_REQ_FLAGS(131072u32);
4662#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4663pub const ASC_REQ_LICENSING: ASC_REQ_FLAGS = ASC_REQ_FLAGS(262144u32);
4664#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4665pub const ASC_REQ_IDENTIFY: ASC_REQ_FLAGS = ASC_REQ_FLAGS(524288u32);
4666#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4667pub const ASC_REQ_ALLOW_NULL_SESSION: ASC_REQ_FLAGS = ASC_REQ_FLAGS(1048576u32);
4668#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4669pub const ASC_REQ_ALLOW_NON_USER_LOGONS: ASC_REQ_FLAGS = ASC_REQ_FLAGS(2097152u32);
4670#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4671pub const ASC_REQ_ALLOW_CONTEXT_REPLAY: ASC_REQ_FLAGS = ASC_REQ_FLAGS(4194304u32);
4672#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4673pub const ASC_REQ_FRAGMENT_TO_FIT: ASC_REQ_FLAGS = ASC_REQ_FLAGS(8388608u32);
4674#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4675pub const ASC_REQ_NO_TOKEN: ASC_REQ_FLAGS = ASC_REQ_FLAGS(16777216u32);
4676#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4677pub const ASC_REQ_PROXY_BINDINGS: ASC_REQ_FLAGS = ASC_REQ_FLAGS(67108864u32);
4678#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4679pub const ASC_REQ_ALLOW_MISSING_BINDINGS: ASC_REQ_FLAGS = ASC_REQ_FLAGS(268435456u32);
4680impl ::core::marker::Copy for ASC_REQ_FLAGS {}
4681impl ::core::clone::Clone for ASC_REQ_FLAGS {
4682 fn clone(&self) -> Self {
4683 *self
4684 }
4685}
4686impl ::core::default::Default for ASC_REQ_FLAGS {
4687 fn default() -> Self {
4688 Self(0)
4689 }
4690}
4691impl ::windows::core::TypeKind for ASC_REQ_FLAGS {
4692 type TypeKind = ::windows::core::CopyType;
4693}
4694impl ::core::fmt::Debug for ASC_REQ_FLAGS {
4695 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4696 f.debug_tuple("ASC_REQ_FLAGS").field(&self.0).finish()
4697 }
4698}
4699impl ASC_REQ_FLAGS {
4700 pub const fn contains(&self, other: Self) -> bool {
4701 self.0 & other.0 == other.0
4702 }
4703}
4704impl ::core::ops::BitOr for ASC_REQ_FLAGS {
4705 type Output = Self;
4706 fn bitor(self, other: Self) -> Self {
4707 Self(self.0 | other.0)
4708 }
4709}
4710impl ::core::ops::BitAnd for ASC_REQ_FLAGS {
4711 type Output = Self;
4712 fn bitand(self, other: Self) -> Self {
4713 Self(self.0 & other.0)
4714 }
4715}
4716impl ::core::ops::BitOrAssign for ASC_REQ_FLAGS {
4717 fn bitor_assign(&mut self, other: Self) {
4718 self.0.bitor_assign(other.0)
4719 }
4720}
4721impl ::core::ops::BitAndAssign for ASC_REQ_FLAGS {
4722 fn bitand_assign(&mut self, other: Self) {
4723 self.0.bitand_assign(other.0)
4724 }
4725}
4726impl ::core::ops::Not for ASC_REQ_FLAGS {
4727 type Output = Self;
4728 fn not(self) -> Self {
4729 Self(self.0.not())
4730 }
4731}
4732#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4733#[repr(transparent)]
4734#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
4735pub struct ASC_REQ_HIGH_FLAGS(pub u64);
4736#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4737pub const ASC_REQ_MESSAGES: ASC_REQ_HIGH_FLAGS = ASC_REQ_HIGH_FLAGS(4294967296u64);
4738impl ::core::marker::Copy for ASC_REQ_HIGH_FLAGS {}
4739impl ::core::clone::Clone for ASC_REQ_HIGH_FLAGS {
4740 fn clone(&self) -> Self {
4741 *self
4742 }
4743}
4744impl ::core::default::Default for ASC_REQ_HIGH_FLAGS {
4745 fn default() -> Self {
4746 Self(0)
4747 }
4748}
4749impl ::windows::core::TypeKind for ASC_REQ_HIGH_FLAGS {
4750 type TypeKind = ::windows::core::CopyType;
4751}
4752impl ::core::fmt::Debug for ASC_REQ_HIGH_FLAGS {
4753 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4754 f.debug_tuple("ASC_REQ_HIGH_FLAGS").field(&self.0).finish()
4755 }
4756}
4757impl ASC_REQ_HIGH_FLAGS {
4758 pub const fn contains(&self, other: Self) -> bool {
4759 self.0 & other.0 == other.0
4760 }
4761}
4762impl ::core::ops::BitOr for ASC_REQ_HIGH_FLAGS {
4763 type Output = Self;
4764 fn bitor(self, other: Self) -> Self {
4765 Self(self.0 | other.0)
4766 }
4767}
4768impl ::core::ops::BitAnd for ASC_REQ_HIGH_FLAGS {
4769 type Output = Self;
4770 fn bitand(self, other: Self) -> Self {
4771 Self(self.0 & other.0)
4772 }
4773}
4774impl ::core::ops::BitOrAssign for ASC_REQ_HIGH_FLAGS {
4775 fn bitor_assign(&mut self, other: Self) {
4776 self.0.bitor_assign(other.0)
4777 }
4778}
4779impl ::core::ops::BitAndAssign for ASC_REQ_HIGH_FLAGS {
4780 fn bitand_assign(&mut self, other: Self) {
4781 self.0.bitand_assign(other.0)
4782 }
4783}
4784impl ::core::ops::Not for ASC_REQ_HIGH_FLAGS {
4785 type Output = Self;
4786 fn not(self) -> Self {
4787 Self(self.0.not())
4788 }
4789}
4790#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4791#[repr(transparent)]
4792#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
4793pub struct CRED_FETCH(pub i32);
4794#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4795pub const CredFetchDefault: CRED_FETCH = CRED_FETCH(0i32);
4796#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4797pub const CredFetchDPAPI: CRED_FETCH = CRED_FETCH(1i32);
4798#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4799pub const CredFetchForced: CRED_FETCH = CRED_FETCH(2i32);
4800impl ::core::marker::Copy for CRED_FETCH {}
4801impl ::core::clone::Clone for CRED_FETCH {
4802 fn clone(&self) -> Self {
4803 *self
4804 }
4805}
4806impl ::core::default::Default for CRED_FETCH {
4807 fn default() -> Self {
4808 Self(0)
4809 }
4810}
4811impl ::windows::core::TypeKind for CRED_FETCH {
4812 type TypeKind = ::windows::core::CopyType;
4813}
4814impl ::core::fmt::Debug for CRED_FETCH {
4815 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4816 f.debug_tuple("CRED_FETCH").field(&self.0).finish()
4817 }
4818}
4819#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4820#[repr(transparent)]
4821#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
4822pub struct DOMAIN_PASSWORD_PROPERTIES(pub u32);
4823#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4824pub const DOMAIN_PASSWORD_COMPLEX: DOMAIN_PASSWORD_PROPERTIES = DOMAIN_PASSWORD_PROPERTIES(1u32);
4825#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4826pub const DOMAIN_PASSWORD_NO_ANON_CHANGE: DOMAIN_PASSWORD_PROPERTIES = DOMAIN_PASSWORD_PROPERTIES(2u32);
4827#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4828pub const DOMAIN_PASSWORD_NO_CLEAR_CHANGE: DOMAIN_PASSWORD_PROPERTIES = DOMAIN_PASSWORD_PROPERTIES(4u32);
4829#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4830pub const DOMAIN_LOCKOUT_ADMINS: DOMAIN_PASSWORD_PROPERTIES = DOMAIN_PASSWORD_PROPERTIES(8u32);
4831#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4832pub const DOMAIN_PASSWORD_STORE_CLEARTEXT: DOMAIN_PASSWORD_PROPERTIES = DOMAIN_PASSWORD_PROPERTIES(16u32);
4833#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4834pub const DOMAIN_REFUSE_PASSWORD_CHANGE: DOMAIN_PASSWORD_PROPERTIES = DOMAIN_PASSWORD_PROPERTIES(32u32);
4835impl ::core::marker::Copy for DOMAIN_PASSWORD_PROPERTIES {}
4836impl ::core::clone::Clone for DOMAIN_PASSWORD_PROPERTIES {
4837 fn clone(&self) -> Self {
4838 *self
4839 }
4840}
4841impl ::core::default::Default for DOMAIN_PASSWORD_PROPERTIES {
4842 fn default() -> Self {
4843 Self(0)
4844 }
4845}
4846impl ::windows::core::TypeKind for DOMAIN_PASSWORD_PROPERTIES {
4847 type TypeKind = ::windows::core::CopyType;
4848}
4849impl ::core::fmt::Debug for DOMAIN_PASSWORD_PROPERTIES {
4850 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4851 f.debug_tuple("DOMAIN_PASSWORD_PROPERTIES").field(&self.0).finish()
4852 }
4853}
4854impl DOMAIN_PASSWORD_PROPERTIES {
4855 pub const fn contains(&self, other: Self) -> bool {
4856 self.0 & other.0 == other.0
4857 }
4858}
4859impl ::core::ops::BitOr for DOMAIN_PASSWORD_PROPERTIES {
4860 type Output = Self;
4861 fn bitor(self, other: Self) -> Self {
4862 Self(self.0 | other.0)
4863 }
4864}
4865impl ::core::ops::BitAnd for DOMAIN_PASSWORD_PROPERTIES {
4866 type Output = Self;
4867 fn bitand(self, other: Self) -> Self {
4868 Self(self.0 & other.0)
4869 }
4870}
4871impl ::core::ops::BitOrAssign for DOMAIN_PASSWORD_PROPERTIES {
4872 fn bitor_assign(&mut self, other: Self) {
4873 self.0.bitor_assign(other.0)
4874 }
4875}
4876impl ::core::ops::BitAndAssign for DOMAIN_PASSWORD_PROPERTIES {
4877 fn bitand_assign(&mut self, other: Self) {
4878 self.0.bitand_assign(other.0)
4879 }
4880}
4881impl ::core::ops::Not for DOMAIN_PASSWORD_PROPERTIES {
4882 type Output = Self;
4883 fn not(self) -> Self {
4884 Self(self.0.not())
4885 }
4886}
4887#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4888#[repr(transparent)]
4889#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
4890pub struct EXPORT_SECURITY_CONTEXT_FLAGS(pub u32);
4891#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4892pub const SECPKG_CONTEXT_EXPORT_RESET_NEW: EXPORT_SECURITY_CONTEXT_FLAGS = EXPORT_SECURITY_CONTEXT_FLAGS(1u32);
4893#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4894pub const SECPKG_CONTEXT_EXPORT_DELETE_OLD: EXPORT_SECURITY_CONTEXT_FLAGS = EXPORT_SECURITY_CONTEXT_FLAGS(2u32);
4895#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4896pub const SECPKG_CONTEXT_EXPORT_TO_KERNEL: EXPORT_SECURITY_CONTEXT_FLAGS = EXPORT_SECURITY_CONTEXT_FLAGS(4u32);
4897impl ::core::marker::Copy for EXPORT_SECURITY_CONTEXT_FLAGS {}
4898impl ::core::clone::Clone for EXPORT_SECURITY_CONTEXT_FLAGS {
4899 fn clone(&self) -> Self {
4900 *self
4901 }
4902}
4903impl ::core::default::Default for EXPORT_SECURITY_CONTEXT_FLAGS {
4904 fn default() -> Self {
4905 Self(0)
4906 }
4907}
4908impl ::windows::core::TypeKind for EXPORT_SECURITY_CONTEXT_FLAGS {
4909 type TypeKind = ::windows::core::CopyType;
4910}
4911impl ::core::fmt::Debug for EXPORT_SECURITY_CONTEXT_FLAGS {
4912 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4913 f.debug_tuple("EXPORT_SECURITY_CONTEXT_FLAGS").field(&self.0).finish()
4914 }
4915}
4916impl EXPORT_SECURITY_CONTEXT_FLAGS {
4917 pub const fn contains(&self, other: Self) -> bool {
4918 self.0 & other.0 == other.0
4919 }
4920}
4921impl ::core::ops::BitOr for EXPORT_SECURITY_CONTEXT_FLAGS {
4922 type Output = Self;
4923 fn bitor(self, other: Self) -> Self {
4924 Self(self.0 | other.0)
4925 }
4926}
4927impl ::core::ops::BitAnd for EXPORT_SECURITY_CONTEXT_FLAGS {
4928 type Output = Self;
4929 fn bitand(self, other: Self) -> Self {
4930 Self(self.0 & other.0)
4931 }
4932}
4933impl ::core::ops::BitOrAssign for EXPORT_SECURITY_CONTEXT_FLAGS {
4934 fn bitor_assign(&mut self, other: Self) {
4935 self.0.bitor_assign(other.0)
4936 }
4937}
4938impl ::core::ops::BitAndAssign for EXPORT_SECURITY_CONTEXT_FLAGS {
4939 fn bitand_assign(&mut self, other: Self) {
4940 self.0.bitand_assign(other.0)
4941 }
4942}
4943impl ::core::ops::Not for EXPORT_SECURITY_CONTEXT_FLAGS {
4944 type Output = Self;
4945 fn not(self) -> Self {
4946 Self(self.0.not())
4947 }
4948}
4949#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4950#[repr(transparent)]
4951#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
4952pub struct EXTENDED_NAME_FORMAT(pub i32);
4953#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4954pub const NameUnknown: EXTENDED_NAME_FORMAT = EXTENDED_NAME_FORMAT(0i32);
4955#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4956pub const NameFullyQualifiedDN: EXTENDED_NAME_FORMAT = EXTENDED_NAME_FORMAT(1i32);
4957#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4958pub const NameSamCompatible: EXTENDED_NAME_FORMAT = EXTENDED_NAME_FORMAT(2i32);
4959#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4960pub const NameDisplay: EXTENDED_NAME_FORMAT = EXTENDED_NAME_FORMAT(3i32);
4961#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4962pub const NameUniqueId: EXTENDED_NAME_FORMAT = EXTENDED_NAME_FORMAT(6i32);
4963#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4964pub const NameCanonical: EXTENDED_NAME_FORMAT = EXTENDED_NAME_FORMAT(7i32);
4965#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4966pub const NameUserPrincipal: EXTENDED_NAME_FORMAT = EXTENDED_NAME_FORMAT(8i32);
4967#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4968pub const NameCanonicalEx: EXTENDED_NAME_FORMAT = EXTENDED_NAME_FORMAT(9i32);
4969#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4970pub const NameServicePrincipal: EXTENDED_NAME_FORMAT = EXTENDED_NAME_FORMAT(10i32);
4971#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4972pub const NameDnsDomain: EXTENDED_NAME_FORMAT = EXTENDED_NAME_FORMAT(12i32);
4973#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4974pub const NameGivenName: EXTENDED_NAME_FORMAT = EXTENDED_NAME_FORMAT(13i32);
4975#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4976pub const NameSurname: EXTENDED_NAME_FORMAT = EXTENDED_NAME_FORMAT(14i32);
4977impl ::core::marker::Copy for EXTENDED_NAME_FORMAT {}
4978impl ::core::clone::Clone for EXTENDED_NAME_FORMAT {
4979 fn clone(&self) -> Self {
4980 *self
4981 }
4982}
4983impl ::core::default::Default for EXTENDED_NAME_FORMAT {
4984 fn default() -> Self {
4985 Self(0)
4986 }
4987}
4988impl ::windows::core::TypeKind for EXTENDED_NAME_FORMAT {
4989 type TypeKind = ::windows::core::CopyType;
4990}
4991impl ::core::fmt::Debug for EXTENDED_NAME_FORMAT {
4992 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4993 f.debug_tuple("EXTENDED_NAME_FORMAT").field(&self.0).finish()
4994 }
4995}
4996#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
4997#[repr(transparent)]
4998#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
4999pub struct ISC_REQ_FLAGS(pub u32);
5000#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5001pub const ISC_REQ_DELEGATE: ISC_REQ_FLAGS = ISC_REQ_FLAGS(1u32);
5002#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5003pub const ISC_REQ_MUTUAL_AUTH: ISC_REQ_FLAGS = ISC_REQ_FLAGS(2u32);
5004#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5005pub const ISC_REQ_REPLAY_DETECT: ISC_REQ_FLAGS = ISC_REQ_FLAGS(4u32);
5006#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5007pub const ISC_REQ_SEQUENCE_DETECT: ISC_REQ_FLAGS = ISC_REQ_FLAGS(8u32);
5008#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5009pub const ISC_REQ_CONFIDENTIALITY: ISC_REQ_FLAGS = ISC_REQ_FLAGS(16u32);
5010#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5011pub const ISC_REQ_USE_SESSION_KEY: ISC_REQ_FLAGS = ISC_REQ_FLAGS(32u32);
5012#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5013pub const ISC_REQ_PROMPT_FOR_CREDS: ISC_REQ_FLAGS = ISC_REQ_FLAGS(64u32);
5014#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5015pub const ISC_REQ_USE_SUPPLIED_CREDS: ISC_REQ_FLAGS = ISC_REQ_FLAGS(128u32);
5016#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5017pub const ISC_REQ_ALLOCATE_MEMORY: ISC_REQ_FLAGS = ISC_REQ_FLAGS(256u32);
5018#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5019pub const ISC_REQ_USE_DCE_STYLE: ISC_REQ_FLAGS = ISC_REQ_FLAGS(512u32);
5020#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5021pub const ISC_REQ_DATAGRAM: ISC_REQ_FLAGS = ISC_REQ_FLAGS(1024u32);
5022#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5023pub const ISC_REQ_CONNECTION: ISC_REQ_FLAGS = ISC_REQ_FLAGS(2048u32);
5024#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5025pub const ISC_REQ_CALL_LEVEL: ISC_REQ_FLAGS = ISC_REQ_FLAGS(4096u32);
5026#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5027pub const ISC_REQ_FRAGMENT_SUPPLIED: ISC_REQ_FLAGS = ISC_REQ_FLAGS(8192u32);
5028#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5029pub const ISC_REQ_EXTENDED_ERROR: ISC_REQ_FLAGS = ISC_REQ_FLAGS(16384u32);
5030#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5031pub const ISC_REQ_STREAM: ISC_REQ_FLAGS = ISC_REQ_FLAGS(32768u32);
5032#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5033pub const ISC_REQ_INTEGRITY: ISC_REQ_FLAGS = ISC_REQ_FLAGS(65536u32);
5034#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5035pub const ISC_REQ_IDENTIFY: ISC_REQ_FLAGS = ISC_REQ_FLAGS(131072u32);
5036#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5037pub const ISC_REQ_NULL_SESSION: ISC_REQ_FLAGS = ISC_REQ_FLAGS(262144u32);
5038#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5039pub const ISC_REQ_MANUAL_CRED_VALIDATION: ISC_REQ_FLAGS = ISC_REQ_FLAGS(524288u32);
5040#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5041pub const ISC_REQ_RESERVED1: ISC_REQ_FLAGS = ISC_REQ_FLAGS(1048576u32);
5042#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5043pub const ISC_REQ_FRAGMENT_TO_FIT: ISC_REQ_FLAGS = ISC_REQ_FLAGS(2097152u32);
5044#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5045pub const ISC_REQ_FORWARD_CREDENTIALS: ISC_REQ_FLAGS = ISC_REQ_FLAGS(4194304u32);
5046#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5047pub const ISC_REQ_NO_INTEGRITY: ISC_REQ_FLAGS = ISC_REQ_FLAGS(8388608u32);
5048#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5049pub const ISC_REQ_USE_HTTP_STYLE: ISC_REQ_FLAGS = ISC_REQ_FLAGS(16777216u32);
5050#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5051pub const ISC_REQ_UNVERIFIED_TARGET_NAME: ISC_REQ_FLAGS = ISC_REQ_FLAGS(536870912u32);
5052#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5053pub const ISC_REQ_CONFIDENTIALITY_ONLY: ISC_REQ_FLAGS = ISC_REQ_FLAGS(1073741824u32);
5054impl ::core::marker::Copy for ISC_REQ_FLAGS {}
5055impl ::core::clone::Clone for ISC_REQ_FLAGS {
5056 fn clone(&self) -> Self {
5057 *self
5058 }
5059}
5060impl ::core::default::Default for ISC_REQ_FLAGS {
5061 fn default() -> Self {
5062 Self(0)
5063 }
5064}
5065impl ::windows::core::TypeKind for ISC_REQ_FLAGS {
5066 type TypeKind = ::windows::core::CopyType;
5067}
5068impl ::core::fmt::Debug for ISC_REQ_FLAGS {
5069 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5070 f.debug_tuple("ISC_REQ_FLAGS").field(&self.0).finish()
5071 }
5072}
5073impl ISC_REQ_FLAGS {
5074 pub const fn contains(&self, other: Self) -> bool {
5075 self.0 & other.0 == other.0
5076 }
5077}
5078impl ::core::ops::BitOr for ISC_REQ_FLAGS {
5079 type Output = Self;
5080 fn bitor(self, other: Self) -> Self {
5081 Self(self.0 | other.0)
5082 }
5083}
5084impl ::core::ops::BitAnd for ISC_REQ_FLAGS {
5085 type Output = Self;
5086 fn bitand(self, other: Self) -> Self {
5087 Self(self.0 & other.0)
5088 }
5089}
5090impl ::core::ops::BitOrAssign for ISC_REQ_FLAGS {
5091 fn bitor_assign(&mut self, other: Self) {
5092 self.0.bitor_assign(other.0)
5093 }
5094}
5095impl ::core::ops::BitAndAssign for ISC_REQ_FLAGS {
5096 fn bitand_assign(&mut self, other: Self) {
5097 self.0.bitand_assign(other.0)
5098 }
5099}
5100impl ::core::ops::Not for ISC_REQ_FLAGS {
5101 type Output = Self;
5102 fn not(self) -> Self {
5103 Self(self.0.not())
5104 }
5105}
5106#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5107#[repr(transparent)]
5108#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5109pub struct ISC_REQ_HIGH_FLAGS(pub u64);
5110#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5111pub const ISC_REQ_MESSAGES: ISC_REQ_HIGH_FLAGS = ISC_REQ_HIGH_FLAGS(4294967296u64);
5112#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5113pub const ISC_REQ_DEFERRED_CRED_VALIDATION: ISC_REQ_HIGH_FLAGS = ISC_REQ_HIGH_FLAGS(8589934592u64);
5114impl ::core::marker::Copy for ISC_REQ_HIGH_FLAGS {}
5115impl ::core::clone::Clone for ISC_REQ_HIGH_FLAGS {
5116 fn clone(&self) -> Self {
5117 *self
5118 }
5119}
5120impl ::core::default::Default for ISC_REQ_HIGH_FLAGS {
5121 fn default() -> Self {
5122 Self(0)
5123 }
5124}
5125impl ::windows::core::TypeKind for ISC_REQ_HIGH_FLAGS {
5126 type TypeKind = ::windows::core::CopyType;
5127}
5128impl ::core::fmt::Debug for ISC_REQ_HIGH_FLAGS {
5129 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5130 f.debug_tuple("ISC_REQ_HIGH_FLAGS").field(&self.0).finish()
5131 }
5132}
5133impl ISC_REQ_HIGH_FLAGS {
5134 pub const fn contains(&self, other: Self) -> bool {
5135 self.0 & other.0 == other.0
5136 }
5137}
5138impl ::core::ops::BitOr for ISC_REQ_HIGH_FLAGS {
5139 type Output = Self;
5140 fn bitor(self, other: Self) -> Self {
5141 Self(self.0 | other.0)
5142 }
5143}
5144impl ::core::ops::BitAnd for ISC_REQ_HIGH_FLAGS {
5145 type Output = Self;
5146 fn bitand(self, other: Self) -> Self {
5147 Self(self.0 & other.0)
5148 }
5149}
5150impl ::core::ops::BitOrAssign for ISC_REQ_HIGH_FLAGS {
5151 fn bitor_assign(&mut self, other: Self) {
5152 self.0.bitor_assign(other.0)
5153 }
5154}
5155impl ::core::ops::BitAndAssign for ISC_REQ_HIGH_FLAGS {
5156 fn bitand_assign(&mut self, other: Self) {
5157 self.0.bitand_assign(other.0)
5158 }
5159}
5160impl ::core::ops::Not for ISC_REQ_HIGH_FLAGS {
5161 type Output = Self;
5162 fn not(self) -> Self {
5163 Self(self.0.not())
5164 }
5165}
5166#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5167#[repr(transparent)]
5168#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5169pub struct KERB_ADDRESS_TYPE(pub u32);
5170#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5171pub const DS_INET_ADDRESS: KERB_ADDRESS_TYPE = KERB_ADDRESS_TYPE(1u32);
5172#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5173pub const DS_NETBIOS_ADDRESS: KERB_ADDRESS_TYPE = KERB_ADDRESS_TYPE(2u32);
5174impl ::core::marker::Copy for KERB_ADDRESS_TYPE {}
5175impl ::core::clone::Clone for KERB_ADDRESS_TYPE {
5176 fn clone(&self) -> Self {
5177 *self
5178 }
5179}
5180impl ::core::default::Default for KERB_ADDRESS_TYPE {
5181 fn default() -> Self {
5182 Self(0)
5183 }
5184}
5185impl ::windows::core::TypeKind for KERB_ADDRESS_TYPE {
5186 type TypeKind = ::windows::core::CopyType;
5187}
5188impl ::core::fmt::Debug for KERB_ADDRESS_TYPE {
5189 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5190 f.debug_tuple("KERB_ADDRESS_TYPE").field(&self.0).finish()
5191 }
5192}
5193#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5194#[repr(transparent)]
5195#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5196pub struct KERB_CERTIFICATE_INFO_TYPE(pub i32);
5197#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5198pub const CertHashInfo: KERB_CERTIFICATE_INFO_TYPE = KERB_CERTIFICATE_INFO_TYPE(1i32);
5199impl ::core::marker::Copy for KERB_CERTIFICATE_INFO_TYPE {}
5200impl ::core::clone::Clone for KERB_CERTIFICATE_INFO_TYPE {
5201 fn clone(&self) -> Self {
5202 *self
5203 }
5204}
5205impl ::core::default::Default for KERB_CERTIFICATE_INFO_TYPE {
5206 fn default() -> Self {
5207 Self(0)
5208 }
5209}
5210impl ::windows::core::TypeKind for KERB_CERTIFICATE_INFO_TYPE {
5211 type TypeKind = ::windows::core::CopyType;
5212}
5213impl ::core::fmt::Debug for KERB_CERTIFICATE_INFO_TYPE {
5214 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5215 f.debug_tuple("KERB_CERTIFICATE_INFO_TYPE").field(&self.0).finish()
5216 }
5217}
5218#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5219#[repr(transparent)]
5220#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5221pub struct KERB_CRYPTO_KEY_TYPE(pub i32);
5222#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5223pub const KERB_ETYPE_DES_CBC_CRC: KERB_CRYPTO_KEY_TYPE = KERB_CRYPTO_KEY_TYPE(1i32);
5224#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5225pub const KERB_ETYPE_DES_CBC_MD4: KERB_CRYPTO_KEY_TYPE = KERB_CRYPTO_KEY_TYPE(2i32);
5226#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5227pub const KERB_ETYPE_DES_CBC_MD5: KERB_CRYPTO_KEY_TYPE = KERB_CRYPTO_KEY_TYPE(3i32);
5228#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5229pub const KERB_ETYPE_NULL: KERB_CRYPTO_KEY_TYPE = KERB_CRYPTO_KEY_TYPE(0i32);
5230#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5231pub const KERB_ETYPE_RC4_HMAC_NT: KERB_CRYPTO_KEY_TYPE = KERB_CRYPTO_KEY_TYPE(23i32);
5232#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5233pub const KERB_ETYPE_RC4_MD4: KERB_CRYPTO_KEY_TYPE = KERB_CRYPTO_KEY_TYPE(-128i32);
5234impl ::core::marker::Copy for KERB_CRYPTO_KEY_TYPE {}
5235impl ::core::clone::Clone for KERB_CRYPTO_KEY_TYPE {
5236 fn clone(&self) -> Self {
5237 *self
5238 }
5239}
5240impl ::core::default::Default for KERB_CRYPTO_KEY_TYPE {
5241 fn default() -> Self {
5242 Self(0)
5243 }
5244}
5245impl ::windows::core::TypeKind for KERB_CRYPTO_KEY_TYPE {
5246 type TypeKind = ::windows::core::CopyType;
5247}
5248impl ::core::fmt::Debug for KERB_CRYPTO_KEY_TYPE {
5249 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5250 f.debug_tuple("KERB_CRYPTO_KEY_TYPE").field(&self.0).finish()
5251 }
5252}
5253#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5254#[repr(transparent)]
5255#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5256pub struct KERB_LOGON_SUBMIT_TYPE(pub i32);
5257#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5258pub const KerbInteractiveLogon: KERB_LOGON_SUBMIT_TYPE = KERB_LOGON_SUBMIT_TYPE(2i32);
5259#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5260pub const KerbSmartCardLogon: KERB_LOGON_SUBMIT_TYPE = KERB_LOGON_SUBMIT_TYPE(6i32);
5261#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5262pub const KerbWorkstationUnlockLogon: KERB_LOGON_SUBMIT_TYPE = KERB_LOGON_SUBMIT_TYPE(7i32);
5263#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5264pub const KerbSmartCardUnlockLogon: KERB_LOGON_SUBMIT_TYPE = KERB_LOGON_SUBMIT_TYPE(8i32);
5265#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5266pub const KerbProxyLogon: KERB_LOGON_SUBMIT_TYPE = KERB_LOGON_SUBMIT_TYPE(9i32);
5267#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5268pub const KerbTicketLogon: KERB_LOGON_SUBMIT_TYPE = KERB_LOGON_SUBMIT_TYPE(10i32);
5269#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5270pub const KerbTicketUnlockLogon: KERB_LOGON_SUBMIT_TYPE = KERB_LOGON_SUBMIT_TYPE(11i32);
5271#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5272pub const KerbS4ULogon: KERB_LOGON_SUBMIT_TYPE = KERB_LOGON_SUBMIT_TYPE(12i32);
5273#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5274pub const KerbCertificateLogon: KERB_LOGON_SUBMIT_TYPE = KERB_LOGON_SUBMIT_TYPE(13i32);
5275#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5276pub const KerbCertificateS4ULogon: KERB_LOGON_SUBMIT_TYPE = KERB_LOGON_SUBMIT_TYPE(14i32);
5277#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5278pub const KerbCertificateUnlockLogon: KERB_LOGON_SUBMIT_TYPE = KERB_LOGON_SUBMIT_TYPE(15i32);
5279#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5280pub const KerbNoElevationLogon: KERB_LOGON_SUBMIT_TYPE = KERB_LOGON_SUBMIT_TYPE(83i32);
5281#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5282pub const KerbLuidLogon: KERB_LOGON_SUBMIT_TYPE = KERB_LOGON_SUBMIT_TYPE(84i32);
5283impl ::core::marker::Copy for KERB_LOGON_SUBMIT_TYPE {}
5284impl ::core::clone::Clone for KERB_LOGON_SUBMIT_TYPE {
5285 fn clone(&self) -> Self {
5286 *self
5287 }
5288}
5289impl ::core::default::Default for KERB_LOGON_SUBMIT_TYPE {
5290 fn default() -> Self {
5291 Self(0)
5292 }
5293}
5294impl ::windows::core::TypeKind for KERB_LOGON_SUBMIT_TYPE {
5295 type TypeKind = ::windows::core::CopyType;
5296}
5297impl ::core::fmt::Debug for KERB_LOGON_SUBMIT_TYPE {
5298 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5299 f.debug_tuple("KERB_LOGON_SUBMIT_TYPE").field(&self.0).finish()
5300 }
5301}
5302#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5303#[repr(transparent)]
5304#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5305pub struct KERB_PROFILE_BUFFER_TYPE(pub i32);
5306#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5307pub const KerbInteractiveProfile: KERB_PROFILE_BUFFER_TYPE = KERB_PROFILE_BUFFER_TYPE(2i32);
5308#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5309pub const KerbSmartCardProfile: KERB_PROFILE_BUFFER_TYPE = KERB_PROFILE_BUFFER_TYPE(4i32);
5310#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5311pub const KerbTicketProfile: KERB_PROFILE_BUFFER_TYPE = KERB_PROFILE_BUFFER_TYPE(6i32);
5312impl ::core::marker::Copy for KERB_PROFILE_BUFFER_TYPE {}
5313impl ::core::clone::Clone for KERB_PROFILE_BUFFER_TYPE {
5314 fn clone(&self) -> Self {
5315 *self
5316 }
5317}
5318impl ::core::default::Default for KERB_PROFILE_BUFFER_TYPE {
5319 fn default() -> Self {
5320 Self(0)
5321 }
5322}
5323impl ::windows::core::TypeKind for KERB_PROFILE_BUFFER_TYPE {
5324 type TypeKind = ::windows::core::CopyType;
5325}
5326impl ::core::fmt::Debug for KERB_PROFILE_BUFFER_TYPE {
5327 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5328 f.debug_tuple("KERB_PROFILE_BUFFER_TYPE").field(&self.0).finish()
5329 }
5330}
5331#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5332#[repr(transparent)]
5333#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5334pub struct KERB_PROTOCOL_MESSAGE_TYPE(pub i32);
5335#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5336pub const KerbDebugRequestMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(0i32);
5337#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5338pub const KerbQueryTicketCacheMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(1i32);
5339#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5340pub const KerbChangeMachinePasswordMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(2i32);
5341#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5342pub const KerbVerifyPacMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(3i32);
5343#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5344pub const KerbRetrieveTicketMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(4i32);
5345#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5346pub const KerbUpdateAddressesMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(5i32);
5347#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5348pub const KerbPurgeTicketCacheMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(6i32);
5349#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5350pub const KerbChangePasswordMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(7i32);
5351#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5352pub const KerbRetrieveEncodedTicketMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(8i32);
5353#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5354pub const KerbDecryptDataMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(9i32);
5355#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5356pub const KerbAddBindingCacheEntryMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(10i32);
5357#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5358pub const KerbSetPasswordMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(11i32);
5359#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5360pub const KerbSetPasswordExMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(12i32);
5361#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5362pub const KerbVerifyCredentialsMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(13i32);
5363#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5364pub const KerbQueryTicketCacheExMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(14i32);
5365#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5366pub const KerbPurgeTicketCacheExMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(15i32);
5367#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5368pub const KerbRefreshSmartcardCredentialsMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(16i32);
5369#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5370pub const KerbAddExtraCredentialsMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(17i32);
5371#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5372pub const KerbQuerySupplementalCredentialsMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(18i32);
5373#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5374pub const KerbTransferCredentialsMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(19i32);
5375#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5376pub const KerbQueryTicketCacheEx2Message: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(20i32);
5377#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5378pub const KerbSubmitTicketMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(21i32);
5379#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5380pub const KerbAddExtraCredentialsExMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(22i32);
5381#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5382pub const KerbQueryKdcProxyCacheMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(23i32);
5383#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5384pub const KerbPurgeKdcProxyCacheMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(24i32);
5385#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5386pub const KerbQueryTicketCacheEx3Message: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(25i32);
5387#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5388pub const KerbCleanupMachinePkinitCredsMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(26i32);
5389#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5390pub const KerbAddBindingCacheEntryExMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(27i32);
5391#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5392pub const KerbQueryBindingCacheMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(28i32);
5393#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5394pub const KerbPurgeBindingCacheMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(29i32);
5395#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5396pub const KerbPinKdcMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(30i32);
5397#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5398pub const KerbUnpinAllKdcsMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(31i32);
5399#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5400pub const KerbQueryDomainExtendedPoliciesMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(32i32);
5401#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5402pub const KerbQueryS4U2ProxyCacheMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(33i32);
5403#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5404pub const KerbRetrieveKeyTabMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(34i32);
5405#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5406pub const KerbRefreshPolicyMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(35i32);
5407#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5408pub const KerbPrintCloudKerberosDebugMessage: KERB_PROTOCOL_MESSAGE_TYPE = KERB_PROTOCOL_MESSAGE_TYPE(36i32);
5409impl ::core::marker::Copy for KERB_PROTOCOL_MESSAGE_TYPE {}
5410impl ::core::clone::Clone for KERB_PROTOCOL_MESSAGE_TYPE {
5411 fn clone(&self) -> Self {
5412 *self
5413 }
5414}
5415impl ::core::default::Default for KERB_PROTOCOL_MESSAGE_TYPE {
5416 fn default() -> Self {
5417 Self(0)
5418 }
5419}
5420impl ::windows::core::TypeKind for KERB_PROTOCOL_MESSAGE_TYPE {
5421 type TypeKind = ::windows::core::CopyType;
5422}
5423impl ::core::fmt::Debug for KERB_PROTOCOL_MESSAGE_TYPE {
5424 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5425 f.debug_tuple("KERB_PROTOCOL_MESSAGE_TYPE").field(&self.0).finish()
5426 }
5427}
5428#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5429#[repr(transparent)]
5430#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5431pub struct KERB_REQUEST_FLAGS(pub u32);
5432#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5433pub const KERB_REQUEST_ADD_CREDENTIAL: KERB_REQUEST_FLAGS = KERB_REQUEST_FLAGS(1u32);
5434#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5435pub const KERB_REQUEST_REPLACE_CREDENTIAL: KERB_REQUEST_FLAGS = KERB_REQUEST_FLAGS(2u32);
5436#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5437pub const KERB_REQUEST_REMOVE_CREDENTIAL: KERB_REQUEST_FLAGS = KERB_REQUEST_FLAGS(4u32);
5438impl ::core::marker::Copy for KERB_REQUEST_FLAGS {}
5439impl ::core::clone::Clone for KERB_REQUEST_FLAGS {
5440 fn clone(&self) -> Self {
5441 *self
5442 }
5443}
5444impl ::core::default::Default for KERB_REQUEST_FLAGS {
5445 fn default() -> Self {
5446 Self(0)
5447 }
5448}
5449impl ::windows::core::TypeKind for KERB_REQUEST_FLAGS {
5450 type TypeKind = ::windows::core::CopyType;
5451}
5452impl ::core::fmt::Debug for KERB_REQUEST_FLAGS {
5453 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5454 f.debug_tuple("KERB_REQUEST_FLAGS").field(&self.0).finish()
5455 }
5456}
5457#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5458#[repr(transparent)]
5459#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5460pub struct KERB_TICKET_FLAGS(pub u32);
5461#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5462pub const KERB_TICKET_FLAGS_forwardable: KERB_TICKET_FLAGS = KERB_TICKET_FLAGS(1073741824u32);
5463#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5464pub const KERB_TICKET_FLAGS_forwarded: KERB_TICKET_FLAGS = KERB_TICKET_FLAGS(536870912u32);
5465#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5466pub const KERB_TICKET_FLAGS_hw_authent: KERB_TICKET_FLAGS = KERB_TICKET_FLAGS(1048576u32);
5467#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5468pub const KERB_TICKET_FLAGS_initial: KERB_TICKET_FLAGS = KERB_TICKET_FLAGS(4194304u32);
5469#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5470pub const KERB_TICKET_FLAGS_invalid: KERB_TICKET_FLAGS = KERB_TICKET_FLAGS(16777216u32);
5471#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5472pub const KERB_TICKET_FLAGS_may_postdate: KERB_TICKET_FLAGS = KERB_TICKET_FLAGS(67108864u32);
5473#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5474pub const KERB_TICKET_FLAGS_ok_as_delegate: KERB_TICKET_FLAGS = KERB_TICKET_FLAGS(262144u32);
5475#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5476pub const KERB_TICKET_FLAGS_postdated: KERB_TICKET_FLAGS = KERB_TICKET_FLAGS(33554432u32);
5477#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5478pub const KERB_TICKET_FLAGS_pre_authent: KERB_TICKET_FLAGS = KERB_TICKET_FLAGS(2097152u32);
5479#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5480pub const KERB_TICKET_FLAGS_proxiable: KERB_TICKET_FLAGS = KERB_TICKET_FLAGS(268435456u32);
5481#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5482pub const KERB_TICKET_FLAGS_proxy: KERB_TICKET_FLAGS = KERB_TICKET_FLAGS(134217728u32);
5483#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5484pub const KERB_TICKET_FLAGS_renewable: KERB_TICKET_FLAGS = KERB_TICKET_FLAGS(8388608u32);
5485#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5486pub const KERB_TICKET_FLAGS_reserved: KERB_TICKET_FLAGS = KERB_TICKET_FLAGS(2147483648u32);
5487#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5488pub const KERB_TICKET_FLAGS_reserved1: KERB_TICKET_FLAGS = KERB_TICKET_FLAGS(1u32);
5489impl ::core::marker::Copy for KERB_TICKET_FLAGS {}
5490impl ::core::clone::Clone for KERB_TICKET_FLAGS {
5491 fn clone(&self) -> Self {
5492 *self
5493 }
5494}
5495impl ::core::default::Default for KERB_TICKET_FLAGS {
5496 fn default() -> Self {
5497 Self(0)
5498 }
5499}
5500impl ::windows::core::TypeKind for KERB_TICKET_FLAGS {
5501 type TypeKind = ::windows::core::CopyType;
5502}
5503impl ::core::fmt::Debug for KERB_TICKET_FLAGS {
5504 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5505 f.debug_tuple("KERB_TICKET_FLAGS").field(&self.0).finish()
5506 }
5507}
5508impl KERB_TICKET_FLAGS {
5509 pub const fn contains(&self, other: Self) -> bool {
5510 self.0 & other.0 == other.0
5511 }
5512}
5513impl ::core::ops::BitOr for KERB_TICKET_FLAGS {
5514 type Output = Self;
5515 fn bitor(self, other: Self) -> Self {
5516 Self(self.0 | other.0)
5517 }
5518}
5519impl ::core::ops::BitAnd for KERB_TICKET_FLAGS {
5520 type Output = Self;
5521 fn bitand(self, other: Self) -> Self {
5522 Self(self.0 & other.0)
5523 }
5524}
5525impl ::core::ops::BitOrAssign for KERB_TICKET_FLAGS {
5526 fn bitor_assign(&mut self, other: Self) {
5527 self.0.bitor_assign(other.0)
5528 }
5529}
5530impl ::core::ops::BitAndAssign for KERB_TICKET_FLAGS {
5531 fn bitand_assign(&mut self, other: Self) {
5532 self.0.bitand_assign(other.0)
5533 }
5534}
5535impl ::core::ops::Not for KERB_TICKET_FLAGS {
5536 type Output = Self;
5537 fn not(self) -> Self {
5538 Self(self.0.not())
5539 }
5540}
5541#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5542#[repr(transparent)]
5543#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5544pub struct KSEC_CONTEXT_TYPE(pub i32);
5545#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5546pub const KSecPaged: KSEC_CONTEXT_TYPE = KSEC_CONTEXT_TYPE(0i32);
5547#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5548pub const KSecNonPaged: KSEC_CONTEXT_TYPE = KSEC_CONTEXT_TYPE(1i32);
5549impl ::core::marker::Copy for KSEC_CONTEXT_TYPE {}
5550impl ::core::clone::Clone for KSEC_CONTEXT_TYPE {
5551 fn clone(&self) -> Self {
5552 *self
5553 }
5554}
5555impl ::core::default::Default for KSEC_CONTEXT_TYPE {
5556 fn default() -> Self {
5557 Self(0)
5558 }
5559}
5560impl ::windows::core::TypeKind for KSEC_CONTEXT_TYPE {
5561 type TypeKind = ::windows::core::CopyType;
5562}
5563impl ::core::fmt::Debug for KSEC_CONTEXT_TYPE {
5564 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5565 f.debug_tuple("KSEC_CONTEXT_TYPE").field(&self.0).finish()
5566 }
5567}
5568#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5569#[repr(transparent)]
5570#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5571pub struct LSA_AUTH_INFORMATION_AUTH_TYPE(pub u32);
5572#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5573pub const TRUST_AUTH_TYPE_NONE: LSA_AUTH_INFORMATION_AUTH_TYPE = LSA_AUTH_INFORMATION_AUTH_TYPE(0u32);
5574#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5575pub const TRUST_AUTH_TYPE_NT4OWF: LSA_AUTH_INFORMATION_AUTH_TYPE = LSA_AUTH_INFORMATION_AUTH_TYPE(1u32);
5576#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5577pub const TRUST_AUTH_TYPE_CLEAR: LSA_AUTH_INFORMATION_AUTH_TYPE = LSA_AUTH_INFORMATION_AUTH_TYPE(2u32);
5578#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5579pub const TRUST_AUTH_TYPE_VERSION: LSA_AUTH_INFORMATION_AUTH_TYPE = LSA_AUTH_INFORMATION_AUTH_TYPE(3u32);
5580impl ::core::marker::Copy for LSA_AUTH_INFORMATION_AUTH_TYPE {}
5581impl ::core::clone::Clone for LSA_AUTH_INFORMATION_AUTH_TYPE {
5582 fn clone(&self) -> Self {
5583 *self
5584 }
5585}
5586impl ::core::default::Default for LSA_AUTH_INFORMATION_AUTH_TYPE {
5587 fn default() -> Self {
5588 Self(0)
5589 }
5590}
5591impl ::windows::core::TypeKind for LSA_AUTH_INFORMATION_AUTH_TYPE {
5592 type TypeKind = ::windows::core::CopyType;
5593}
5594impl ::core::fmt::Debug for LSA_AUTH_INFORMATION_AUTH_TYPE {
5595 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5596 f.debug_tuple("LSA_AUTH_INFORMATION_AUTH_TYPE").field(&self.0).finish()
5597 }
5598}
5599#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5600#[repr(transparent)]
5601#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5602pub struct LSA_FOREST_TRUST_COLLISION_RECORD_TYPE(pub i32);
5603#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5604pub const CollisionTdo: LSA_FOREST_TRUST_COLLISION_RECORD_TYPE = LSA_FOREST_TRUST_COLLISION_RECORD_TYPE(0i32);
5605#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5606pub const CollisionXref: LSA_FOREST_TRUST_COLLISION_RECORD_TYPE = LSA_FOREST_TRUST_COLLISION_RECORD_TYPE(1i32);
5607#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5608pub const CollisionOther: LSA_FOREST_TRUST_COLLISION_RECORD_TYPE = LSA_FOREST_TRUST_COLLISION_RECORD_TYPE(2i32);
5609impl ::core::marker::Copy for LSA_FOREST_TRUST_COLLISION_RECORD_TYPE {}
5610impl ::core::clone::Clone for LSA_FOREST_TRUST_COLLISION_RECORD_TYPE {
5611 fn clone(&self) -> Self {
5612 *self
5613 }
5614}
5615impl ::core::default::Default for LSA_FOREST_TRUST_COLLISION_RECORD_TYPE {
5616 fn default() -> Self {
5617 Self(0)
5618 }
5619}
5620impl ::windows::core::TypeKind for LSA_FOREST_TRUST_COLLISION_RECORD_TYPE {
5621 type TypeKind = ::windows::core::CopyType;
5622}
5623impl ::core::fmt::Debug for LSA_FOREST_TRUST_COLLISION_RECORD_TYPE {
5624 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5625 f.debug_tuple("LSA_FOREST_TRUST_COLLISION_RECORD_TYPE").field(&self.0).finish()
5626 }
5627}
5628#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5629#[repr(transparent)]
5630#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5631pub struct LSA_FOREST_TRUST_RECORD_TYPE(pub i32);
5632#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5633pub const ForestTrustTopLevelName: LSA_FOREST_TRUST_RECORD_TYPE = LSA_FOREST_TRUST_RECORD_TYPE(0i32);
5634#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5635pub const ForestTrustTopLevelNameEx: LSA_FOREST_TRUST_RECORD_TYPE = LSA_FOREST_TRUST_RECORD_TYPE(1i32);
5636#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5637pub const ForestTrustDomainInfo: LSA_FOREST_TRUST_RECORD_TYPE = LSA_FOREST_TRUST_RECORD_TYPE(2i32);
5638#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5639pub const ForestTrustRecordTypeLast: LSA_FOREST_TRUST_RECORD_TYPE = LSA_FOREST_TRUST_RECORD_TYPE(2i32);
5640impl ::core::marker::Copy for LSA_FOREST_TRUST_RECORD_TYPE {}
5641impl ::core::clone::Clone for LSA_FOREST_TRUST_RECORD_TYPE {
5642 fn clone(&self) -> Self {
5643 *self
5644 }
5645}
5646impl ::core::default::Default for LSA_FOREST_TRUST_RECORD_TYPE {
5647 fn default() -> Self {
5648 Self(0)
5649 }
5650}
5651impl ::windows::core::TypeKind for LSA_FOREST_TRUST_RECORD_TYPE {
5652 type TypeKind = ::windows::core::CopyType;
5653}
5654impl ::core::fmt::Debug for LSA_FOREST_TRUST_RECORD_TYPE {
5655 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5656 f.debug_tuple("LSA_FOREST_TRUST_RECORD_TYPE").field(&self.0).finish()
5657 }
5658}
5659#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5660#[repr(transparent)]
5661#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5662pub struct LSA_LOOKUP_DOMAIN_INFO_CLASS(pub i32);
5663#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5664pub const AccountDomainInformation: LSA_LOOKUP_DOMAIN_INFO_CLASS = LSA_LOOKUP_DOMAIN_INFO_CLASS(5i32);
5665#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5666pub const DnsDomainInformation: LSA_LOOKUP_DOMAIN_INFO_CLASS = LSA_LOOKUP_DOMAIN_INFO_CLASS(12i32);
5667impl ::core::marker::Copy for LSA_LOOKUP_DOMAIN_INFO_CLASS {}
5668impl ::core::clone::Clone for LSA_LOOKUP_DOMAIN_INFO_CLASS {
5669 fn clone(&self) -> Self {
5670 *self
5671 }
5672}
5673impl ::core::default::Default for LSA_LOOKUP_DOMAIN_INFO_CLASS {
5674 fn default() -> Self {
5675 Self(0)
5676 }
5677}
5678impl ::windows::core::TypeKind for LSA_LOOKUP_DOMAIN_INFO_CLASS {
5679 type TypeKind = ::windows::core::CopyType;
5680}
5681impl ::core::fmt::Debug for LSA_LOOKUP_DOMAIN_INFO_CLASS {
5682 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5683 f.debug_tuple("LSA_LOOKUP_DOMAIN_INFO_CLASS").field(&self.0).finish()
5684 }
5685}
5686#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5687#[repr(transparent)]
5688#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5689pub struct LSA_TOKEN_INFORMATION_TYPE(pub i32);
5690#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5691pub const LsaTokenInformationNull: LSA_TOKEN_INFORMATION_TYPE = LSA_TOKEN_INFORMATION_TYPE(0i32);
5692#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5693pub const LsaTokenInformationV1: LSA_TOKEN_INFORMATION_TYPE = LSA_TOKEN_INFORMATION_TYPE(1i32);
5694#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5695pub const LsaTokenInformationV2: LSA_TOKEN_INFORMATION_TYPE = LSA_TOKEN_INFORMATION_TYPE(2i32);
5696#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5697pub const LsaTokenInformationV3: LSA_TOKEN_INFORMATION_TYPE = LSA_TOKEN_INFORMATION_TYPE(3i32);
5698impl ::core::marker::Copy for LSA_TOKEN_INFORMATION_TYPE {}
5699impl ::core::clone::Clone for LSA_TOKEN_INFORMATION_TYPE {
5700 fn clone(&self) -> Self {
5701 *self
5702 }
5703}
5704impl ::core::default::Default for LSA_TOKEN_INFORMATION_TYPE {
5705 fn default() -> Self {
5706 Self(0)
5707 }
5708}
5709impl ::windows::core::TypeKind for LSA_TOKEN_INFORMATION_TYPE {
5710 type TypeKind = ::windows::core::CopyType;
5711}
5712impl ::core::fmt::Debug for LSA_TOKEN_INFORMATION_TYPE {
5713 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5714 f.debug_tuple("LSA_TOKEN_INFORMATION_TYPE").field(&self.0).finish()
5715 }
5716}
5717#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5718#[repr(transparent)]
5719#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5720pub struct MSV1_0(pub u32);
5721#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5722pub const MSV1_0_PASSTHRU: MSV1_0 = MSV1_0(1u32);
5723#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5724pub const MSV1_0_GUEST_LOGON: MSV1_0 = MSV1_0(2u32);
5725impl ::core::marker::Copy for MSV1_0 {}
5726impl ::core::clone::Clone for MSV1_0 {
5727 fn clone(&self) -> Self {
5728 *self
5729 }
5730}
5731impl ::core::default::Default for MSV1_0 {
5732 fn default() -> Self {
5733 Self(0)
5734 }
5735}
5736impl ::windows::core::TypeKind for MSV1_0 {
5737 type TypeKind = ::windows::core::CopyType;
5738}
5739impl ::core::fmt::Debug for MSV1_0 {
5740 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5741 f.debug_tuple("MSV1_0").field(&self.0).finish()
5742 }
5743}
5744#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5745#[repr(transparent)]
5746#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5747pub struct MSV1_0_AVID(pub i32);
5748#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5749pub const MsvAvEOL: MSV1_0_AVID = MSV1_0_AVID(0i32);
5750#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5751pub const MsvAvNbComputerName: MSV1_0_AVID = MSV1_0_AVID(1i32);
5752#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5753pub const MsvAvNbDomainName: MSV1_0_AVID = MSV1_0_AVID(2i32);
5754#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5755pub const MsvAvDnsComputerName: MSV1_0_AVID = MSV1_0_AVID(3i32);
5756#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5757pub const MsvAvDnsDomainName: MSV1_0_AVID = MSV1_0_AVID(4i32);
5758#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5759pub const MsvAvDnsTreeName: MSV1_0_AVID = MSV1_0_AVID(5i32);
5760#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5761pub const MsvAvFlags: MSV1_0_AVID = MSV1_0_AVID(6i32);
5762#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5763pub const MsvAvTimestamp: MSV1_0_AVID = MSV1_0_AVID(7i32);
5764#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5765pub const MsvAvRestrictions: MSV1_0_AVID = MSV1_0_AVID(8i32);
5766#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5767pub const MsvAvTargetName: MSV1_0_AVID = MSV1_0_AVID(9i32);
5768#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5769pub const MsvAvChannelBindings: MSV1_0_AVID = MSV1_0_AVID(10i32);
5770impl ::core::marker::Copy for MSV1_0_AVID {}
5771impl ::core::clone::Clone for MSV1_0_AVID {
5772 fn clone(&self) -> Self {
5773 *self
5774 }
5775}
5776impl ::core::default::Default for MSV1_0_AVID {
5777 fn default() -> Self {
5778 Self(0)
5779 }
5780}
5781impl ::windows::core::TypeKind for MSV1_0_AVID {
5782 type TypeKind = ::windows::core::CopyType;
5783}
5784impl ::core::fmt::Debug for MSV1_0_AVID {
5785 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5786 f.debug_tuple("MSV1_0_AVID").field(&self.0).finish()
5787 }
5788}
5789#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5790#[repr(transparent)]
5791#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5792pub struct MSV1_0_CREDENTIAL_KEY_TYPE(pub i32);
5793#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5794pub const InvalidCredKey: MSV1_0_CREDENTIAL_KEY_TYPE = MSV1_0_CREDENTIAL_KEY_TYPE(0i32);
5795#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5796pub const DeprecatedIUMCredKey: MSV1_0_CREDENTIAL_KEY_TYPE = MSV1_0_CREDENTIAL_KEY_TYPE(1i32);
5797#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5798pub const DomainUserCredKey: MSV1_0_CREDENTIAL_KEY_TYPE = MSV1_0_CREDENTIAL_KEY_TYPE(2i32);
5799#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5800pub const LocalUserCredKey: MSV1_0_CREDENTIAL_KEY_TYPE = MSV1_0_CREDENTIAL_KEY_TYPE(3i32);
5801#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5802pub const ExternallySuppliedCredKey: MSV1_0_CREDENTIAL_KEY_TYPE = MSV1_0_CREDENTIAL_KEY_TYPE(4i32);
5803impl ::core::marker::Copy for MSV1_0_CREDENTIAL_KEY_TYPE {}
5804impl ::core::clone::Clone for MSV1_0_CREDENTIAL_KEY_TYPE {
5805 fn clone(&self) -> Self {
5806 *self
5807 }
5808}
5809impl ::core::default::Default for MSV1_0_CREDENTIAL_KEY_TYPE {
5810 fn default() -> Self {
5811 Self(0)
5812 }
5813}
5814impl ::windows::core::TypeKind for MSV1_0_CREDENTIAL_KEY_TYPE {
5815 type TypeKind = ::windows::core::CopyType;
5816}
5817impl ::core::fmt::Debug for MSV1_0_CREDENTIAL_KEY_TYPE {
5818 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5819 f.debug_tuple("MSV1_0_CREDENTIAL_KEY_TYPE").field(&self.0).finish()
5820 }
5821}
5822#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5823#[repr(transparent)]
5824#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5825pub struct MSV1_0_LOGON_SUBMIT_TYPE(pub i32);
5826#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5827pub const MsV1_0InteractiveLogon: MSV1_0_LOGON_SUBMIT_TYPE = MSV1_0_LOGON_SUBMIT_TYPE(2i32);
5828#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5829pub const MsV1_0Lm20Logon: MSV1_0_LOGON_SUBMIT_TYPE = MSV1_0_LOGON_SUBMIT_TYPE(3i32);
5830#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5831pub const MsV1_0NetworkLogon: MSV1_0_LOGON_SUBMIT_TYPE = MSV1_0_LOGON_SUBMIT_TYPE(4i32);
5832#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5833pub const MsV1_0SubAuthLogon: MSV1_0_LOGON_SUBMIT_TYPE = MSV1_0_LOGON_SUBMIT_TYPE(5i32);
5834#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5835pub const MsV1_0WorkstationUnlockLogon: MSV1_0_LOGON_SUBMIT_TYPE = MSV1_0_LOGON_SUBMIT_TYPE(7i32);
5836#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5837pub const MsV1_0S4ULogon: MSV1_0_LOGON_SUBMIT_TYPE = MSV1_0_LOGON_SUBMIT_TYPE(12i32);
5838#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5839pub const MsV1_0VirtualLogon: MSV1_0_LOGON_SUBMIT_TYPE = MSV1_0_LOGON_SUBMIT_TYPE(82i32);
5840#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5841pub const MsV1_0NoElevationLogon: MSV1_0_LOGON_SUBMIT_TYPE = MSV1_0_LOGON_SUBMIT_TYPE(83i32);
5842#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5843pub const MsV1_0LuidLogon: MSV1_0_LOGON_SUBMIT_TYPE = MSV1_0_LOGON_SUBMIT_TYPE(84i32);
5844impl ::core::marker::Copy for MSV1_0_LOGON_SUBMIT_TYPE {}
5845impl ::core::clone::Clone for MSV1_0_LOGON_SUBMIT_TYPE {
5846 fn clone(&self) -> Self {
5847 *self
5848 }
5849}
5850impl ::core::default::Default for MSV1_0_LOGON_SUBMIT_TYPE {
5851 fn default() -> Self {
5852 Self(0)
5853 }
5854}
5855impl ::windows::core::TypeKind for MSV1_0_LOGON_SUBMIT_TYPE {
5856 type TypeKind = ::windows::core::CopyType;
5857}
5858impl ::core::fmt::Debug for MSV1_0_LOGON_SUBMIT_TYPE {
5859 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5860 f.debug_tuple("MSV1_0_LOGON_SUBMIT_TYPE").field(&self.0).finish()
5861 }
5862}
5863#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5864#[repr(transparent)]
5865#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5866pub struct MSV1_0_PROFILE_BUFFER_TYPE(pub i32);
5867#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5868pub const MsV1_0InteractiveProfile: MSV1_0_PROFILE_BUFFER_TYPE = MSV1_0_PROFILE_BUFFER_TYPE(2i32);
5869#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5870pub const MsV1_0Lm20LogonProfile: MSV1_0_PROFILE_BUFFER_TYPE = MSV1_0_PROFILE_BUFFER_TYPE(3i32);
5871#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5872pub const MsV1_0SmartCardProfile: MSV1_0_PROFILE_BUFFER_TYPE = MSV1_0_PROFILE_BUFFER_TYPE(4i32);
5873impl ::core::marker::Copy for MSV1_0_PROFILE_BUFFER_TYPE {}
5874impl ::core::clone::Clone for MSV1_0_PROFILE_BUFFER_TYPE {
5875 fn clone(&self) -> Self {
5876 *self
5877 }
5878}
5879impl ::core::default::Default for MSV1_0_PROFILE_BUFFER_TYPE {
5880 fn default() -> Self {
5881 Self(0)
5882 }
5883}
5884impl ::windows::core::TypeKind for MSV1_0_PROFILE_BUFFER_TYPE {
5885 type TypeKind = ::windows::core::CopyType;
5886}
5887impl ::core::fmt::Debug for MSV1_0_PROFILE_BUFFER_TYPE {
5888 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5889 f.debug_tuple("MSV1_0_PROFILE_BUFFER_TYPE").field(&self.0).finish()
5890 }
5891}
5892#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5893#[repr(transparent)]
5894#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5895pub struct MSV1_0_PROTOCOL_MESSAGE_TYPE(pub i32);
5896#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5897pub const MsV1_0Lm20ChallengeRequest: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(0i32);
5898#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5899pub const MsV1_0Lm20GetChallengeResponse: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(1i32);
5900#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5901pub const MsV1_0EnumerateUsers: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(2i32);
5902#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5903pub const MsV1_0GetUserInfo: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(3i32);
5904#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5905pub const MsV1_0ReLogonUsers: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(4i32);
5906#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5907pub const MsV1_0ChangePassword: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(5i32);
5908#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5909pub const MsV1_0ChangeCachedPassword: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(6i32);
5910#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5911pub const MsV1_0GenericPassthrough: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(7i32);
5912#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5913pub const MsV1_0CacheLogon: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(8i32);
5914#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5915pub const MsV1_0SubAuth: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(9i32);
5916#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5917pub const MsV1_0DeriveCredential: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(10i32);
5918#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5919pub const MsV1_0CacheLookup: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(11i32);
5920#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5921pub const MsV1_0SetProcessOption: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(12i32);
5922#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5923pub const MsV1_0ConfigLocalAliases: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(13i32);
5924#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5925pub const MsV1_0ClearCachedCredentials: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(14i32);
5926#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5927pub const MsV1_0LookupToken: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(15i32);
5928#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5929pub const MsV1_0ValidateAuth: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(16i32);
5930#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5931pub const MsV1_0CacheLookupEx: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(17i32);
5932#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5933pub const MsV1_0GetCredentialKey: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(18i32);
5934#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5935pub const MsV1_0SetThreadOption: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(19i32);
5936#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5937pub const MsV1_0DecryptDpapiMasterKey: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(20i32);
5938#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5939pub const MsV1_0GetStrongCredentialKey: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(21i32);
5940#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5941pub const MsV1_0TransferCred: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(22i32);
5942#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5943pub const MsV1_0ProvisionTbal: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(23i32);
5944#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5945pub const MsV1_0DeleteTbalSecrets: MSV1_0_PROTOCOL_MESSAGE_TYPE = MSV1_0_PROTOCOL_MESSAGE_TYPE(24i32);
5946impl ::core::marker::Copy for MSV1_0_PROTOCOL_MESSAGE_TYPE {}
5947impl ::core::clone::Clone for MSV1_0_PROTOCOL_MESSAGE_TYPE {
5948 fn clone(&self) -> Self {
5949 *self
5950 }
5951}
5952impl ::core::default::Default for MSV1_0_PROTOCOL_MESSAGE_TYPE {
5953 fn default() -> Self {
5954 Self(0)
5955 }
5956}
5957impl ::windows::core::TypeKind for MSV1_0_PROTOCOL_MESSAGE_TYPE {
5958 type TypeKind = ::windows::core::CopyType;
5959}
5960impl ::core::fmt::Debug for MSV1_0_PROTOCOL_MESSAGE_TYPE {
5961 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5962 f.debug_tuple("MSV1_0_PROTOCOL_MESSAGE_TYPE").field(&self.0).finish()
5963 }
5964}
5965#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5966#[repr(transparent)]
5967#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5968pub struct MSV_SUBAUTH_LOGON_PARAMETER_CONTROL(pub u32);
5969#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5970pub const MSV1_0_CLEARTEXT_PASSWORD_ALLOWED: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = MSV_SUBAUTH_LOGON_PARAMETER_CONTROL(2u32);
5971#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5972pub const MSV1_0_UPDATE_LOGON_STATISTICS: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = MSV_SUBAUTH_LOGON_PARAMETER_CONTROL(4u32);
5973#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5974pub const MSV1_0_RETURN_USER_PARAMETERS: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = MSV_SUBAUTH_LOGON_PARAMETER_CONTROL(8u32);
5975#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5976pub const MSV1_0_DONT_TRY_GUEST_ACCOUNT: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = MSV_SUBAUTH_LOGON_PARAMETER_CONTROL(16u32);
5977#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5978pub const MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = MSV_SUBAUTH_LOGON_PARAMETER_CONTROL(32u32);
5979#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5980pub const MSV1_0_RETURN_PASSWORD_EXPIRY: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = MSV_SUBAUTH_LOGON_PARAMETER_CONTROL(64u32);
5981#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5982pub const MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = MSV_SUBAUTH_LOGON_PARAMETER_CONTROL(2048u32);
5983#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5984pub const MSV1_0_TRY_GUEST_ACCOUNT_ONLY: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = MSV_SUBAUTH_LOGON_PARAMETER_CONTROL(256u32);
5985#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5986pub const MSV1_0_RETURN_PROFILE_PATH: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = MSV_SUBAUTH_LOGON_PARAMETER_CONTROL(512u32);
5987#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
5988pub const MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL = MSV_SUBAUTH_LOGON_PARAMETER_CONTROL(1024u32);
5989impl ::core::marker::Copy for MSV_SUBAUTH_LOGON_PARAMETER_CONTROL {}
5990impl ::core::clone::Clone for MSV_SUBAUTH_LOGON_PARAMETER_CONTROL {
5991 fn clone(&self) -> Self {
5992 *self
5993 }
5994}
5995impl ::core::default::Default for MSV_SUBAUTH_LOGON_PARAMETER_CONTROL {
5996 fn default() -> Self {
5997 Self(0)
5998 }
5999}
6000impl ::windows::core::TypeKind for MSV_SUBAUTH_LOGON_PARAMETER_CONTROL {
6001 type TypeKind = ::windows::core::CopyType;
6002}
6003impl ::core::fmt::Debug for MSV_SUBAUTH_LOGON_PARAMETER_CONTROL {
6004 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6005 f.debug_tuple("MSV_SUBAUTH_LOGON_PARAMETER_CONTROL").field(&self.0).finish()
6006 }
6007}
6008impl MSV_SUBAUTH_LOGON_PARAMETER_CONTROL {
6009 pub const fn contains(&self, other: Self) -> bool {
6010 self.0 & other.0 == other.0
6011 }
6012}
6013impl ::core::ops::BitOr for MSV_SUBAUTH_LOGON_PARAMETER_CONTROL {
6014 type Output = Self;
6015 fn bitor(self, other: Self) -> Self {
6016 Self(self.0 | other.0)
6017 }
6018}
6019impl ::core::ops::BitAnd for MSV_SUBAUTH_LOGON_PARAMETER_CONTROL {
6020 type Output = Self;
6021 fn bitand(self, other: Self) -> Self {
6022 Self(self.0 & other.0)
6023 }
6024}
6025impl ::core::ops::BitOrAssign for MSV_SUBAUTH_LOGON_PARAMETER_CONTROL {
6026 fn bitor_assign(&mut self, other: Self) {
6027 self.0.bitor_assign(other.0)
6028 }
6029}
6030impl ::core::ops::BitAndAssign for MSV_SUBAUTH_LOGON_PARAMETER_CONTROL {
6031 fn bitand_assign(&mut self, other: Self) {
6032 self.0.bitand_assign(other.0)
6033 }
6034}
6035impl ::core::ops::Not for MSV_SUBAUTH_LOGON_PARAMETER_CONTROL {
6036 type Output = Self;
6037 fn not(self) -> Self {
6038 Self(self.0.not())
6039 }
6040}
6041#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6042#[repr(transparent)]
6043#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6044pub struct MSV_SUB_AUTHENTICATION_FILTER(pub u32);
6045#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6046pub const LOGON_GUEST: MSV_SUB_AUTHENTICATION_FILTER = MSV_SUB_AUTHENTICATION_FILTER(1u32);
6047#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6048pub const LOGON_NOENCRYPTION: MSV_SUB_AUTHENTICATION_FILTER = MSV_SUB_AUTHENTICATION_FILTER(2u32);
6049#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6050pub const LOGON_CACHED_ACCOUNT: MSV_SUB_AUTHENTICATION_FILTER = MSV_SUB_AUTHENTICATION_FILTER(4u32);
6051#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6052pub const LOGON_USED_LM_PASSWORD: MSV_SUB_AUTHENTICATION_FILTER = MSV_SUB_AUTHENTICATION_FILTER(8u32);
6053#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6054pub const LOGON_EXTRA_SIDS: MSV_SUB_AUTHENTICATION_FILTER = MSV_SUB_AUTHENTICATION_FILTER(32u32);
6055#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6056pub const LOGON_SUBAUTH_SESSION_KEY: MSV_SUB_AUTHENTICATION_FILTER = MSV_SUB_AUTHENTICATION_FILTER(64u32);
6057#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6058pub const LOGON_SERVER_TRUST_ACCOUNT: MSV_SUB_AUTHENTICATION_FILTER = MSV_SUB_AUTHENTICATION_FILTER(128u32);
6059#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6060pub const LOGON_PROFILE_PATH_RETURNED: MSV_SUB_AUTHENTICATION_FILTER = MSV_SUB_AUTHENTICATION_FILTER(1024u32);
6061#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6062pub const LOGON_RESOURCE_GROUPS: MSV_SUB_AUTHENTICATION_FILTER = MSV_SUB_AUTHENTICATION_FILTER(512u32);
6063impl ::core::marker::Copy for MSV_SUB_AUTHENTICATION_FILTER {}
6064impl ::core::clone::Clone for MSV_SUB_AUTHENTICATION_FILTER {
6065 fn clone(&self) -> Self {
6066 *self
6067 }
6068}
6069impl ::core::default::Default for MSV_SUB_AUTHENTICATION_FILTER {
6070 fn default() -> Self {
6071 Self(0)
6072 }
6073}
6074impl ::windows::core::TypeKind for MSV_SUB_AUTHENTICATION_FILTER {
6075 type TypeKind = ::windows::core::CopyType;
6076}
6077impl ::core::fmt::Debug for MSV_SUB_AUTHENTICATION_FILTER {
6078 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6079 f.debug_tuple("MSV_SUB_AUTHENTICATION_FILTER").field(&self.0).finish()
6080 }
6081}
6082#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6083#[repr(transparent)]
6084#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6085pub struct MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS(pub u32);
6086#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6087pub const MSV1_0_CRED_LM_PRESENT: MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS = MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS(1u32);
6088#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6089pub const MSV1_0_CRED_NT_PRESENT: MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS = MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS(2u32);
6090#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6091pub const MSV1_0_CRED_VERSION: MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS = MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS(0u32);
6092impl ::core::marker::Copy for MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS {}
6093impl ::core::clone::Clone for MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS {
6094 fn clone(&self) -> Self {
6095 *self
6096 }
6097}
6098impl ::core::default::Default for MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS {
6099 fn default() -> Self {
6100 Self(0)
6101 }
6102}
6103impl ::windows::core::TypeKind for MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS {
6104 type TypeKind = ::windows::core::CopyType;
6105}
6106impl ::core::fmt::Debug for MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS {
6107 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6108 f.debug_tuple("MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS").field(&self.0).finish()
6109 }
6110}
6111impl MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS {
6112 pub const fn contains(&self, other: Self) -> bool {
6113 self.0 & other.0 == other.0
6114 }
6115}
6116impl ::core::ops::BitOr for MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS {
6117 type Output = Self;
6118 fn bitor(self, other: Self) -> Self {
6119 Self(self.0 | other.0)
6120 }
6121}
6122impl ::core::ops::BitAnd for MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS {
6123 type Output = Self;
6124 fn bitand(self, other: Self) -> Self {
6125 Self(self.0 & other.0)
6126 }
6127}
6128impl ::core::ops::BitOrAssign for MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS {
6129 fn bitor_assign(&mut self, other: Self) {
6130 self.0.bitor_assign(other.0)
6131 }
6132}
6133impl ::core::ops::BitAndAssign for MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS {
6134 fn bitand_assign(&mut self, other: Self) {
6135 self.0.bitand_assign(other.0)
6136 }
6137}
6138impl ::core::ops::Not for MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS {
6139 type Output = Self;
6140 fn not(self) -> Self {
6141 Self(self.0.not())
6142 }
6143}
6144#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6145#[repr(transparent)]
6146#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6147pub struct NEGOTIATE_MESSAGES(pub i32);
6148#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6149pub const NegEnumPackagePrefixes: NEGOTIATE_MESSAGES = NEGOTIATE_MESSAGES(0i32);
6150#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6151pub const NegGetCallerName: NEGOTIATE_MESSAGES = NEGOTIATE_MESSAGES(1i32);
6152#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6153pub const NegTransferCredentials: NEGOTIATE_MESSAGES = NEGOTIATE_MESSAGES(2i32);
6154#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6155pub const NegMsgReserved1: NEGOTIATE_MESSAGES = NEGOTIATE_MESSAGES(3i32);
6156#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6157pub const NegCallPackageMax: NEGOTIATE_MESSAGES = NEGOTIATE_MESSAGES(4i32);
6158impl ::core::marker::Copy for NEGOTIATE_MESSAGES {}
6159impl ::core::clone::Clone for NEGOTIATE_MESSAGES {
6160 fn clone(&self) -> Self {
6161 *self
6162 }
6163}
6164impl ::core::default::Default for NEGOTIATE_MESSAGES {
6165 fn default() -> Self {
6166 Self(0)
6167 }
6168}
6169impl ::windows::core::TypeKind for NEGOTIATE_MESSAGES {
6170 type TypeKind = ::windows::core::CopyType;
6171}
6172impl ::core::fmt::Debug for NEGOTIATE_MESSAGES {
6173 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6174 f.debug_tuple("NEGOTIATE_MESSAGES").field(&self.0).finish()
6175 }
6176}
6177#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6178#[repr(transparent)]
6179#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6180pub struct NETLOGON_LOGON_INFO_CLASS(pub i32);
6181#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6182pub const NetlogonInteractiveInformation: NETLOGON_LOGON_INFO_CLASS = NETLOGON_LOGON_INFO_CLASS(1i32);
6183#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6184pub const NetlogonNetworkInformation: NETLOGON_LOGON_INFO_CLASS = NETLOGON_LOGON_INFO_CLASS(2i32);
6185#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6186pub const NetlogonServiceInformation: NETLOGON_LOGON_INFO_CLASS = NETLOGON_LOGON_INFO_CLASS(3i32);
6187#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6188pub const NetlogonGenericInformation: NETLOGON_LOGON_INFO_CLASS = NETLOGON_LOGON_INFO_CLASS(4i32);
6189#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6190pub const NetlogonInteractiveTransitiveInformation: NETLOGON_LOGON_INFO_CLASS = NETLOGON_LOGON_INFO_CLASS(5i32);
6191#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6192pub const NetlogonNetworkTransitiveInformation: NETLOGON_LOGON_INFO_CLASS = NETLOGON_LOGON_INFO_CLASS(6i32);
6193#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6194pub const NetlogonServiceTransitiveInformation: NETLOGON_LOGON_INFO_CLASS = NETLOGON_LOGON_INFO_CLASS(7i32);
6195impl ::core::marker::Copy for NETLOGON_LOGON_INFO_CLASS {}
6196impl ::core::clone::Clone for NETLOGON_LOGON_INFO_CLASS {
6197 fn clone(&self) -> Self {
6198 *self
6199 }
6200}
6201impl ::core::default::Default for NETLOGON_LOGON_INFO_CLASS {
6202 fn default() -> Self {
6203 Self(0)
6204 }
6205}
6206impl ::windows::core::TypeKind for NETLOGON_LOGON_INFO_CLASS {
6207 type TypeKind = ::windows::core::CopyType;
6208}
6209impl ::core::fmt::Debug for NETLOGON_LOGON_INFO_CLASS {
6210 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6211 f.debug_tuple("NETLOGON_LOGON_INFO_CLASS").field(&self.0).finish()
6212 }
6213}
6214#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6215#[repr(transparent)]
6216#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6217pub struct PKU2U_LOGON_SUBMIT_TYPE(pub i32);
6218#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6219pub const Pku2uCertificateS4ULogon: PKU2U_LOGON_SUBMIT_TYPE = PKU2U_LOGON_SUBMIT_TYPE(14i32);
6220impl ::core::marker::Copy for PKU2U_LOGON_SUBMIT_TYPE {}
6221impl ::core::clone::Clone for PKU2U_LOGON_SUBMIT_TYPE {
6222 fn clone(&self) -> Self {
6223 *self
6224 }
6225}
6226impl ::core::default::Default for PKU2U_LOGON_SUBMIT_TYPE {
6227 fn default() -> Self {
6228 Self(0)
6229 }
6230}
6231impl ::windows::core::TypeKind for PKU2U_LOGON_SUBMIT_TYPE {
6232 type TypeKind = ::windows::core::CopyType;
6233}
6234impl ::core::fmt::Debug for PKU2U_LOGON_SUBMIT_TYPE {
6235 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6236 f.debug_tuple("PKU2U_LOGON_SUBMIT_TYPE").field(&self.0).finish()
6237 }
6238}
6239#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6240#[repr(transparent)]
6241#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6242pub struct POLICY_AUDIT_EVENT_TYPE(pub i32);
6243#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6244pub const AuditCategorySystem: POLICY_AUDIT_EVENT_TYPE = POLICY_AUDIT_EVENT_TYPE(0i32);
6245#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6246pub const AuditCategoryLogon: POLICY_AUDIT_EVENT_TYPE = POLICY_AUDIT_EVENT_TYPE(1i32);
6247#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6248pub const AuditCategoryObjectAccess: POLICY_AUDIT_EVENT_TYPE = POLICY_AUDIT_EVENT_TYPE(2i32);
6249#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6250pub const AuditCategoryPrivilegeUse: POLICY_AUDIT_EVENT_TYPE = POLICY_AUDIT_EVENT_TYPE(3i32);
6251#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6252pub const AuditCategoryDetailedTracking: POLICY_AUDIT_EVENT_TYPE = POLICY_AUDIT_EVENT_TYPE(4i32);
6253#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6254pub const AuditCategoryPolicyChange: POLICY_AUDIT_EVENT_TYPE = POLICY_AUDIT_EVENT_TYPE(5i32);
6255#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6256pub const AuditCategoryAccountManagement: POLICY_AUDIT_EVENT_TYPE = POLICY_AUDIT_EVENT_TYPE(6i32);
6257#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6258pub const AuditCategoryDirectoryServiceAccess: POLICY_AUDIT_EVENT_TYPE = POLICY_AUDIT_EVENT_TYPE(7i32);
6259#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6260pub const AuditCategoryAccountLogon: POLICY_AUDIT_EVENT_TYPE = POLICY_AUDIT_EVENT_TYPE(8i32);
6261impl ::core::marker::Copy for POLICY_AUDIT_EVENT_TYPE {}
6262impl ::core::clone::Clone for POLICY_AUDIT_EVENT_TYPE {
6263 fn clone(&self) -> Self {
6264 *self
6265 }
6266}
6267impl ::core::default::Default for POLICY_AUDIT_EVENT_TYPE {
6268 fn default() -> Self {
6269 Self(0)
6270 }
6271}
6272impl ::windows::core::TypeKind for POLICY_AUDIT_EVENT_TYPE {
6273 type TypeKind = ::windows::core::CopyType;
6274}
6275impl ::core::fmt::Debug for POLICY_AUDIT_EVENT_TYPE {
6276 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6277 f.debug_tuple("POLICY_AUDIT_EVENT_TYPE").field(&self.0).finish()
6278 }
6279}
6280#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6281#[repr(transparent)]
6282#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6283pub struct POLICY_DOMAIN_INFORMATION_CLASS(pub i32);
6284#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6285pub const PolicyDomainEfsInformation: POLICY_DOMAIN_INFORMATION_CLASS = POLICY_DOMAIN_INFORMATION_CLASS(2i32);
6286#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6287pub const PolicyDomainKerberosTicketInformation: POLICY_DOMAIN_INFORMATION_CLASS = POLICY_DOMAIN_INFORMATION_CLASS(3i32);
6288impl ::core::marker::Copy for POLICY_DOMAIN_INFORMATION_CLASS {}
6289impl ::core::clone::Clone for POLICY_DOMAIN_INFORMATION_CLASS {
6290 fn clone(&self) -> Self {
6291 *self
6292 }
6293}
6294impl ::core::default::Default for POLICY_DOMAIN_INFORMATION_CLASS {
6295 fn default() -> Self {
6296 Self(0)
6297 }
6298}
6299impl ::windows::core::TypeKind for POLICY_DOMAIN_INFORMATION_CLASS {
6300 type TypeKind = ::windows::core::CopyType;
6301}
6302impl ::core::fmt::Debug for POLICY_DOMAIN_INFORMATION_CLASS {
6303 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6304 f.debug_tuple("POLICY_DOMAIN_INFORMATION_CLASS").field(&self.0).finish()
6305 }
6306}
6307#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6308#[repr(transparent)]
6309#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6310pub struct POLICY_INFORMATION_CLASS(pub i32);
6311#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6312pub const PolicyAuditLogInformation: POLICY_INFORMATION_CLASS = POLICY_INFORMATION_CLASS(1i32);
6313#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6314pub const PolicyAuditEventsInformation: POLICY_INFORMATION_CLASS = POLICY_INFORMATION_CLASS(2i32);
6315#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6316pub const PolicyPrimaryDomainInformation: POLICY_INFORMATION_CLASS = POLICY_INFORMATION_CLASS(3i32);
6317#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6318pub const PolicyPdAccountInformation: POLICY_INFORMATION_CLASS = POLICY_INFORMATION_CLASS(4i32);
6319#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6320pub const PolicyAccountDomainInformation: POLICY_INFORMATION_CLASS = POLICY_INFORMATION_CLASS(5i32);
6321#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6322pub const PolicyLsaServerRoleInformation: POLICY_INFORMATION_CLASS = POLICY_INFORMATION_CLASS(6i32);
6323#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6324pub const PolicyReplicaSourceInformation: POLICY_INFORMATION_CLASS = POLICY_INFORMATION_CLASS(7i32);
6325#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6326pub const PolicyDefaultQuotaInformation: POLICY_INFORMATION_CLASS = POLICY_INFORMATION_CLASS(8i32);
6327#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6328pub const PolicyModificationInformation: POLICY_INFORMATION_CLASS = POLICY_INFORMATION_CLASS(9i32);
6329#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6330pub const PolicyAuditFullSetInformation: POLICY_INFORMATION_CLASS = POLICY_INFORMATION_CLASS(10i32);
6331#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6332pub const PolicyAuditFullQueryInformation: POLICY_INFORMATION_CLASS = POLICY_INFORMATION_CLASS(11i32);
6333#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6334pub const PolicyDnsDomainInformation: POLICY_INFORMATION_CLASS = POLICY_INFORMATION_CLASS(12i32);
6335#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6336pub const PolicyDnsDomainInformationInt: POLICY_INFORMATION_CLASS = POLICY_INFORMATION_CLASS(13i32);
6337#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6338pub const PolicyLocalAccountDomainInformation: POLICY_INFORMATION_CLASS = POLICY_INFORMATION_CLASS(14i32);
6339#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6340pub const PolicyMachineAccountInformation: POLICY_INFORMATION_CLASS = POLICY_INFORMATION_CLASS(15i32);
6341#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6342pub const PolicyLastEntry: POLICY_INFORMATION_CLASS = POLICY_INFORMATION_CLASS(16i32);
6343impl ::core::marker::Copy for POLICY_INFORMATION_CLASS {}
6344impl ::core::clone::Clone for POLICY_INFORMATION_CLASS {
6345 fn clone(&self) -> Self {
6346 *self
6347 }
6348}
6349impl ::core::default::Default for POLICY_INFORMATION_CLASS {
6350 fn default() -> Self {
6351 Self(0)
6352 }
6353}
6354impl ::windows::core::TypeKind for POLICY_INFORMATION_CLASS {
6355 type TypeKind = ::windows::core::CopyType;
6356}
6357impl ::core::fmt::Debug for POLICY_INFORMATION_CLASS {
6358 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6359 f.debug_tuple("POLICY_INFORMATION_CLASS").field(&self.0).finish()
6360 }
6361}
6362#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6363#[repr(transparent)]
6364#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6365pub struct POLICY_LSA_SERVER_ROLE(pub i32);
6366#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6367pub const PolicyServerRoleBackup: POLICY_LSA_SERVER_ROLE = POLICY_LSA_SERVER_ROLE(2i32);
6368#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6369pub const PolicyServerRolePrimary: POLICY_LSA_SERVER_ROLE = POLICY_LSA_SERVER_ROLE(3i32);
6370impl ::core::marker::Copy for POLICY_LSA_SERVER_ROLE {}
6371impl ::core::clone::Clone for POLICY_LSA_SERVER_ROLE {
6372 fn clone(&self) -> Self {
6373 *self
6374 }
6375}
6376impl ::core::default::Default for POLICY_LSA_SERVER_ROLE {
6377 fn default() -> Self {
6378 Self(0)
6379 }
6380}
6381impl ::windows::core::TypeKind for POLICY_LSA_SERVER_ROLE {
6382 type TypeKind = ::windows::core::CopyType;
6383}
6384impl ::core::fmt::Debug for POLICY_LSA_SERVER_ROLE {
6385 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6386 f.debug_tuple("POLICY_LSA_SERVER_ROLE").field(&self.0).finish()
6387 }
6388}
6389#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6390#[repr(transparent)]
6391#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6392pub struct POLICY_NOTIFICATION_INFORMATION_CLASS(pub i32);
6393#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6394pub const PolicyNotifyAuditEventsInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = POLICY_NOTIFICATION_INFORMATION_CLASS(1i32);
6395#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6396pub const PolicyNotifyAccountDomainInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = POLICY_NOTIFICATION_INFORMATION_CLASS(2i32);
6397#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6398pub const PolicyNotifyServerRoleInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = POLICY_NOTIFICATION_INFORMATION_CLASS(3i32);
6399#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6400pub const PolicyNotifyDnsDomainInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = POLICY_NOTIFICATION_INFORMATION_CLASS(4i32);
6401#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6402pub const PolicyNotifyDomainEfsInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = POLICY_NOTIFICATION_INFORMATION_CLASS(5i32);
6403#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6404pub const PolicyNotifyDomainKerberosTicketInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = POLICY_NOTIFICATION_INFORMATION_CLASS(6i32);
6405#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6406pub const PolicyNotifyMachineAccountPasswordInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = POLICY_NOTIFICATION_INFORMATION_CLASS(7i32);
6407#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6408pub const PolicyNotifyGlobalSaclInformation: POLICY_NOTIFICATION_INFORMATION_CLASS = POLICY_NOTIFICATION_INFORMATION_CLASS(8i32);
6409#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6410pub const PolicyNotifyMax: POLICY_NOTIFICATION_INFORMATION_CLASS = POLICY_NOTIFICATION_INFORMATION_CLASS(9i32);
6411impl ::core::marker::Copy for POLICY_NOTIFICATION_INFORMATION_CLASS {}
6412impl ::core::clone::Clone for POLICY_NOTIFICATION_INFORMATION_CLASS {
6413 fn clone(&self) -> Self {
6414 *self
6415 }
6416}
6417impl ::core::default::Default for POLICY_NOTIFICATION_INFORMATION_CLASS {
6418 fn default() -> Self {
6419 Self(0)
6420 }
6421}
6422impl ::windows::core::TypeKind for POLICY_NOTIFICATION_INFORMATION_CLASS {
6423 type TypeKind = ::windows::core::CopyType;
6424}
6425impl ::core::fmt::Debug for POLICY_NOTIFICATION_INFORMATION_CLASS {
6426 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6427 f.debug_tuple("POLICY_NOTIFICATION_INFORMATION_CLASS").field(&self.0).finish()
6428 }
6429}
6430#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6431#[repr(transparent)]
6432#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6433pub struct SASL_AUTHZID_STATE(pub i32);
6434#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6435pub const Sasl_AuthZIDForbidden: SASL_AUTHZID_STATE = SASL_AUTHZID_STATE(0i32);
6436#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6437pub const Sasl_AuthZIDProcessed: SASL_AUTHZID_STATE = SASL_AUTHZID_STATE(1i32);
6438impl ::core::marker::Copy for SASL_AUTHZID_STATE {}
6439impl ::core::clone::Clone for SASL_AUTHZID_STATE {
6440 fn clone(&self) -> Self {
6441 *self
6442 }
6443}
6444impl ::core::default::Default for SASL_AUTHZID_STATE {
6445 fn default() -> Self {
6446 Self(0)
6447 }
6448}
6449impl ::windows::core::TypeKind for SASL_AUTHZID_STATE {
6450 type TypeKind = ::windows::core::CopyType;
6451}
6452impl ::core::fmt::Debug for SASL_AUTHZID_STATE {
6453 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6454 f.debug_tuple("SASL_AUTHZID_STATE").field(&self.0).finish()
6455 }
6456}
6457#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6458#[repr(transparent)]
6459#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6460pub struct SCHANNEL_ALERT_TOKEN_ALERT_TYPE(pub u32);
6461#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6462pub const TLS1_ALERT_WARNING: SCHANNEL_ALERT_TOKEN_ALERT_TYPE = SCHANNEL_ALERT_TOKEN_ALERT_TYPE(1u32);
6463#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6464pub const TLS1_ALERT_FATAL: SCHANNEL_ALERT_TOKEN_ALERT_TYPE = SCHANNEL_ALERT_TOKEN_ALERT_TYPE(2u32);
6465impl ::core::marker::Copy for SCHANNEL_ALERT_TOKEN_ALERT_TYPE {}
6466impl ::core::clone::Clone for SCHANNEL_ALERT_TOKEN_ALERT_TYPE {
6467 fn clone(&self) -> Self {
6468 *self
6469 }
6470}
6471impl ::core::default::Default for SCHANNEL_ALERT_TOKEN_ALERT_TYPE {
6472 fn default() -> Self {
6473 Self(0)
6474 }
6475}
6476impl ::windows::core::TypeKind for SCHANNEL_ALERT_TOKEN_ALERT_TYPE {
6477 type TypeKind = ::windows::core::CopyType;
6478}
6479impl ::core::fmt::Debug for SCHANNEL_ALERT_TOKEN_ALERT_TYPE {
6480 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6481 f.debug_tuple("SCHANNEL_ALERT_TOKEN_ALERT_TYPE").field(&self.0).finish()
6482 }
6483}
6484#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6485#[repr(transparent)]
6486#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6487pub struct SCHANNEL_CRED_FLAGS(pub u32);
6488#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6489pub const SCH_CRED_AUTO_CRED_VALIDATION: SCHANNEL_CRED_FLAGS = SCHANNEL_CRED_FLAGS(32u32);
6490#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6491pub const SCH_CRED_CACHE_ONLY_URL_RETRIEVAL_ON_CREATE: SCHANNEL_CRED_FLAGS = SCHANNEL_CRED_FLAGS(131072u32);
6492#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6493pub const SCH_DISABLE_RECONNECTS: SCHANNEL_CRED_FLAGS = SCHANNEL_CRED_FLAGS(128u32);
6494#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6495pub const SCH_CRED_IGNORE_NO_REVOCATION_CHECK: SCHANNEL_CRED_FLAGS = SCHANNEL_CRED_FLAGS(2048u32);
6496#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6497pub const SCH_CRED_IGNORE_REVOCATION_OFFLINE: SCHANNEL_CRED_FLAGS = SCHANNEL_CRED_FLAGS(4096u32);
6498#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6499pub const SCH_CRED_MANUAL_CRED_VALIDATION: SCHANNEL_CRED_FLAGS = SCHANNEL_CRED_FLAGS(8u32);
6500#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6501pub const SCH_CRED_NO_DEFAULT_CREDS: SCHANNEL_CRED_FLAGS = SCHANNEL_CRED_FLAGS(16u32);
6502#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6503pub const SCH_CRED_NO_SERVERNAME_CHECK: SCHANNEL_CRED_FLAGS = SCHANNEL_CRED_FLAGS(4u32);
6504#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6505pub const SCH_CRED_NO_SYSTEM_MAPPER: SCHANNEL_CRED_FLAGS = SCHANNEL_CRED_FLAGS(2u32);
6506#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6507pub const SCH_CRED_REVOCATION_CHECK_CHAIN: SCHANNEL_CRED_FLAGS = SCHANNEL_CRED_FLAGS(512u32);
6508#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6509pub const SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT: SCHANNEL_CRED_FLAGS = SCHANNEL_CRED_FLAGS(1024u32);
6510#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6511pub const SCH_CRED_REVOCATION_CHECK_END_CERT: SCHANNEL_CRED_FLAGS = SCHANNEL_CRED_FLAGS(256u32);
6512#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6513pub const SCH_CRED_USE_DEFAULT_CREDS: SCHANNEL_CRED_FLAGS = SCHANNEL_CRED_FLAGS(64u32);
6514#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6515pub const SCH_SEND_AUX_RECORD: SCHANNEL_CRED_FLAGS = SCHANNEL_CRED_FLAGS(2097152u32);
6516#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6517pub const SCH_SEND_ROOT_CERT: SCHANNEL_CRED_FLAGS = SCHANNEL_CRED_FLAGS(262144u32);
6518#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6519pub const SCH_USE_STRONG_CRYPTO: SCHANNEL_CRED_FLAGS = SCHANNEL_CRED_FLAGS(4194304u32);
6520#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6521pub const SCH_USE_PRESHAREDKEY_ONLY: SCHANNEL_CRED_FLAGS = SCHANNEL_CRED_FLAGS(8388608u32);
6522impl ::core::marker::Copy for SCHANNEL_CRED_FLAGS {}
6523impl ::core::clone::Clone for SCHANNEL_CRED_FLAGS {
6524 fn clone(&self) -> Self {
6525 *self
6526 }
6527}
6528impl ::core::default::Default for SCHANNEL_CRED_FLAGS {
6529 fn default() -> Self {
6530 Self(0)
6531 }
6532}
6533impl ::windows::core::TypeKind for SCHANNEL_CRED_FLAGS {
6534 type TypeKind = ::windows::core::CopyType;
6535}
6536impl ::core::fmt::Debug for SCHANNEL_CRED_FLAGS {
6537 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6538 f.debug_tuple("SCHANNEL_CRED_FLAGS").field(&self.0).finish()
6539 }
6540}
6541impl SCHANNEL_CRED_FLAGS {
6542 pub const fn contains(&self, other: Self) -> bool {
6543 self.0 & other.0 == other.0
6544 }
6545}
6546impl ::core::ops::BitOr for SCHANNEL_CRED_FLAGS {
6547 type Output = Self;
6548 fn bitor(self, other: Self) -> Self {
6549 Self(self.0 | other.0)
6550 }
6551}
6552impl ::core::ops::BitAnd for SCHANNEL_CRED_FLAGS {
6553 type Output = Self;
6554 fn bitand(self, other: Self) -> Self {
6555 Self(self.0 & other.0)
6556 }
6557}
6558impl ::core::ops::BitOrAssign for SCHANNEL_CRED_FLAGS {
6559 fn bitor_assign(&mut self, other: Self) {
6560 self.0.bitor_assign(other.0)
6561 }
6562}
6563impl ::core::ops::BitAndAssign for SCHANNEL_CRED_FLAGS {
6564 fn bitand_assign(&mut self, other: Self) {
6565 self.0.bitand_assign(other.0)
6566 }
6567}
6568impl ::core::ops::Not for SCHANNEL_CRED_FLAGS {
6569 type Output = Self;
6570 fn not(self) -> Self {
6571 Self(self.0.not())
6572 }
6573}
6574#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6575#[repr(transparent)]
6576#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6577pub struct SCHANNEL_SESSION_TOKEN_FLAGS(pub u32);
6578#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6579pub const SSL_SESSION_ENABLE_RECONNECTS: SCHANNEL_SESSION_TOKEN_FLAGS = SCHANNEL_SESSION_TOKEN_FLAGS(1u32);
6580#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6581pub const SSL_SESSION_DISABLE_RECONNECTS: SCHANNEL_SESSION_TOKEN_FLAGS = SCHANNEL_SESSION_TOKEN_FLAGS(2u32);
6582impl ::core::marker::Copy for SCHANNEL_SESSION_TOKEN_FLAGS {}
6583impl ::core::clone::Clone for SCHANNEL_SESSION_TOKEN_FLAGS {
6584 fn clone(&self) -> Self {
6585 *self
6586 }
6587}
6588impl ::core::default::Default for SCHANNEL_SESSION_TOKEN_FLAGS {
6589 fn default() -> Self {
6590 Self(0)
6591 }
6592}
6593impl ::windows::core::TypeKind for SCHANNEL_SESSION_TOKEN_FLAGS {
6594 type TypeKind = ::windows::core::CopyType;
6595}
6596impl ::core::fmt::Debug for SCHANNEL_SESSION_TOKEN_FLAGS {
6597 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6598 f.debug_tuple("SCHANNEL_SESSION_TOKEN_FLAGS").field(&self.0).finish()
6599 }
6600}
6601#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6602#[repr(transparent)]
6603#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6604pub struct SECPKG_ATTR(pub u32);
6605#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6606pub const SECPKG_ATTR_C_ACCESS_TOKEN: SECPKG_ATTR = SECPKG_ATTR(2147483666u32);
6607#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6608pub const SECPKG_ATTR_C_FULL_ACCESS_TOKEN: SECPKG_ATTR = SECPKG_ATTR(2147483778u32);
6609#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6610pub const SECPKG_ATTR_CERT_TRUST_STATUS: SECPKG_ATTR = SECPKG_ATTR(2147483780u32);
6611#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6612pub const SECPKG_ATTR_CREDS: SECPKG_ATTR = SECPKG_ATTR(2147483776u32);
6613#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6614pub const SECPKG_ATTR_CREDS_2: SECPKG_ATTR = SECPKG_ATTR(2147483782u32);
6615#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6616pub const SECPKG_ATTR_NEGOTIATION_PACKAGE: SECPKG_ATTR = SECPKG_ATTR(2147483777u32);
6617#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6618pub const SECPKG_ATTR_PACKAGE_INFO: SECPKG_ATTR = SECPKG_ATTR(10u32);
6619#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6620pub const SECPKG_ATTR_SERVER_AUTH_FLAGS: SECPKG_ATTR = SECPKG_ATTR(2147483779u32);
6621#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6622pub const SECPKG_ATTR_SIZES: SECPKG_ATTR = SECPKG_ATTR(0u32);
6623#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6624pub const SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTES: SECPKG_ATTR = SECPKG_ATTR(124u32);
6625#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6626pub const SECPKG_ATTR_APP_DATA: SECPKG_ATTR = SECPKG_ATTR(94u32);
6627#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6628pub const SECPKG_ATTR_EAP_PRF_INFO: SECPKG_ATTR = SECPKG_ATTR(101u32);
6629#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6630pub const SECPKG_ATTR_EARLY_START: SECPKG_ATTR = SECPKG_ATTR(105u32);
6631#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6632pub const SECPKG_ATTR_DTLS_MTU: SECPKG_ATTR = SECPKG_ATTR(34u32);
6633#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6634pub const SECPKG_ATTR_KEYING_MATERIAL_INFO: SECPKG_ATTR = SECPKG_ATTR(106u32);
6635#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6636pub const SECPKG_ATTR_ACCESS_TOKEN: SECPKG_ATTR = SECPKG_ATTR(18u32);
6637#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6638pub const SECPKG_ATTR_AUTHORITY: SECPKG_ATTR = SECPKG_ATTR(6u32);
6639#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6640pub const SECPKG_ATTR_CLIENT_SPECIFIED_TARGET: SECPKG_ATTR = SECPKG_ATTR(27u32);
6641#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6642pub const SECPKG_ATTR_CONNECTION_INFO: SECPKG_ATTR = SECPKG_ATTR(90u32);
6643#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6644pub const SECPKG_ATTR_DCE_INFO: SECPKG_ATTR = SECPKG_ATTR(3u32);
6645#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6646pub const SECPKG_ATTR_ENDPOINT_BINDINGS: SECPKG_ATTR = SECPKG_ATTR(26u32);
6647#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6648pub const SECPKG_ATTR_EAP_KEY_BLOCK: SECPKG_ATTR = SECPKG_ATTR(91u32);
6649#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6650pub const SECPKG_ATTR_FLAGS: SECPKG_ATTR = SECPKG_ATTR(14u32);
6651#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6652pub const SECPKG_ATTR_ISSUER_LIST_EX: SECPKG_ATTR = SECPKG_ATTR(89u32);
6653#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6654pub const SECPKG_ATTR_KEY_INFO: SECPKG_ATTR = SECPKG_ATTR(5u32);
6655#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6656pub const SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS: SECPKG_ATTR = SECPKG_ATTR(30u32);
6657#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6658pub const SECPKG_ATTR_LIFESPAN: SECPKG_ATTR = SECPKG_ATTR(2u32);
6659#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6660pub const SECPKG_ATTR_LOCAL_CERT_CONTEXT: SECPKG_ATTR = SECPKG_ATTR(84u32);
6661#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6662pub const SECPKG_ATTR_LOCAL_CRED: SECPKG_ATTR = SECPKG_ATTR(82u32);
6663#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6664pub const SECPKG_ATTR_NAMES: SECPKG_ATTR = SECPKG_ATTR(1u32);
6665#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6666pub const SECPKG_ATTR_NATIVE_NAMES: SECPKG_ATTR = SECPKG_ATTR(13u32);
6667#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6668pub const SECPKG_ATTR_NEGOTIATION_INFO: SECPKG_ATTR = SECPKG_ATTR(12u32);
6669#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6670pub const SECPKG_ATTR_PASSWORD_EXPIRY: SECPKG_ATTR = SECPKG_ATTR(8u32);
6671#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6672pub const SECPKG_ATTR_REMOTE_CERT_CONTEXT: SECPKG_ATTR = SECPKG_ATTR(83u32);
6673#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6674pub const SECPKG_ATTR_ROOT_STORE: SECPKG_ATTR = SECPKG_ATTR(85u32);
6675#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6676pub const SECPKG_ATTR_SESSION_KEY: SECPKG_ATTR = SECPKG_ATTR(9u32);
6677#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6678pub const SECPKG_ATTR_SESSION_INFO: SECPKG_ATTR = SECPKG_ATTR(93u32);
6679#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6680pub const SECPKG_ATTR_STREAM_SIZES: SECPKG_ATTR = SECPKG_ATTR(4u32);
6681#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6682pub const SECPKG_ATTR_SUPPORTED_SIGNATURES: SECPKG_ATTR = SECPKG_ATTR(102u32);
6683#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6684pub const SECPKG_ATTR_TARGET_INFORMATION: SECPKG_ATTR = SECPKG_ATTR(17u32);
6685#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6686pub const SECPKG_ATTR_UNIQUE_BINDINGS: SECPKG_ATTR = SECPKG_ATTR(25u32);
6687impl ::core::marker::Copy for SECPKG_ATTR {}
6688impl ::core::clone::Clone for SECPKG_ATTR {
6689 fn clone(&self) -> Self {
6690 *self
6691 }
6692}
6693impl ::core::default::Default for SECPKG_ATTR {
6694 fn default() -> Self {
6695 Self(0)
6696 }
6697}
6698impl ::windows::core::TypeKind for SECPKG_ATTR {
6699 type TypeKind = ::windows::core::CopyType;
6700}
6701impl ::core::fmt::Debug for SECPKG_ATTR {
6702 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6703 f.debug_tuple("SECPKG_ATTR").field(&self.0).finish()
6704 }
6705}
6706#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6707#[repr(transparent)]
6708#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6709pub struct SECPKG_ATTR_LCT_STATUS(pub i32);
6710#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6711pub const SecPkgAttrLastClientTokenYes: SECPKG_ATTR_LCT_STATUS = SECPKG_ATTR_LCT_STATUS(0i32);
6712#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6713pub const SecPkgAttrLastClientTokenNo: SECPKG_ATTR_LCT_STATUS = SECPKG_ATTR_LCT_STATUS(1i32);
6714#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6715pub const SecPkgAttrLastClientTokenMaybe: SECPKG_ATTR_LCT_STATUS = SECPKG_ATTR_LCT_STATUS(2i32);
6716impl ::core::marker::Copy for SECPKG_ATTR_LCT_STATUS {}
6717impl ::core::clone::Clone for SECPKG_ATTR_LCT_STATUS {
6718 fn clone(&self) -> Self {
6719 *self
6720 }
6721}
6722impl ::core::default::Default for SECPKG_ATTR_LCT_STATUS {
6723 fn default() -> Self {
6724 Self(0)
6725 }
6726}
6727impl ::windows::core::TypeKind for SECPKG_ATTR_LCT_STATUS {
6728 type TypeKind = ::windows::core::CopyType;
6729}
6730impl ::core::fmt::Debug for SECPKG_ATTR_LCT_STATUS {
6731 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6732 f.debug_tuple("SECPKG_ATTR_LCT_STATUS").field(&self.0).finish()
6733 }
6734}
6735#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6736#[repr(transparent)]
6737#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6738pub struct SECPKG_CALL_PACKAGE_MESSAGE_TYPE(pub i32);
6739#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6740pub const SecPkgCallPackageMinMessage: SECPKG_CALL_PACKAGE_MESSAGE_TYPE = SECPKG_CALL_PACKAGE_MESSAGE_TYPE(1024i32);
6741#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6742pub const SecPkgCallPackagePinDcMessage: SECPKG_CALL_PACKAGE_MESSAGE_TYPE = SECPKG_CALL_PACKAGE_MESSAGE_TYPE(1024i32);
6743#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6744pub const SecPkgCallPackageUnpinAllDcsMessage: SECPKG_CALL_PACKAGE_MESSAGE_TYPE = SECPKG_CALL_PACKAGE_MESSAGE_TYPE(1025i32);
6745#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6746pub const SecPkgCallPackageTransferCredMessage: SECPKG_CALL_PACKAGE_MESSAGE_TYPE = SECPKG_CALL_PACKAGE_MESSAGE_TYPE(1026i32);
6747#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6748pub const SecPkgCallPackageMaxMessage: SECPKG_CALL_PACKAGE_MESSAGE_TYPE = SECPKG_CALL_PACKAGE_MESSAGE_TYPE(1026i32);
6749impl ::core::marker::Copy for SECPKG_CALL_PACKAGE_MESSAGE_TYPE {}
6750impl ::core::clone::Clone for SECPKG_CALL_PACKAGE_MESSAGE_TYPE {
6751 fn clone(&self) -> Self {
6752 *self
6753 }
6754}
6755impl ::core::default::Default for SECPKG_CALL_PACKAGE_MESSAGE_TYPE {
6756 fn default() -> Self {
6757 Self(0)
6758 }
6759}
6760impl ::windows::core::TypeKind for SECPKG_CALL_PACKAGE_MESSAGE_TYPE {
6761 type TypeKind = ::windows::core::CopyType;
6762}
6763impl ::core::fmt::Debug for SECPKG_CALL_PACKAGE_MESSAGE_TYPE {
6764 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6765 f.debug_tuple("SECPKG_CALL_PACKAGE_MESSAGE_TYPE").field(&self.0).finish()
6766 }
6767}
6768#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6769#[repr(transparent)]
6770#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6771pub struct SECPKG_CRED(pub u32);
6772#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6773pub const SECPKG_CRED_INBOUND: SECPKG_CRED = SECPKG_CRED(1u32);
6774#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6775pub const SECPKG_CRED_OUTBOUND: SECPKG_CRED = SECPKG_CRED(2u32);
6776impl ::core::marker::Copy for SECPKG_CRED {}
6777impl ::core::clone::Clone for SECPKG_CRED {
6778 fn clone(&self) -> Self {
6779 *self
6780 }
6781}
6782impl ::core::default::Default for SECPKG_CRED {
6783 fn default() -> Self {
6784 Self(0)
6785 }
6786}
6787impl ::windows::core::TypeKind for SECPKG_CRED {
6788 type TypeKind = ::windows::core::CopyType;
6789}
6790impl ::core::fmt::Debug for SECPKG_CRED {
6791 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6792 f.debug_tuple("SECPKG_CRED").field(&self.0).finish()
6793 }
6794}
6795#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6796#[repr(transparent)]
6797#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6798pub struct SECPKG_CRED_CLASS(pub i32);
6799#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6800pub const SecPkgCredClass_None: SECPKG_CRED_CLASS = SECPKG_CRED_CLASS(0i32);
6801#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6802pub const SecPkgCredClass_Ephemeral: SECPKG_CRED_CLASS = SECPKG_CRED_CLASS(10i32);
6803#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6804pub const SecPkgCredClass_PersistedGeneric: SECPKG_CRED_CLASS = SECPKG_CRED_CLASS(20i32);
6805#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6806pub const SecPkgCredClass_PersistedSpecific: SECPKG_CRED_CLASS = SECPKG_CRED_CLASS(30i32);
6807#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6808pub const SecPkgCredClass_Explicit: SECPKG_CRED_CLASS = SECPKG_CRED_CLASS(40i32);
6809impl ::core::marker::Copy for SECPKG_CRED_CLASS {}
6810impl ::core::clone::Clone for SECPKG_CRED_CLASS {
6811 fn clone(&self) -> Self {
6812 *self
6813 }
6814}
6815impl ::core::default::Default for SECPKG_CRED_CLASS {
6816 fn default() -> Self {
6817 Self(0)
6818 }
6819}
6820impl ::windows::core::TypeKind for SECPKG_CRED_CLASS {
6821 type TypeKind = ::windows::core::CopyType;
6822}
6823impl ::core::fmt::Debug for SECPKG_CRED_CLASS {
6824 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6825 f.debug_tuple("SECPKG_CRED_CLASS").field(&self.0).finish()
6826 }
6827}
6828#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6829#[repr(transparent)]
6830#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6831pub struct SECPKG_EXTENDED_INFORMATION_CLASS(pub i32);
6832#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6833pub const SecpkgGssInfo: SECPKG_EXTENDED_INFORMATION_CLASS = SECPKG_EXTENDED_INFORMATION_CLASS(1i32);
6834#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6835pub const SecpkgContextThunks: SECPKG_EXTENDED_INFORMATION_CLASS = SECPKG_EXTENDED_INFORMATION_CLASS(2i32);
6836#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6837pub const SecpkgMutualAuthLevel: SECPKG_EXTENDED_INFORMATION_CLASS = SECPKG_EXTENDED_INFORMATION_CLASS(3i32);
6838#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6839pub const SecpkgWowClientDll: SECPKG_EXTENDED_INFORMATION_CLASS = SECPKG_EXTENDED_INFORMATION_CLASS(4i32);
6840#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6841pub const SecpkgExtraOids: SECPKG_EXTENDED_INFORMATION_CLASS = SECPKG_EXTENDED_INFORMATION_CLASS(5i32);
6842#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6843pub const SecpkgMaxInfo: SECPKG_EXTENDED_INFORMATION_CLASS = SECPKG_EXTENDED_INFORMATION_CLASS(6i32);
6844#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6845pub const SecpkgNego2Info: SECPKG_EXTENDED_INFORMATION_CLASS = SECPKG_EXTENDED_INFORMATION_CLASS(7i32);
6846impl ::core::marker::Copy for SECPKG_EXTENDED_INFORMATION_CLASS {}
6847impl ::core::clone::Clone for SECPKG_EXTENDED_INFORMATION_CLASS {
6848 fn clone(&self) -> Self {
6849 *self
6850 }
6851}
6852impl ::core::default::Default for SECPKG_EXTENDED_INFORMATION_CLASS {
6853 fn default() -> Self {
6854 Self(0)
6855 }
6856}
6857impl ::windows::core::TypeKind for SECPKG_EXTENDED_INFORMATION_CLASS {
6858 type TypeKind = ::windows::core::CopyType;
6859}
6860impl ::core::fmt::Debug for SECPKG_EXTENDED_INFORMATION_CLASS {
6861 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6862 f.debug_tuple("SECPKG_EXTENDED_INFORMATION_CLASS").field(&self.0).finish()
6863 }
6864}
6865#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6866#[repr(transparent)]
6867#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6868pub struct SECPKG_NAME_TYPE(pub i32);
6869#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6870pub const SecNameSamCompatible: SECPKG_NAME_TYPE = SECPKG_NAME_TYPE(0i32);
6871#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6872pub const SecNameAlternateId: SECPKG_NAME_TYPE = SECPKG_NAME_TYPE(1i32);
6873#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6874pub const SecNameFlat: SECPKG_NAME_TYPE = SECPKG_NAME_TYPE(2i32);
6875#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6876pub const SecNameDN: SECPKG_NAME_TYPE = SECPKG_NAME_TYPE(3i32);
6877#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6878pub const SecNameSPN: SECPKG_NAME_TYPE = SECPKG_NAME_TYPE(4i32);
6879impl ::core::marker::Copy for SECPKG_NAME_TYPE {}
6880impl ::core::clone::Clone for SECPKG_NAME_TYPE {
6881 fn clone(&self) -> Self {
6882 *self
6883 }
6884}
6885impl ::core::default::Default for SECPKG_NAME_TYPE {
6886 fn default() -> Self {
6887 Self(0)
6888 }
6889}
6890impl ::windows::core::TypeKind for SECPKG_NAME_TYPE {
6891 type TypeKind = ::windows::core::CopyType;
6892}
6893impl ::core::fmt::Debug for SECPKG_NAME_TYPE {
6894 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6895 f.debug_tuple("SECPKG_NAME_TYPE").field(&self.0).finish()
6896 }
6897}
6898#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6899#[repr(transparent)]
6900#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6901pub struct SECPKG_PACKAGE_CHANGE_TYPE(pub u32);
6902#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6903pub const SECPKG_PACKAGE_CHANGE_LOAD: SECPKG_PACKAGE_CHANGE_TYPE = SECPKG_PACKAGE_CHANGE_TYPE(0u32);
6904#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6905pub const SECPKG_PACKAGE_CHANGE_UNLOAD: SECPKG_PACKAGE_CHANGE_TYPE = SECPKG_PACKAGE_CHANGE_TYPE(1u32);
6906#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6907pub const SECPKG_PACKAGE_CHANGE_SELECT: SECPKG_PACKAGE_CHANGE_TYPE = SECPKG_PACKAGE_CHANGE_TYPE(2u32);
6908impl ::core::marker::Copy for SECPKG_PACKAGE_CHANGE_TYPE {}
6909impl ::core::clone::Clone for SECPKG_PACKAGE_CHANGE_TYPE {
6910 fn clone(&self) -> Self {
6911 *self
6912 }
6913}
6914impl ::core::default::Default for SECPKG_PACKAGE_CHANGE_TYPE {
6915 fn default() -> Self {
6916 Self(0)
6917 }
6918}
6919impl ::windows::core::TypeKind for SECPKG_PACKAGE_CHANGE_TYPE {
6920 type TypeKind = ::windows::core::CopyType;
6921}
6922impl ::core::fmt::Debug for SECPKG_PACKAGE_CHANGE_TYPE {
6923 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6924 f.debug_tuple("SECPKG_PACKAGE_CHANGE_TYPE").field(&self.0).finish()
6925 }
6926}
6927#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6928#[repr(transparent)]
6929#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6930pub struct SECPKG_SESSIONINFO_TYPE(pub i32);
6931#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6932pub const SecSessionPrimaryCred: SECPKG_SESSIONINFO_TYPE = SECPKG_SESSIONINFO_TYPE(0i32);
6933impl ::core::marker::Copy for SECPKG_SESSIONINFO_TYPE {}
6934impl ::core::clone::Clone for SECPKG_SESSIONINFO_TYPE {
6935 fn clone(&self) -> Self {
6936 *self
6937 }
6938}
6939impl ::core::default::Default for SECPKG_SESSIONINFO_TYPE {
6940 fn default() -> Self {
6941 Self(0)
6942 }
6943}
6944impl ::windows::core::TypeKind for SECPKG_SESSIONINFO_TYPE {
6945 type TypeKind = ::windows::core::CopyType;
6946}
6947impl ::core::fmt::Debug for SECPKG_SESSIONINFO_TYPE {
6948 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6949 f.debug_tuple("SECPKG_SESSIONINFO_TYPE").field(&self.0).finish()
6950 }
6951}
6952#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6953#[repr(transparent)]
6954#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6955pub struct SECURITY_LOGON_TYPE(pub i32);
6956impl SECURITY_LOGON_TYPE {
6957 pub const UndefinedLogonType: Self = Self(0i32);
6958 pub const Interactive: Self = Self(2i32);
6959 pub const Network: Self = Self(3i32);
6960 pub const Batch: Self = Self(4i32);
6961 pub const Service: Self = Self(5i32);
6962 pub const Proxy: Self = Self(6i32);
6963 pub const Unlock: Self = Self(7i32);
6964 pub const NetworkCleartext: Self = Self(8i32);
6965 pub const NewCredentials: Self = Self(9i32);
6966 pub const RemoteInteractive: Self = Self(10i32);
6967 pub const CachedInteractive: Self = Self(11i32);
6968 pub const CachedRemoteInteractive: Self = Self(12i32);
6969 pub const CachedUnlock: Self = Self(13i32);
6970}
6971impl ::core::marker::Copy for SECURITY_LOGON_TYPE {}
6972impl ::core::clone::Clone for SECURITY_LOGON_TYPE {
6973 fn clone(&self) -> Self {
6974 *self
6975 }
6976}
6977impl ::core::default::Default for SECURITY_LOGON_TYPE {
6978 fn default() -> Self {
6979 Self(0)
6980 }
6981}
6982impl ::windows::core::TypeKind for SECURITY_LOGON_TYPE {
6983 type TypeKind = ::windows::core::CopyType;
6984}
6985impl ::core::fmt::Debug for SECURITY_LOGON_TYPE {
6986 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6987 f.debug_tuple("SECURITY_LOGON_TYPE").field(&self.0).finish()
6988 }
6989}
6990#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6991#[repr(transparent)]
6992#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6993pub struct SECURITY_PACKAGE_OPTIONS_TYPE(pub u32);
6994#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6995pub const SECPKG_OPTIONS_TYPE_UNKNOWN: SECURITY_PACKAGE_OPTIONS_TYPE = SECURITY_PACKAGE_OPTIONS_TYPE(0u32);
6996#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6997pub const SECPKG_OPTIONS_TYPE_LSA: SECURITY_PACKAGE_OPTIONS_TYPE = SECURITY_PACKAGE_OPTIONS_TYPE(1u32);
6998#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
6999pub const SECPKG_OPTIONS_TYPE_SSPI: SECURITY_PACKAGE_OPTIONS_TYPE = SECURITY_PACKAGE_OPTIONS_TYPE(2u32);
7000impl ::core::marker::Copy for SECURITY_PACKAGE_OPTIONS_TYPE {}
7001impl ::core::clone::Clone for SECURITY_PACKAGE_OPTIONS_TYPE {
7002 fn clone(&self) -> Self {
7003 *self
7004 }
7005}
7006impl ::core::default::Default for SECURITY_PACKAGE_OPTIONS_TYPE {
7007 fn default() -> Self {
7008 Self(0)
7009 }
7010}
7011impl ::windows::core::TypeKind for SECURITY_PACKAGE_OPTIONS_TYPE {
7012 type TypeKind = ::windows::core::CopyType;
7013}
7014impl ::core::fmt::Debug for SECURITY_PACKAGE_OPTIONS_TYPE {
7015 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7016 f.debug_tuple("SECURITY_PACKAGE_OPTIONS_TYPE").field(&self.0).finish()
7017 }
7018}
7019#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7020#[repr(transparent)]
7021#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7022pub struct SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT(pub i32);
7023#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7024pub const SecApplicationProtocolNegotiationExt_None: SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT = SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT(0i32);
7025#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7026pub const SecApplicationProtocolNegotiationExt_NPN: SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT = SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT(1i32);
7027#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7028pub const SecApplicationProtocolNegotiationExt_ALPN: SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT = SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT(2i32);
7029impl ::core::marker::Copy for SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT {}
7030impl ::core::clone::Clone for SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT {
7031 fn clone(&self) -> Self {
7032 *self
7033 }
7034}
7035impl ::core::default::Default for SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT {
7036 fn default() -> Self {
7037 Self(0)
7038 }
7039}
7040impl ::windows::core::TypeKind for SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT {
7041 type TypeKind = ::windows::core::CopyType;
7042}
7043impl ::core::fmt::Debug for SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT {
7044 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7045 f.debug_tuple("SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT").field(&self.0).finish()
7046 }
7047}
7048#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7049#[repr(transparent)]
7050#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7051pub struct SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS(pub i32);
7052#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7053pub const SecApplicationProtocolNegotiationStatus_None: SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS = SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS(0i32);
7054#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7055pub const SecApplicationProtocolNegotiationStatus_Success: SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS = SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS(1i32);
7056#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7057pub const SecApplicationProtocolNegotiationStatus_SelectedClientOnly: SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS = SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS(2i32);
7058impl ::core::marker::Copy for SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS {}
7059impl ::core::clone::Clone for SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS {
7060 fn clone(&self) -> Self {
7061 *self
7062 }
7063}
7064impl ::core::default::Default for SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS {
7065 fn default() -> Self {
7066 Self(0)
7067 }
7068}
7069impl ::windows::core::TypeKind for SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS {
7070 type TypeKind = ::windows::core::CopyType;
7071}
7072impl ::core::fmt::Debug for SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS {
7073 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7074 f.debug_tuple("SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS").field(&self.0).finish()
7075 }
7076}
7077#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7078#[repr(transparent)]
7079#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7080pub struct SEC_TRAFFIC_SECRET_TYPE(pub i32);
7081#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7082pub const SecTrafficSecret_None: SEC_TRAFFIC_SECRET_TYPE = SEC_TRAFFIC_SECRET_TYPE(0i32);
7083#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7084pub const SecTrafficSecret_Client: SEC_TRAFFIC_SECRET_TYPE = SEC_TRAFFIC_SECRET_TYPE(1i32);
7085#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7086pub const SecTrafficSecret_Server: SEC_TRAFFIC_SECRET_TYPE = SEC_TRAFFIC_SECRET_TYPE(2i32);
7087impl ::core::marker::Copy for SEC_TRAFFIC_SECRET_TYPE {}
7088impl ::core::clone::Clone for SEC_TRAFFIC_SECRET_TYPE {
7089 fn clone(&self) -> Self {
7090 *self
7091 }
7092}
7093impl ::core::default::Default for SEC_TRAFFIC_SECRET_TYPE {
7094 fn default() -> Self {
7095 Self(0)
7096 }
7097}
7098impl ::windows::core::TypeKind for SEC_TRAFFIC_SECRET_TYPE {
7099 type TypeKind = ::windows::core::CopyType;
7100}
7101impl ::core::fmt::Debug for SEC_TRAFFIC_SECRET_TYPE {
7102 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7103 f.debug_tuple("SEC_TRAFFIC_SECRET_TYPE").field(&self.0).finish()
7104 }
7105}
7106#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7107#[repr(transparent)]
7108#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7109pub struct SE_ADT_PARAMETER_TYPE(pub i32);
7110#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7111pub const SeAdtParmTypeNone: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(0i32);
7112#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7113pub const SeAdtParmTypeString: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(1i32);
7114#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7115pub const SeAdtParmTypeFileSpec: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(2i32);
7116#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7117pub const SeAdtParmTypeUlong: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(3i32);
7118#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7119pub const SeAdtParmTypeSid: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(4i32);
7120#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7121pub const SeAdtParmTypeLogonId: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(5i32);
7122#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7123pub const SeAdtParmTypeNoLogonId: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(6i32);
7124#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7125pub const SeAdtParmTypeAccessMask: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(7i32);
7126#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7127pub const SeAdtParmTypePrivs: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(8i32);
7128#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7129pub const SeAdtParmTypeObjectTypes: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(9i32);
7130#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7131pub const SeAdtParmTypeHexUlong: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(10i32);
7132#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7133pub const SeAdtParmTypePtr: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(11i32);
7134#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7135pub const SeAdtParmTypeTime: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(12i32);
7136#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7137pub const SeAdtParmTypeGuid: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(13i32);
7138#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7139pub const SeAdtParmTypeLuid: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(14i32);
7140#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7141pub const SeAdtParmTypeHexInt64: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(15i32);
7142#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7143pub const SeAdtParmTypeStringList: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(16i32);
7144#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7145pub const SeAdtParmTypeSidList: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(17i32);
7146#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7147pub const SeAdtParmTypeDuration: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(18i32);
7148#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7149pub const SeAdtParmTypeUserAccountControl: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(19i32);
7150#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7151pub const SeAdtParmTypeNoUac: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(20i32);
7152#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7153pub const SeAdtParmTypeMessage: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(21i32);
7154#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7155pub const SeAdtParmTypeDateTime: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(22i32);
7156#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7157pub const SeAdtParmTypeSockAddr: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(23i32);
7158#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7159pub const SeAdtParmTypeSD: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(24i32);
7160#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7161pub const SeAdtParmTypeLogonHours: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(25i32);
7162#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7163pub const SeAdtParmTypeLogonIdNoSid: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(26i32);
7164#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7165pub const SeAdtParmTypeUlongNoConv: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(27i32);
7166#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7167pub const SeAdtParmTypeSockAddrNoPort: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(28i32);
7168#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7169pub const SeAdtParmTypeAccessReason: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(29i32);
7170#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7171pub const SeAdtParmTypeStagingReason: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(30i32);
7172#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7173pub const SeAdtParmTypeResourceAttribute: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(31i32);
7174#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7175pub const SeAdtParmTypeClaims: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(32i32);
7176#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7177pub const SeAdtParmTypeLogonIdAsSid: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(33i32);
7178#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7179pub const SeAdtParmTypeMultiSzString: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(34i32);
7180#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7181pub const SeAdtParmTypeLogonIdEx: SE_ADT_PARAMETER_TYPE = SE_ADT_PARAMETER_TYPE(35i32);
7182impl ::core::marker::Copy for SE_ADT_PARAMETER_TYPE {}
7183impl ::core::clone::Clone for SE_ADT_PARAMETER_TYPE {
7184 fn clone(&self) -> Self {
7185 *self
7186 }
7187}
7188impl ::core::default::Default for SE_ADT_PARAMETER_TYPE {
7189 fn default() -> Self {
7190 Self(0)
7191 }
7192}
7193impl ::windows::core::TypeKind for SE_ADT_PARAMETER_TYPE {
7194 type TypeKind = ::windows::core::CopyType;
7195}
7196impl ::core::fmt::Debug for SE_ADT_PARAMETER_TYPE {
7197 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7198 f.debug_tuple("SE_ADT_PARAMETER_TYPE").field(&self.0).finish()
7199 }
7200}
7201#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7202#[repr(transparent)]
7203#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7204pub struct SLDATATYPE(pub u32);
7205#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7206pub const SL_DATA_NONE: SLDATATYPE = SLDATATYPE(0u32);
7207#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7208pub const SL_DATA_SZ: SLDATATYPE = SLDATATYPE(1u32);
7209#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7210pub const SL_DATA_DWORD: SLDATATYPE = SLDATATYPE(4u32);
7211#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7212pub const SL_DATA_BINARY: SLDATATYPE = SLDATATYPE(3u32);
7213#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7214pub const SL_DATA_MULTI_SZ: SLDATATYPE = SLDATATYPE(7u32);
7215#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7216pub const SL_DATA_SUM: SLDATATYPE = SLDATATYPE(100u32);
7217impl ::core::marker::Copy for SLDATATYPE {}
7218impl ::core::clone::Clone for SLDATATYPE {
7219 fn clone(&self) -> Self {
7220 *self
7221 }
7222}
7223impl ::core::default::Default for SLDATATYPE {
7224 fn default() -> Self {
7225 Self(0)
7226 }
7227}
7228impl ::windows::core::TypeKind for SLDATATYPE {
7229 type TypeKind = ::windows::core::CopyType;
7230}
7231impl ::core::fmt::Debug for SLDATATYPE {
7232 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7233 f.debug_tuple("SLDATATYPE").field(&self.0).finish()
7234 }
7235}
7236#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7237#[repr(transparent)]
7238#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7239pub struct SLIDTYPE(pub i32);
7240#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7241pub const SL_ID_APPLICATION: SLIDTYPE = SLIDTYPE(0i32);
7242#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7243pub const SL_ID_PRODUCT_SKU: SLIDTYPE = SLIDTYPE(1i32);
7244#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7245pub const SL_ID_LICENSE_FILE: SLIDTYPE = SLIDTYPE(2i32);
7246#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7247pub const SL_ID_LICENSE: SLIDTYPE = SLIDTYPE(3i32);
7248#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7249pub const SL_ID_PKEY: SLIDTYPE = SLIDTYPE(4i32);
7250#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7251pub const SL_ID_ALL_LICENSES: SLIDTYPE = SLIDTYPE(5i32);
7252#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7253pub const SL_ID_ALL_LICENSE_FILES: SLIDTYPE = SLIDTYPE(6i32);
7254#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7255pub const SL_ID_STORE_TOKEN: SLIDTYPE = SLIDTYPE(7i32);
7256#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7257pub const SL_ID_LAST: SLIDTYPE = SLIDTYPE(8i32);
7258impl ::core::marker::Copy for SLIDTYPE {}
7259impl ::core::clone::Clone for SLIDTYPE {
7260 fn clone(&self) -> Self {
7261 *self
7262 }
7263}
7264impl ::core::default::Default for SLIDTYPE {
7265 fn default() -> Self {
7266 Self(0)
7267 }
7268}
7269impl ::windows::core::TypeKind for SLIDTYPE {
7270 type TypeKind = ::windows::core::CopyType;
7271}
7272impl ::core::fmt::Debug for SLIDTYPE {
7273 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7274 f.debug_tuple("SLIDTYPE").field(&self.0).finish()
7275 }
7276}
7277#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7278#[repr(transparent)]
7279#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7280pub struct SLLICENSINGSTATUS(pub i32);
7281#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7282pub const SL_LICENSING_STATUS_UNLICENSED: SLLICENSINGSTATUS = SLLICENSINGSTATUS(0i32);
7283#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7284pub const SL_LICENSING_STATUS_LICENSED: SLLICENSINGSTATUS = SLLICENSINGSTATUS(1i32);
7285#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7286pub const SL_LICENSING_STATUS_IN_GRACE_PERIOD: SLLICENSINGSTATUS = SLLICENSINGSTATUS(2i32);
7287#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7288pub const SL_LICENSING_STATUS_NOTIFICATION: SLLICENSINGSTATUS = SLLICENSINGSTATUS(3i32);
7289#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7290pub const SL_LICENSING_STATUS_LAST: SLLICENSINGSTATUS = SLLICENSINGSTATUS(4i32);
7291impl ::core::marker::Copy for SLLICENSINGSTATUS {}
7292impl ::core::clone::Clone for SLLICENSINGSTATUS {
7293 fn clone(&self) -> Self {
7294 *self
7295 }
7296}
7297impl ::core::default::Default for SLLICENSINGSTATUS {
7298 fn default() -> Self {
7299 Self(0)
7300 }
7301}
7302impl ::windows::core::TypeKind for SLLICENSINGSTATUS {
7303 type TypeKind = ::windows::core::CopyType;
7304}
7305impl ::core::fmt::Debug for SLLICENSINGSTATUS {
7306 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7307 f.debug_tuple("SLLICENSINGSTATUS").field(&self.0).finish()
7308 }
7309}
7310#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7311#[repr(transparent)]
7312#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7313pub struct SLREFERRALTYPE(pub i32);
7314#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7315pub const SL_REFERRALTYPE_SKUID: SLREFERRALTYPE = SLREFERRALTYPE(0i32);
7316#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7317pub const SL_REFERRALTYPE_APPID: SLREFERRALTYPE = SLREFERRALTYPE(1i32);
7318#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7319pub const SL_REFERRALTYPE_OVERRIDE_SKUID: SLREFERRALTYPE = SLREFERRALTYPE(2i32);
7320#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7321pub const SL_REFERRALTYPE_OVERRIDE_APPID: SLREFERRALTYPE = SLREFERRALTYPE(3i32);
7322#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7323pub const SL_REFERRALTYPE_BEST_MATCH: SLREFERRALTYPE = SLREFERRALTYPE(4i32);
7324impl ::core::marker::Copy for SLREFERRALTYPE {}
7325impl ::core::clone::Clone for SLREFERRALTYPE {
7326 fn clone(&self) -> Self {
7327 *self
7328 }
7329}
7330impl ::core::default::Default for SLREFERRALTYPE {
7331 fn default() -> Self {
7332 Self(0)
7333 }
7334}
7335impl ::windows::core::TypeKind for SLREFERRALTYPE {
7336 type TypeKind = ::windows::core::CopyType;
7337}
7338impl ::core::fmt::Debug for SLREFERRALTYPE {
7339 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7340 f.debug_tuple("SLREFERRALTYPE").field(&self.0).finish()
7341 }
7342}
7343#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7344#[repr(transparent)]
7345#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7346pub struct SL_ACTIVATION_TYPE(pub i32);
7347#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7348pub const SL_ACTIVATION_TYPE_DEFAULT: SL_ACTIVATION_TYPE = SL_ACTIVATION_TYPE(0i32);
7349#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7350pub const SL_ACTIVATION_TYPE_ACTIVE_DIRECTORY: SL_ACTIVATION_TYPE = SL_ACTIVATION_TYPE(1i32);
7351impl ::core::marker::Copy for SL_ACTIVATION_TYPE {}
7352impl ::core::clone::Clone for SL_ACTIVATION_TYPE {
7353 fn clone(&self) -> Self {
7354 *self
7355 }
7356}
7357impl ::core::default::Default for SL_ACTIVATION_TYPE {
7358 fn default() -> Self {
7359 Self(0)
7360 }
7361}
7362impl ::windows::core::TypeKind for SL_ACTIVATION_TYPE {
7363 type TypeKind = ::windows::core::CopyType;
7364}
7365impl ::core::fmt::Debug for SL_ACTIVATION_TYPE {
7366 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7367 f.debug_tuple("SL_ACTIVATION_TYPE").field(&self.0).finish()
7368 }
7369}
7370#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7371#[repr(transparent)]
7372#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7373pub struct SL_GENUINE_STATE(pub i32);
7374#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7375pub const SL_GEN_STATE_IS_GENUINE: SL_GENUINE_STATE = SL_GENUINE_STATE(0i32);
7376#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7377pub const SL_GEN_STATE_INVALID_LICENSE: SL_GENUINE_STATE = SL_GENUINE_STATE(1i32);
7378#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7379pub const SL_GEN_STATE_TAMPERED: SL_GENUINE_STATE = SL_GENUINE_STATE(2i32);
7380#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7381pub const SL_GEN_STATE_OFFLINE: SL_GENUINE_STATE = SL_GENUINE_STATE(3i32);
7382#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7383pub const SL_GEN_STATE_LAST: SL_GENUINE_STATE = SL_GENUINE_STATE(4i32);
7384impl ::core::marker::Copy for SL_GENUINE_STATE {}
7385impl ::core::clone::Clone for SL_GENUINE_STATE {
7386 fn clone(&self) -> Self {
7387 *self
7388 }
7389}
7390impl ::core::default::Default for SL_GENUINE_STATE {
7391 fn default() -> Self {
7392 Self(0)
7393 }
7394}
7395impl ::windows::core::TypeKind for SL_GENUINE_STATE {
7396 type TypeKind = ::windows::core::CopyType;
7397}
7398impl ::core::fmt::Debug for SL_GENUINE_STATE {
7399 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7400 f.debug_tuple("SL_GENUINE_STATE").field(&self.0).finish()
7401 }
7402}
7403#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7404#[repr(transparent)]
7405#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7406pub struct SchGetExtensionsOptions(pub i32);
7407#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7408pub const SCH_EXTENSIONS_OPTIONS_NONE: SchGetExtensionsOptions = SchGetExtensionsOptions(0i32);
7409#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7410pub const SCH_NO_RECORD_HEADER: SchGetExtensionsOptions = SchGetExtensionsOptions(1i32);
7411impl ::core::marker::Copy for SchGetExtensionsOptions {}
7412impl ::core::clone::Clone for SchGetExtensionsOptions {
7413 fn clone(&self) -> Self {
7414 *self
7415 }
7416}
7417impl ::core::default::Default for SchGetExtensionsOptions {
7418 fn default() -> Self {
7419 Self(0)
7420 }
7421}
7422impl ::windows::core::TypeKind for SchGetExtensionsOptions {
7423 type TypeKind = ::windows::core::CopyType;
7424}
7425impl ::core::fmt::Debug for SchGetExtensionsOptions {
7426 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7427 f.debug_tuple("SchGetExtensionsOptions").field(&self.0).finish()
7428 }
7429}
7430impl SchGetExtensionsOptions {
7431 pub const fn contains(&self, other: Self) -> bool {
7432 self.0 & other.0 == other.0
7433 }
7434}
7435impl ::core::ops::BitOr for SchGetExtensionsOptions {
7436 type Output = Self;
7437 fn bitor(self, other: Self) -> Self {
7438 Self(self.0 | other.0)
7439 }
7440}
7441impl ::core::ops::BitAnd for SchGetExtensionsOptions {
7442 type Output = Self;
7443 fn bitand(self, other: Self) -> Self {
7444 Self(self.0 & other.0)
7445 }
7446}
7447impl ::core::ops::BitOrAssign for SchGetExtensionsOptions {
7448 fn bitor_assign(&mut self, other: Self) {
7449 self.0.bitor_assign(other.0)
7450 }
7451}
7452impl ::core::ops::BitAndAssign for SchGetExtensionsOptions {
7453 fn bitand_assign(&mut self, other: Self) {
7454 self.0.bitand_assign(other.0)
7455 }
7456}
7457impl ::core::ops::Not for SchGetExtensionsOptions {
7458 type Output = Self;
7459 fn not(self) -> Self {
7460 Self(self.0.not())
7461 }
7462}
7463#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7464#[repr(transparent)]
7465#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7466pub struct SecDelegationType(pub i32);
7467#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7468pub const SecFull: SecDelegationType = SecDelegationType(0i32);
7469#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7470pub const SecService: SecDelegationType = SecDelegationType(1i32);
7471#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7472pub const SecTree: SecDelegationType = SecDelegationType(2i32);
7473#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7474pub const SecDirectory: SecDelegationType = SecDelegationType(3i32);
7475#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7476pub const SecObject: SecDelegationType = SecDelegationType(4i32);
7477impl ::core::marker::Copy for SecDelegationType {}
7478impl ::core::clone::Clone for SecDelegationType {
7479 fn clone(&self) -> Self {
7480 *self
7481 }
7482}
7483impl ::core::default::Default for SecDelegationType {
7484 fn default() -> Self {
7485 Self(0)
7486 }
7487}
7488impl ::windows::core::TypeKind for SecDelegationType {
7489 type TypeKind = ::windows::core::CopyType;
7490}
7491impl ::core::fmt::Debug for SecDelegationType {
7492 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7493 f.debug_tuple("SecDelegationType").field(&self.0).finish()
7494 }
7495}
7496#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7497#[repr(transparent)]
7498#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7499pub struct TOKENBINDING_EXTENSION_FORMAT(pub i32);
7500#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7501pub const TOKENBINDING_EXTENSION_FORMAT_UNDEFINED: TOKENBINDING_EXTENSION_FORMAT = TOKENBINDING_EXTENSION_FORMAT(0i32);
7502impl ::core::marker::Copy for TOKENBINDING_EXTENSION_FORMAT {}
7503impl ::core::clone::Clone for TOKENBINDING_EXTENSION_FORMAT {
7504 fn clone(&self) -> Self {
7505 *self
7506 }
7507}
7508impl ::core::default::Default for TOKENBINDING_EXTENSION_FORMAT {
7509 fn default() -> Self {
7510 Self(0)
7511 }
7512}
7513impl ::windows::core::TypeKind for TOKENBINDING_EXTENSION_FORMAT {
7514 type TypeKind = ::windows::core::CopyType;
7515}
7516impl ::core::fmt::Debug for TOKENBINDING_EXTENSION_FORMAT {
7517 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7518 f.debug_tuple("TOKENBINDING_EXTENSION_FORMAT").field(&self.0).finish()
7519 }
7520}
7521#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7522#[repr(transparent)]
7523#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7524pub struct TOKENBINDING_KEY_PARAMETERS_TYPE(pub i32);
7525#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7526pub const TOKENBINDING_KEY_PARAMETERS_TYPE_RSA2048_PKCS: TOKENBINDING_KEY_PARAMETERS_TYPE = TOKENBINDING_KEY_PARAMETERS_TYPE(0i32);
7527#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7528pub const TOKENBINDING_KEY_PARAMETERS_TYPE_RSA2048_PSS: TOKENBINDING_KEY_PARAMETERS_TYPE = TOKENBINDING_KEY_PARAMETERS_TYPE(1i32);
7529#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7530pub const TOKENBINDING_KEY_PARAMETERS_TYPE_ECDSAP256: TOKENBINDING_KEY_PARAMETERS_TYPE = TOKENBINDING_KEY_PARAMETERS_TYPE(2i32);
7531#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7532pub const TOKENBINDING_KEY_PARAMETERS_TYPE_ANYEXISTING: TOKENBINDING_KEY_PARAMETERS_TYPE = TOKENBINDING_KEY_PARAMETERS_TYPE(255i32);
7533impl ::core::marker::Copy for TOKENBINDING_KEY_PARAMETERS_TYPE {}
7534impl ::core::clone::Clone for TOKENBINDING_KEY_PARAMETERS_TYPE {
7535 fn clone(&self) -> Self {
7536 *self
7537 }
7538}
7539impl ::core::default::Default for TOKENBINDING_KEY_PARAMETERS_TYPE {
7540 fn default() -> Self {
7541 Self(0)
7542 }
7543}
7544impl ::windows::core::TypeKind for TOKENBINDING_KEY_PARAMETERS_TYPE {
7545 type TypeKind = ::windows::core::CopyType;
7546}
7547impl ::core::fmt::Debug for TOKENBINDING_KEY_PARAMETERS_TYPE {
7548 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7549 f.debug_tuple("TOKENBINDING_KEY_PARAMETERS_TYPE").field(&self.0).finish()
7550 }
7551}
7552#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7553#[repr(transparent)]
7554#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7555pub struct TOKENBINDING_TYPE(pub i32);
7556#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7557pub const TOKENBINDING_TYPE_PROVIDED: TOKENBINDING_TYPE = TOKENBINDING_TYPE(0i32);
7558#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7559pub const TOKENBINDING_TYPE_REFERRED: TOKENBINDING_TYPE = TOKENBINDING_TYPE(1i32);
7560impl ::core::marker::Copy for TOKENBINDING_TYPE {}
7561impl ::core::clone::Clone for TOKENBINDING_TYPE {
7562 fn clone(&self) -> Self {
7563 *self
7564 }
7565}
7566impl ::core::default::Default for TOKENBINDING_TYPE {
7567 fn default() -> Self {
7568 Self(0)
7569 }
7570}
7571impl ::windows::core::TypeKind for TOKENBINDING_TYPE {
7572 type TypeKind = ::windows::core::CopyType;
7573}
7574impl ::core::fmt::Debug for TOKENBINDING_TYPE {
7575 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7576 f.debug_tuple("TOKENBINDING_TYPE").field(&self.0).finish()
7577 }
7578}
7579#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7580#[repr(transparent)]
7581#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7582pub struct TRUSTED_DOMAIN_TRUST_ATTRIBUTES(pub u32);
7583#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7584pub const TRUST_ATTRIBUTE_NON_TRANSITIVE: TRUSTED_DOMAIN_TRUST_ATTRIBUTES = TRUSTED_DOMAIN_TRUST_ATTRIBUTES(1u32);
7585#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7586pub const TRUST_ATTRIBUTE_UPLEVEL_ONLY: TRUSTED_DOMAIN_TRUST_ATTRIBUTES = TRUSTED_DOMAIN_TRUST_ATTRIBUTES(2u32);
7587#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7588pub const TRUST_ATTRIBUTE_FILTER_SIDS: TRUSTED_DOMAIN_TRUST_ATTRIBUTES = TRUSTED_DOMAIN_TRUST_ATTRIBUTES(4u32);
7589#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7590pub const TRUST_ATTRIBUTE_FOREST_TRANSITIVE: TRUSTED_DOMAIN_TRUST_ATTRIBUTES = TRUSTED_DOMAIN_TRUST_ATTRIBUTES(8u32);
7591#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7592pub const TRUST_ATTRIBUTE_CROSS_ORGANIZATION: TRUSTED_DOMAIN_TRUST_ATTRIBUTES = TRUSTED_DOMAIN_TRUST_ATTRIBUTES(16u32);
7593#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7594pub const TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL: TRUSTED_DOMAIN_TRUST_ATTRIBUTES = TRUSTED_DOMAIN_TRUST_ATTRIBUTES(64u32);
7595#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7596pub const TRUST_ATTRIBUTE_WITHIN_FOREST: TRUSTED_DOMAIN_TRUST_ATTRIBUTES = TRUSTED_DOMAIN_TRUST_ATTRIBUTES(32u32);
7597impl ::core::marker::Copy for TRUSTED_DOMAIN_TRUST_ATTRIBUTES {}
7598impl ::core::clone::Clone for TRUSTED_DOMAIN_TRUST_ATTRIBUTES {
7599 fn clone(&self) -> Self {
7600 *self
7601 }
7602}
7603impl ::core::default::Default for TRUSTED_DOMAIN_TRUST_ATTRIBUTES {
7604 fn default() -> Self {
7605 Self(0)
7606 }
7607}
7608impl ::windows::core::TypeKind for TRUSTED_DOMAIN_TRUST_ATTRIBUTES {
7609 type TypeKind = ::windows::core::CopyType;
7610}
7611impl ::core::fmt::Debug for TRUSTED_DOMAIN_TRUST_ATTRIBUTES {
7612 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7613 f.debug_tuple("TRUSTED_DOMAIN_TRUST_ATTRIBUTES").field(&self.0).finish()
7614 }
7615}
7616#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7617#[repr(transparent)]
7618#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7619pub struct TRUSTED_DOMAIN_TRUST_DIRECTION(pub u32);
7620#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7621pub const TRUST_DIRECTION_DISABLED: TRUSTED_DOMAIN_TRUST_DIRECTION = TRUSTED_DOMAIN_TRUST_DIRECTION(0u32);
7622#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7623pub const TRUST_DIRECTION_INBOUND: TRUSTED_DOMAIN_TRUST_DIRECTION = TRUSTED_DOMAIN_TRUST_DIRECTION(1u32);
7624#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7625pub const TRUST_DIRECTION_OUTBOUND: TRUSTED_DOMAIN_TRUST_DIRECTION = TRUSTED_DOMAIN_TRUST_DIRECTION(2u32);
7626#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7627pub const TRUST_DIRECTION_BIDIRECTIONAL: TRUSTED_DOMAIN_TRUST_DIRECTION = TRUSTED_DOMAIN_TRUST_DIRECTION(3u32);
7628impl ::core::marker::Copy for TRUSTED_DOMAIN_TRUST_DIRECTION {}
7629impl ::core::clone::Clone for TRUSTED_DOMAIN_TRUST_DIRECTION {
7630 fn clone(&self) -> Self {
7631 *self
7632 }
7633}
7634impl ::core::default::Default for TRUSTED_DOMAIN_TRUST_DIRECTION {
7635 fn default() -> Self {
7636 Self(0)
7637 }
7638}
7639impl ::windows::core::TypeKind for TRUSTED_DOMAIN_TRUST_DIRECTION {
7640 type TypeKind = ::windows::core::CopyType;
7641}
7642impl ::core::fmt::Debug for TRUSTED_DOMAIN_TRUST_DIRECTION {
7643 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7644 f.debug_tuple("TRUSTED_DOMAIN_TRUST_DIRECTION").field(&self.0).finish()
7645 }
7646}
7647#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7648#[repr(transparent)]
7649#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7650pub struct TRUSTED_DOMAIN_TRUST_TYPE(pub u32);
7651#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7652pub const TRUST_TYPE_DOWNLEVEL: TRUSTED_DOMAIN_TRUST_TYPE = TRUSTED_DOMAIN_TRUST_TYPE(1u32);
7653#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7654pub const TRUST_TYPE_UPLEVEL: TRUSTED_DOMAIN_TRUST_TYPE = TRUSTED_DOMAIN_TRUST_TYPE(2u32);
7655#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7656pub const TRUST_TYPE_MIT: TRUSTED_DOMAIN_TRUST_TYPE = TRUSTED_DOMAIN_TRUST_TYPE(3u32);
7657#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7658pub const TRUST_TYPE_DCE: TRUSTED_DOMAIN_TRUST_TYPE = TRUSTED_DOMAIN_TRUST_TYPE(4u32);
7659impl ::core::marker::Copy for TRUSTED_DOMAIN_TRUST_TYPE {}
7660impl ::core::clone::Clone for TRUSTED_DOMAIN_TRUST_TYPE {
7661 fn clone(&self) -> Self {
7662 *self
7663 }
7664}
7665impl ::core::default::Default for TRUSTED_DOMAIN_TRUST_TYPE {
7666 fn default() -> Self {
7667 Self(0)
7668 }
7669}
7670impl ::windows::core::TypeKind for TRUSTED_DOMAIN_TRUST_TYPE {
7671 type TypeKind = ::windows::core::CopyType;
7672}
7673impl ::core::fmt::Debug for TRUSTED_DOMAIN_TRUST_TYPE {
7674 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7675 f.debug_tuple("TRUSTED_DOMAIN_TRUST_TYPE").field(&self.0).finish()
7676 }
7677}
7678#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7679#[repr(transparent)]
7680#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7681pub struct TRUSTED_INFORMATION_CLASS(pub i32);
7682#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7683pub const TrustedDomainNameInformation: TRUSTED_INFORMATION_CLASS = TRUSTED_INFORMATION_CLASS(1i32);
7684#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7685pub const TrustedControllersInformation: TRUSTED_INFORMATION_CLASS = TRUSTED_INFORMATION_CLASS(2i32);
7686#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7687pub const TrustedPosixOffsetInformation: TRUSTED_INFORMATION_CLASS = TRUSTED_INFORMATION_CLASS(3i32);
7688#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7689pub const TrustedPasswordInformation: TRUSTED_INFORMATION_CLASS = TRUSTED_INFORMATION_CLASS(4i32);
7690#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7691pub const TrustedDomainInformationBasic: TRUSTED_INFORMATION_CLASS = TRUSTED_INFORMATION_CLASS(5i32);
7692#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7693pub const TrustedDomainInformationEx: TRUSTED_INFORMATION_CLASS = TRUSTED_INFORMATION_CLASS(6i32);
7694#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7695pub const TrustedDomainAuthInformation: TRUSTED_INFORMATION_CLASS = TRUSTED_INFORMATION_CLASS(7i32);
7696#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7697pub const TrustedDomainFullInformation: TRUSTED_INFORMATION_CLASS = TRUSTED_INFORMATION_CLASS(8i32);
7698#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7699pub const TrustedDomainAuthInformationInternal: TRUSTED_INFORMATION_CLASS = TRUSTED_INFORMATION_CLASS(9i32);
7700#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7701pub const TrustedDomainFullInformationInternal: TRUSTED_INFORMATION_CLASS = TRUSTED_INFORMATION_CLASS(10i32);
7702#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7703pub const TrustedDomainInformationEx2Internal: TRUSTED_INFORMATION_CLASS = TRUSTED_INFORMATION_CLASS(11i32);
7704#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7705pub const TrustedDomainFullInformation2Internal: TRUSTED_INFORMATION_CLASS = TRUSTED_INFORMATION_CLASS(12i32);
7706#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7707pub const TrustedDomainSupportedEncryptionTypes: TRUSTED_INFORMATION_CLASS = TRUSTED_INFORMATION_CLASS(13i32);
7708impl ::core::marker::Copy for TRUSTED_INFORMATION_CLASS {}
7709impl ::core::clone::Clone for TRUSTED_INFORMATION_CLASS {
7710 fn clone(&self) -> Self {
7711 *self
7712 }
7713}
7714impl ::core::default::Default for TRUSTED_INFORMATION_CLASS {
7715 fn default() -> Self {
7716 Self(0)
7717 }
7718}
7719impl ::windows::core::TypeKind for TRUSTED_INFORMATION_CLASS {
7720 type TypeKind = ::windows::core::CopyType;
7721}
7722impl ::core::fmt::Debug for TRUSTED_INFORMATION_CLASS {
7723 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7724 f.debug_tuple("TRUSTED_INFORMATION_CLASS").field(&self.0).finish()
7725 }
7726}
7727#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7728#[repr(transparent)]
7729#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7730pub struct eTlsHashAlgorithm(pub i32);
7731#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7732pub const TlsHashAlgorithm_None: eTlsHashAlgorithm = eTlsHashAlgorithm(0i32);
7733#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7734pub const TlsHashAlgorithm_Md5: eTlsHashAlgorithm = eTlsHashAlgorithm(1i32);
7735#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7736pub const TlsHashAlgorithm_Sha1: eTlsHashAlgorithm = eTlsHashAlgorithm(2i32);
7737#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7738pub const TlsHashAlgorithm_Sha224: eTlsHashAlgorithm = eTlsHashAlgorithm(3i32);
7739#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7740pub const TlsHashAlgorithm_Sha256: eTlsHashAlgorithm = eTlsHashAlgorithm(4i32);
7741#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7742pub const TlsHashAlgorithm_Sha384: eTlsHashAlgorithm = eTlsHashAlgorithm(5i32);
7743#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7744pub const TlsHashAlgorithm_Sha512: eTlsHashAlgorithm = eTlsHashAlgorithm(6i32);
7745impl ::core::marker::Copy for eTlsHashAlgorithm {}
7746impl ::core::clone::Clone for eTlsHashAlgorithm {
7747 fn clone(&self) -> Self {
7748 *self
7749 }
7750}
7751impl ::core::default::Default for eTlsHashAlgorithm {
7752 fn default() -> Self {
7753 Self(0)
7754 }
7755}
7756impl ::windows::core::TypeKind for eTlsHashAlgorithm {
7757 type TypeKind = ::windows::core::CopyType;
7758}
7759impl ::core::fmt::Debug for eTlsHashAlgorithm {
7760 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7761 f.debug_tuple("eTlsHashAlgorithm").field(&self.0).finish()
7762 }
7763}
7764#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7765#[repr(transparent)]
7766#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7767pub struct eTlsSignatureAlgorithm(pub i32);
7768#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7769pub const TlsSignatureAlgorithm_Anonymous: eTlsSignatureAlgorithm = eTlsSignatureAlgorithm(0i32);
7770#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7771pub const TlsSignatureAlgorithm_Rsa: eTlsSignatureAlgorithm = eTlsSignatureAlgorithm(1i32);
7772#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7773pub const TlsSignatureAlgorithm_Dsa: eTlsSignatureAlgorithm = eTlsSignatureAlgorithm(2i32);
7774#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7775pub const TlsSignatureAlgorithm_Ecdsa: eTlsSignatureAlgorithm = eTlsSignatureAlgorithm(3i32);
7776impl ::core::marker::Copy for eTlsSignatureAlgorithm {}
7777impl ::core::clone::Clone for eTlsSignatureAlgorithm {
7778 fn clone(&self) -> Self {
7779 *self
7780 }
7781}
7782impl ::core::default::Default for eTlsSignatureAlgorithm {
7783 fn default() -> Self {
7784 Self(0)
7785 }
7786}
7787impl ::windows::core::TypeKind for eTlsSignatureAlgorithm {
7788 type TypeKind = ::windows::core::CopyType;
7789}
7790impl ::core::fmt::Debug for eTlsSignatureAlgorithm {
7791 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7792 f.debug_tuple("eTlsSignatureAlgorithm").field(&self.0).finish()
7793 }
7794}
7795#[repr(C)]
7796#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7797pub struct AUDIT_POLICY_INFORMATION {
7798 pub AuditSubCategoryGuid: ::windows::core::GUID,
7799 pub AuditingInformation: u32,
7800 pub AuditCategoryGuid: ::windows::core::GUID,
7801}
7802impl ::core::marker::Copy for AUDIT_POLICY_INFORMATION {}
7803impl ::core::clone::Clone for AUDIT_POLICY_INFORMATION {
7804 fn clone(&self) -> Self {
7805 *self
7806 }
7807}
7808impl ::core::fmt::Debug for AUDIT_POLICY_INFORMATION {
7809 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7810 f.debug_struct("AUDIT_POLICY_INFORMATION").field("AuditSubCategoryGuid", &self.AuditSubCategoryGuid).field("AuditingInformation", &self.AuditingInformation).field("AuditCategoryGuid", &self.AuditCategoryGuid).finish()
7811 }
7812}
7813impl ::windows::core::TypeKind for AUDIT_POLICY_INFORMATION {
7814 type TypeKind = ::windows::core::CopyType;
7815}
7816impl ::core::cmp::PartialEq for AUDIT_POLICY_INFORMATION {
7817 fn eq(&self, other: &Self) -> bool {
7818 self.AuditSubCategoryGuid == other.AuditSubCategoryGuid && self.AuditingInformation == other.AuditingInformation && self.AuditCategoryGuid == other.AuditCategoryGuid
7819 }
7820}
7821impl ::core::cmp::Eq for AUDIT_POLICY_INFORMATION {}
7822impl ::core::default::Default for AUDIT_POLICY_INFORMATION {
7823 fn default() -> Self {
7824 unsafe { ::core::mem::zeroed() }
7825 }
7826}
7827#[repr(C)]
7828#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
7829#[cfg(feature = "Win32_Foundation")]
7830pub struct CENTRAL_ACCESS_POLICY {
7831 pub CAPID: super::super::super::Foundation::PSID,
7832 pub Name: super::super::super::Foundation::UNICODE_STRING,
7833 pub Description: super::super::super::Foundation::UNICODE_STRING,
7834 pub ChangeId: super::super::super::Foundation::UNICODE_STRING,
7835 pub Flags: u32,
7836 pub CAPECount: u32,
7837 pub CAPEs: *mut *mut CENTRAL_ACCESS_POLICY_ENTRY,
7838}
7839#[cfg(feature = "Win32_Foundation")]
7840impl ::core::marker::Copy for CENTRAL_ACCESS_POLICY {}
7841#[cfg(feature = "Win32_Foundation")]
7842impl ::core::clone::Clone for CENTRAL_ACCESS_POLICY {
7843 fn clone(&self) -> Self {
7844 *self
7845 }
7846}
7847#[cfg(feature = "Win32_Foundation")]
7848impl ::core::fmt::Debug for CENTRAL_ACCESS_POLICY {
7849 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7850 f.debug_struct("CENTRAL_ACCESS_POLICY").field("CAPID", &self.CAPID).field("Name", &self.Name).field("Description", &self.Description).field("ChangeId", &self.ChangeId).field("Flags", &self.Flags).field("CAPECount", &self.CAPECount).field("CAPEs", &self.CAPEs).finish()
7851 }
7852}
7853#[cfg(feature = "Win32_Foundation")]
7854impl ::windows::core::TypeKind for CENTRAL_ACCESS_POLICY {
7855 type TypeKind = ::windows::core::CopyType;
7856}
7857#[cfg(feature = "Win32_Foundation")]
7858impl ::core::cmp::PartialEq for CENTRAL_ACCESS_POLICY {
7859 fn eq(&self, other: &Self) -> bool {
7860 self.CAPID == other.CAPID && self.Name == other.Name && self.Description == other.Description && self.ChangeId == other.ChangeId && self.Flags == other.Flags && self.CAPECount == other.CAPECount && self.CAPEs == other.CAPEs
7861 }
7862}
7863#[cfg(feature = "Win32_Foundation")]
7864impl ::core::cmp::Eq for CENTRAL_ACCESS_POLICY {}
7865#[cfg(feature = "Win32_Foundation")]
7866impl ::core::default::Default for CENTRAL_ACCESS_POLICY {
7867 fn default() -> Self {
7868 unsafe { ::core::mem::zeroed() }
7869 }
7870}
7871#[repr(C)]
7872#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
7873#[cfg(feature = "Win32_Foundation")]
7874pub struct CENTRAL_ACCESS_POLICY_ENTRY {
7875 pub Name: super::super::super::Foundation::UNICODE_STRING,
7876 pub Description: super::super::super::Foundation::UNICODE_STRING,
7877 pub ChangeId: super::super::super::Foundation::UNICODE_STRING,
7878 pub LengthAppliesTo: u32,
7879 pub AppliesTo: *mut u8,
7880 pub LengthSD: u32,
7881 pub SD: super::super::PSECURITY_DESCRIPTOR,
7882 pub LengthStagedSD: u32,
7883 pub StagedSD: super::super::PSECURITY_DESCRIPTOR,
7884 pub Flags: u32,
7885}
7886#[cfg(feature = "Win32_Foundation")]
7887impl ::core::marker::Copy for CENTRAL_ACCESS_POLICY_ENTRY {}
7888#[cfg(feature = "Win32_Foundation")]
7889impl ::core::clone::Clone for CENTRAL_ACCESS_POLICY_ENTRY {
7890 fn clone(&self) -> Self {
7891 *self
7892 }
7893}
7894#[cfg(feature = "Win32_Foundation")]
7895impl ::core::fmt::Debug for CENTRAL_ACCESS_POLICY_ENTRY {
7896 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7897 f.debug_struct("CENTRAL_ACCESS_POLICY_ENTRY").field("Name", &self.Name).field("Description", &self.Description).field("ChangeId", &self.ChangeId).field("LengthAppliesTo", &self.LengthAppliesTo).field("AppliesTo", &self.AppliesTo).field("LengthSD", &self.LengthSD).field("SD", &self.SD).field("LengthStagedSD", &self.LengthStagedSD).field("StagedSD", &self.StagedSD).field("Flags", &self.Flags).finish()
7898 }
7899}
7900#[cfg(feature = "Win32_Foundation")]
7901impl ::windows::core::TypeKind for CENTRAL_ACCESS_POLICY_ENTRY {
7902 type TypeKind = ::windows::core::CopyType;
7903}
7904#[cfg(feature = "Win32_Foundation")]
7905impl ::core::cmp::PartialEq for CENTRAL_ACCESS_POLICY_ENTRY {
7906 fn eq(&self, other: &Self) -> bool {
7907 self.Name == other.Name && self.Description == other.Description && self.ChangeId == other.ChangeId && self.LengthAppliesTo == other.LengthAppliesTo && self.AppliesTo == other.AppliesTo && self.LengthSD == other.LengthSD && self.SD == other.SD && self.LengthStagedSD == other.LengthStagedSD && self.StagedSD == other.StagedSD && self.Flags == other.Flags
7908 }
7909}
7910#[cfg(feature = "Win32_Foundation")]
7911impl ::core::cmp::Eq for CENTRAL_ACCESS_POLICY_ENTRY {}
7912#[cfg(feature = "Win32_Foundation")]
7913impl ::core::default::Default for CENTRAL_ACCESS_POLICY_ENTRY {
7914 fn default() -> Self {
7915 unsafe { ::core::mem::zeroed() }
7916 }
7917}
7918#[repr(C)]
7919#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7920pub struct CLEAR_BLOCK {
7921 pub data: [u8; 8],
7922}
7923impl ::core::marker::Copy for CLEAR_BLOCK {}
7924impl ::core::clone::Clone for CLEAR_BLOCK {
7925 fn clone(&self) -> Self {
7926 *self
7927 }
7928}
7929impl ::core::fmt::Debug for CLEAR_BLOCK {
7930 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7931 f.debug_struct("CLEAR_BLOCK").field("data", &self.data).finish()
7932 }
7933}
7934impl ::windows::core::TypeKind for CLEAR_BLOCK {
7935 type TypeKind = ::windows::core::CopyType;
7936}
7937impl ::core::cmp::PartialEq for CLEAR_BLOCK {
7938 fn eq(&self, other: &Self) -> bool {
7939 self.data == other.data
7940 }
7941}
7942impl ::core::cmp::Eq for CLEAR_BLOCK {}
7943impl ::core::default::Default for CLEAR_BLOCK {
7944 fn default() -> Self {
7945 unsafe { ::core::mem::zeroed() }
7946 }
7947}
7948#[repr(C)]
7949#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
7950pub struct DOMAIN_PASSWORD_INFORMATION {
7951 pub MinPasswordLength: u16,
7952 pub PasswordHistoryLength: u16,
7953 pub PasswordProperties: DOMAIN_PASSWORD_PROPERTIES,
7954 pub MaxPasswordAge: i64,
7955 pub MinPasswordAge: i64,
7956}
7957impl ::core::marker::Copy for DOMAIN_PASSWORD_INFORMATION {}
7958impl ::core::clone::Clone for DOMAIN_PASSWORD_INFORMATION {
7959 fn clone(&self) -> Self {
7960 *self
7961 }
7962}
7963impl ::core::fmt::Debug for DOMAIN_PASSWORD_INFORMATION {
7964 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7965 f.debug_struct("DOMAIN_PASSWORD_INFORMATION").field("MinPasswordLength", &self.MinPasswordLength).field("PasswordHistoryLength", &self.PasswordHistoryLength).field("PasswordProperties", &self.PasswordProperties).field("MaxPasswordAge", &self.MaxPasswordAge).field("MinPasswordAge", &self.MinPasswordAge).finish()
7966 }
7967}
7968impl ::windows::core::TypeKind for DOMAIN_PASSWORD_INFORMATION {
7969 type TypeKind = ::windows::core::CopyType;
7970}
7971impl ::core::cmp::PartialEq for DOMAIN_PASSWORD_INFORMATION {
7972 fn eq(&self, other: &Self) -> bool {
7973 self.MinPasswordLength == other.MinPasswordLength && self.PasswordHistoryLength == other.PasswordHistoryLength && self.PasswordProperties == other.PasswordProperties && self.MaxPasswordAge == other.MaxPasswordAge && self.MinPasswordAge == other.MinPasswordAge
7974 }
7975}
7976impl ::core::cmp::Eq for DOMAIN_PASSWORD_INFORMATION {}
7977impl ::core::default::Default for DOMAIN_PASSWORD_INFORMATION {
7978 fn default() -> Self {
7979 unsafe { ::core::mem::zeroed() }
7980 }
7981}
7982#[repr(C)]
7983#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_Security_Credentials\"`*"]
7984#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
7985pub struct ENCRYPTED_CREDENTIALW {
7986 pub Cred: super::super::Credentials::CREDENTIALW,
7987 pub ClearCredentialBlobSize: u32,
7988}
7989#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
7990impl ::core::marker::Copy for ENCRYPTED_CREDENTIALW {}
7991#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
7992impl ::core::clone::Clone for ENCRYPTED_CREDENTIALW {
7993 fn clone(&self) -> Self {
7994 *self
7995 }
7996}
7997#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
7998impl ::core::fmt::Debug for ENCRYPTED_CREDENTIALW {
7999 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8000 f.debug_struct("ENCRYPTED_CREDENTIALW").field("Cred", &self.Cred).field("ClearCredentialBlobSize", &self.ClearCredentialBlobSize).finish()
8001 }
8002}
8003#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
8004impl ::windows::core::TypeKind for ENCRYPTED_CREDENTIALW {
8005 type TypeKind = ::windows::core::CopyType;
8006}
8007#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
8008impl ::core::cmp::PartialEq for ENCRYPTED_CREDENTIALW {
8009 fn eq(&self, other: &Self) -> bool {
8010 self.Cred == other.Cred && self.ClearCredentialBlobSize == other.ClearCredentialBlobSize
8011 }
8012}
8013#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
8014impl ::core::cmp::Eq for ENCRYPTED_CREDENTIALW {}
8015#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
8016impl ::core::default::Default for ENCRYPTED_CREDENTIALW {
8017 fn default() -> Self {
8018 unsafe { ::core::mem::zeroed() }
8019 }
8020}
8021#[repr(C)]
8022#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
8023#[cfg(feature = "Win32_Foundation")]
8024pub struct KDC_PROXY_CACHE_ENTRY_DATA {
8025 pub SinceLastUsed: u64,
8026 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
8027 pub ProxyServerName: super::super::super::Foundation::UNICODE_STRING,
8028 pub ProxyServerVdir: super::super::super::Foundation::UNICODE_STRING,
8029 pub ProxyServerPort: u16,
8030 pub LogonId: super::super::super::Foundation::LUID,
8031 pub CredUserName: super::super::super::Foundation::UNICODE_STRING,
8032 pub CredDomainName: super::super::super::Foundation::UNICODE_STRING,
8033 pub GlobalCache: super::super::super::Foundation::BOOLEAN,
8034}
8035#[cfg(feature = "Win32_Foundation")]
8036impl ::core::marker::Copy for KDC_PROXY_CACHE_ENTRY_DATA {}
8037#[cfg(feature = "Win32_Foundation")]
8038impl ::core::clone::Clone for KDC_PROXY_CACHE_ENTRY_DATA {
8039 fn clone(&self) -> Self {
8040 *self
8041 }
8042}
8043#[cfg(feature = "Win32_Foundation")]
8044impl ::core::fmt::Debug for KDC_PROXY_CACHE_ENTRY_DATA {
8045 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8046 f.debug_struct("KDC_PROXY_CACHE_ENTRY_DATA").field("SinceLastUsed", &self.SinceLastUsed).field("DomainName", &self.DomainName).field("ProxyServerName", &self.ProxyServerName).field("ProxyServerVdir", &self.ProxyServerVdir).field("ProxyServerPort", &self.ProxyServerPort).field("LogonId", &self.LogonId).field("CredUserName", &self.CredUserName).field("CredDomainName", &self.CredDomainName).field("GlobalCache", &self.GlobalCache).finish()
8047 }
8048}
8049#[cfg(feature = "Win32_Foundation")]
8050impl ::windows::core::TypeKind for KDC_PROXY_CACHE_ENTRY_DATA {
8051 type TypeKind = ::windows::core::CopyType;
8052}
8053#[cfg(feature = "Win32_Foundation")]
8054impl ::core::cmp::PartialEq for KDC_PROXY_CACHE_ENTRY_DATA {
8055 fn eq(&self, other: &Self) -> bool {
8056 self.SinceLastUsed == other.SinceLastUsed && self.DomainName == other.DomainName && self.ProxyServerName == other.ProxyServerName && self.ProxyServerVdir == other.ProxyServerVdir && self.ProxyServerPort == other.ProxyServerPort && self.LogonId == other.LogonId && self.CredUserName == other.CredUserName && self.CredDomainName == other.CredDomainName && self.GlobalCache == other.GlobalCache
8057 }
8058}
8059#[cfg(feature = "Win32_Foundation")]
8060impl ::core::cmp::Eq for KDC_PROXY_CACHE_ENTRY_DATA {}
8061#[cfg(feature = "Win32_Foundation")]
8062impl ::core::default::Default for KDC_PROXY_CACHE_ENTRY_DATA {
8063 fn default() -> Self {
8064 unsafe { ::core::mem::zeroed() }
8065 }
8066}
8067#[repr(C)]
8068#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
8069#[cfg(feature = "Win32_Foundation")]
8070pub struct KERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST {
8071 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
8072 pub RealmName: super::super::super::Foundation::UNICODE_STRING,
8073 pub KdcAddress: super::super::super::Foundation::UNICODE_STRING,
8074 pub AddressType: KERB_ADDRESS_TYPE,
8075 pub DcFlags: u32,
8076}
8077#[cfg(feature = "Win32_Foundation")]
8078impl ::core::marker::Copy for KERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST {}
8079#[cfg(feature = "Win32_Foundation")]
8080impl ::core::clone::Clone for KERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST {
8081 fn clone(&self) -> Self {
8082 *self
8083 }
8084}
8085#[cfg(feature = "Win32_Foundation")]
8086impl ::core::fmt::Debug for KERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST {
8087 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8088 f.debug_struct("KERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST").field("MessageType", &self.MessageType).field("RealmName", &self.RealmName).field("KdcAddress", &self.KdcAddress).field("AddressType", &self.AddressType).field("DcFlags", &self.DcFlags).finish()
8089 }
8090}
8091#[cfg(feature = "Win32_Foundation")]
8092impl ::windows::core::TypeKind for KERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST {
8093 type TypeKind = ::windows::core::CopyType;
8094}
8095#[cfg(feature = "Win32_Foundation")]
8096impl ::core::cmp::PartialEq for KERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST {
8097 fn eq(&self, other: &Self) -> bool {
8098 self.MessageType == other.MessageType && self.RealmName == other.RealmName && self.KdcAddress == other.KdcAddress && self.AddressType == other.AddressType && self.DcFlags == other.DcFlags
8099 }
8100}
8101#[cfg(feature = "Win32_Foundation")]
8102impl ::core::cmp::Eq for KERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST {}
8103#[cfg(feature = "Win32_Foundation")]
8104impl ::core::default::Default for KERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST {
8105 fn default() -> Self {
8106 unsafe { ::core::mem::zeroed() }
8107 }
8108}
8109#[repr(C)]
8110#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
8111#[cfg(feature = "Win32_Foundation")]
8112pub struct KERB_ADD_BINDING_CACHE_ENTRY_REQUEST {
8113 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
8114 pub RealmName: super::super::super::Foundation::UNICODE_STRING,
8115 pub KdcAddress: super::super::super::Foundation::UNICODE_STRING,
8116 pub AddressType: KERB_ADDRESS_TYPE,
8117}
8118#[cfg(feature = "Win32_Foundation")]
8119impl ::core::marker::Copy for KERB_ADD_BINDING_CACHE_ENTRY_REQUEST {}
8120#[cfg(feature = "Win32_Foundation")]
8121impl ::core::clone::Clone for KERB_ADD_BINDING_CACHE_ENTRY_REQUEST {
8122 fn clone(&self) -> Self {
8123 *self
8124 }
8125}
8126#[cfg(feature = "Win32_Foundation")]
8127impl ::core::fmt::Debug for KERB_ADD_BINDING_CACHE_ENTRY_REQUEST {
8128 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8129 f.debug_struct("KERB_ADD_BINDING_CACHE_ENTRY_REQUEST").field("MessageType", &self.MessageType).field("RealmName", &self.RealmName).field("KdcAddress", &self.KdcAddress).field("AddressType", &self.AddressType).finish()
8130 }
8131}
8132#[cfg(feature = "Win32_Foundation")]
8133impl ::windows::core::TypeKind for KERB_ADD_BINDING_CACHE_ENTRY_REQUEST {
8134 type TypeKind = ::windows::core::CopyType;
8135}
8136#[cfg(feature = "Win32_Foundation")]
8137impl ::core::cmp::PartialEq for KERB_ADD_BINDING_CACHE_ENTRY_REQUEST {
8138 fn eq(&self, other: &Self) -> bool {
8139 self.MessageType == other.MessageType && self.RealmName == other.RealmName && self.KdcAddress == other.KdcAddress && self.AddressType == other.AddressType
8140 }
8141}
8142#[cfg(feature = "Win32_Foundation")]
8143impl ::core::cmp::Eq for KERB_ADD_BINDING_CACHE_ENTRY_REQUEST {}
8144#[cfg(feature = "Win32_Foundation")]
8145impl ::core::default::Default for KERB_ADD_BINDING_CACHE_ENTRY_REQUEST {
8146 fn default() -> Self {
8147 unsafe { ::core::mem::zeroed() }
8148 }
8149}
8150#[repr(C)]
8151#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
8152#[cfg(feature = "Win32_Foundation")]
8153pub struct KERB_ADD_CREDENTIALS_REQUEST {
8154 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
8155 pub UserName: super::super::super::Foundation::UNICODE_STRING,
8156 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
8157 pub Password: super::super::super::Foundation::UNICODE_STRING,
8158 pub LogonId: super::super::super::Foundation::LUID,
8159 pub Flags: KERB_REQUEST_FLAGS,
8160}
8161#[cfg(feature = "Win32_Foundation")]
8162impl ::core::marker::Copy for KERB_ADD_CREDENTIALS_REQUEST {}
8163#[cfg(feature = "Win32_Foundation")]
8164impl ::core::clone::Clone for KERB_ADD_CREDENTIALS_REQUEST {
8165 fn clone(&self) -> Self {
8166 *self
8167 }
8168}
8169#[cfg(feature = "Win32_Foundation")]
8170impl ::core::fmt::Debug for KERB_ADD_CREDENTIALS_REQUEST {
8171 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8172 f.debug_struct("KERB_ADD_CREDENTIALS_REQUEST").field("MessageType", &self.MessageType).field("UserName", &self.UserName).field("DomainName", &self.DomainName).field("Password", &self.Password).field("LogonId", &self.LogonId).field("Flags", &self.Flags).finish()
8173 }
8174}
8175#[cfg(feature = "Win32_Foundation")]
8176impl ::windows::core::TypeKind for KERB_ADD_CREDENTIALS_REQUEST {
8177 type TypeKind = ::windows::core::CopyType;
8178}
8179#[cfg(feature = "Win32_Foundation")]
8180impl ::core::cmp::PartialEq for KERB_ADD_CREDENTIALS_REQUEST {
8181 fn eq(&self, other: &Self) -> bool {
8182 self.MessageType == other.MessageType && self.UserName == other.UserName && self.DomainName == other.DomainName && self.Password == other.Password && self.LogonId == other.LogonId && self.Flags == other.Flags
8183 }
8184}
8185#[cfg(feature = "Win32_Foundation")]
8186impl ::core::cmp::Eq for KERB_ADD_CREDENTIALS_REQUEST {}
8187#[cfg(feature = "Win32_Foundation")]
8188impl ::core::default::Default for KERB_ADD_CREDENTIALS_REQUEST {
8189 fn default() -> Self {
8190 unsafe { ::core::mem::zeroed() }
8191 }
8192}
8193#[repr(C)]
8194#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
8195#[cfg(feature = "Win32_Foundation")]
8196pub struct KERB_ADD_CREDENTIALS_REQUEST_EX {
8197 pub Credentials: KERB_ADD_CREDENTIALS_REQUEST,
8198 pub PrincipalNameCount: u32,
8199 pub PrincipalNames: [super::super::super::Foundation::UNICODE_STRING; 1],
8200}
8201#[cfg(feature = "Win32_Foundation")]
8202impl ::core::marker::Copy for KERB_ADD_CREDENTIALS_REQUEST_EX {}
8203#[cfg(feature = "Win32_Foundation")]
8204impl ::core::clone::Clone for KERB_ADD_CREDENTIALS_REQUEST_EX {
8205 fn clone(&self) -> Self {
8206 *self
8207 }
8208}
8209#[cfg(feature = "Win32_Foundation")]
8210impl ::core::fmt::Debug for KERB_ADD_CREDENTIALS_REQUEST_EX {
8211 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8212 f.debug_struct("KERB_ADD_CREDENTIALS_REQUEST_EX").field("Credentials", &self.Credentials).field("PrincipalNameCount", &self.PrincipalNameCount).field("PrincipalNames", &self.PrincipalNames).finish()
8213 }
8214}
8215#[cfg(feature = "Win32_Foundation")]
8216impl ::windows::core::TypeKind for KERB_ADD_CREDENTIALS_REQUEST_EX {
8217 type TypeKind = ::windows::core::CopyType;
8218}
8219#[cfg(feature = "Win32_Foundation")]
8220impl ::core::cmp::PartialEq for KERB_ADD_CREDENTIALS_REQUEST_EX {
8221 fn eq(&self, other: &Self) -> bool {
8222 self.Credentials == other.Credentials && self.PrincipalNameCount == other.PrincipalNameCount && self.PrincipalNames == other.PrincipalNames
8223 }
8224}
8225#[cfg(feature = "Win32_Foundation")]
8226impl ::core::cmp::Eq for KERB_ADD_CREDENTIALS_REQUEST_EX {}
8227#[cfg(feature = "Win32_Foundation")]
8228impl ::core::default::Default for KERB_ADD_CREDENTIALS_REQUEST_EX {
8229 fn default() -> Self {
8230 unsafe { ::core::mem::zeroed() }
8231 }
8232}
8233#[repr(C)]
8234#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
8235pub struct KERB_AUTH_DATA {
8236 pub Type: u32,
8237 pub Length: u32,
8238 pub Data: *mut u8,
8239}
8240impl ::core::marker::Copy for KERB_AUTH_DATA {}
8241impl ::core::clone::Clone for KERB_AUTH_DATA {
8242 fn clone(&self) -> Self {
8243 *self
8244 }
8245}
8246impl ::core::fmt::Debug for KERB_AUTH_DATA {
8247 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8248 f.debug_struct("KERB_AUTH_DATA").field("Type", &self.Type).field("Length", &self.Length).field("Data", &self.Data).finish()
8249 }
8250}
8251impl ::windows::core::TypeKind for KERB_AUTH_DATA {
8252 type TypeKind = ::windows::core::CopyType;
8253}
8254impl ::core::cmp::PartialEq for KERB_AUTH_DATA {
8255 fn eq(&self, other: &Self) -> bool {
8256 self.Type == other.Type && self.Length == other.Length && self.Data == other.Data
8257 }
8258}
8259impl ::core::cmp::Eq for KERB_AUTH_DATA {}
8260impl ::core::default::Default for KERB_AUTH_DATA {
8261 fn default() -> Self {
8262 unsafe { ::core::mem::zeroed() }
8263 }
8264}
8265#[repr(C)]
8266#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
8267#[cfg(feature = "Win32_Foundation")]
8268pub struct KERB_BINDING_CACHE_ENTRY_DATA {
8269 pub DiscoveryTime: u64,
8270 pub RealmName: super::super::super::Foundation::UNICODE_STRING,
8271 pub KdcAddress: super::super::super::Foundation::UNICODE_STRING,
8272 pub AddressType: KERB_ADDRESS_TYPE,
8273 pub Flags: u32,
8274 pub DcFlags: u32,
8275 pub CacheFlags: u32,
8276 pub KdcName: super::super::super::Foundation::UNICODE_STRING,
8277}
8278#[cfg(feature = "Win32_Foundation")]
8279impl ::core::marker::Copy for KERB_BINDING_CACHE_ENTRY_DATA {}
8280#[cfg(feature = "Win32_Foundation")]
8281impl ::core::clone::Clone for KERB_BINDING_CACHE_ENTRY_DATA {
8282 fn clone(&self) -> Self {
8283 *self
8284 }
8285}
8286#[cfg(feature = "Win32_Foundation")]
8287impl ::core::fmt::Debug for KERB_BINDING_CACHE_ENTRY_DATA {
8288 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8289 f.debug_struct("KERB_BINDING_CACHE_ENTRY_DATA").field("DiscoveryTime", &self.DiscoveryTime).field("RealmName", &self.RealmName).field("KdcAddress", &self.KdcAddress).field("AddressType", &self.AddressType).field("Flags", &self.Flags).field("DcFlags", &self.DcFlags).field("CacheFlags", &self.CacheFlags).field("KdcName", &self.KdcName).finish()
8290 }
8291}
8292#[cfg(feature = "Win32_Foundation")]
8293impl ::windows::core::TypeKind for KERB_BINDING_CACHE_ENTRY_DATA {
8294 type TypeKind = ::windows::core::CopyType;
8295}
8296#[cfg(feature = "Win32_Foundation")]
8297impl ::core::cmp::PartialEq for KERB_BINDING_CACHE_ENTRY_DATA {
8298 fn eq(&self, other: &Self) -> bool {
8299 self.DiscoveryTime == other.DiscoveryTime && self.RealmName == other.RealmName && self.KdcAddress == other.KdcAddress && self.AddressType == other.AddressType && self.Flags == other.Flags && self.DcFlags == other.DcFlags && self.CacheFlags == other.CacheFlags && self.KdcName == other.KdcName
8300 }
8301}
8302#[cfg(feature = "Win32_Foundation")]
8303impl ::core::cmp::Eq for KERB_BINDING_CACHE_ENTRY_DATA {}
8304#[cfg(feature = "Win32_Foundation")]
8305impl ::core::default::Default for KERB_BINDING_CACHE_ENTRY_DATA {
8306 fn default() -> Self {
8307 unsafe { ::core::mem::zeroed() }
8308 }
8309}
8310#[repr(C)]
8311#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
8312pub struct KERB_CERTIFICATE_HASHINFO {
8313 pub StoreNameLength: u16,
8314 pub HashLength: u16,
8315}
8316impl ::core::marker::Copy for KERB_CERTIFICATE_HASHINFO {}
8317impl ::core::clone::Clone for KERB_CERTIFICATE_HASHINFO {
8318 fn clone(&self) -> Self {
8319 *self
8320 }
8321}
8322impl ::core::fmt::Debug for KERB_CERTIFICATE_HASHINFO {
8323 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8324 f.debug_struct("KERB_CERTIFICATE_HASHINFO").field("StoreNameLength", &self.StoreNameLength).field("HashLength", &self.HashLength).finish()
8325 }
8326}
8327impl ::windows::core::TypeKind for KERB_CERTIFICATE_HASHINFO {
8328 type TypeKind = ::windows::core::CopyType;
8329}
8330impl ::core::cmp::PartialEq for KERB_CERTIFICATE_HASHINFO {
8331 fn eq(&self, other: &Self) -> bool {
8332 self.StoreNameLength == other.StoreNameLength && self.HashLength == other.HashLength
8333 }
8334}
8335impl ::core::cmp::Eq for KERB_CERTIFICATE_HASHINFO {}
8336impl ::core::default::Default for KERB_CERTIFICATE_HASHINFO {
8337 fn default() -> Self {
8338 unsafe { ::core::mem::zeroed() }
8339 }
8340}
8341#[repr(C)]
8342#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
8343pub struct KERB_CERTIFICATE_INFO {
8344 pub CertInfoSize: u32,
8345 pub InfoType: u32,
8346}
8347impl ::core::marker::Copy for KERB_CERTIFICATE_INFO {}
8348impl ::core::clone::Clone for KERB_CERTIFICATE_INFO {
8349 fn clone(&self) -> Self {
8350 *self
8351 }
8352}
8353impl ::core::fmt::Debug for KERB_CERTIFICATE_INFO {
8354 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8355 f.debug_struct("KERB_CERTIFICATE_INFO").field("CertInfoSize", &self.CertInfoSize).field("InfoType", &self.InfoType).finish()
8356 }
8357}
8358impl ::windows::core::TypeKind for KERB_CERTIFICATE_INFO {
8359 type TypeKind = ::windows::core::CopyType;
8360}
8361impl ::core::cmp::PartialEq for KERB_CERTIFICATE_INFO {
8362 fn eq(&self, other: &Self) -> bool {
8363 self.CertInfoSize == other.CertInfoSize && self.InfoType == other.InfoType
8364 }
8365}
8366impl ::core::cmp::Eq for KERB_CERTIFICATE_INFO {}
8367impl ::core::default::Default for KERB_CERTIFICATE_INFO {
8368 fn default() -> Self {
8369 unsafe { ::core::mem::zeroed() }
8370 }
8371}
8372#[repr(C)]
8373#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
8374#[cfg(feature = "Win32_Foundation")]
8375pub struct KERB_CERTIFICATE_LOGON {
8376 pub MessageType: KERB_LOGON_SUBMIT_TYPE,
8377 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
8378 pub UserName: super::super::super::Foundation::UNICODE_STRING,
8379 pub Pin: super::super::super::Foundation::UNICODE_STRING,
8380 pub Flags: u32,
8381 pub CspDataLength: u32,
8382 pub CspData: *mut u8,
8383}
8384#[cfg(feature = "Win32_Foundation")]
8385impl ::core::marker::Copy for KERB_CERTIFICATE_LOGON {}
8386#[cfg(feature = "Win32_Foundation")]
8387impl ::core::clone::Clone for KERB_CERTIFICATE_LOGON {
8388 fn clone(&self) -> Self {
8389 *self
8390 }
8391}
8392#[cfg(feature = "Win32_Foundation")]
8393impl ::core::fmt::Debug for KERB_CERTIFICATE_LOGON {
8394 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8395 f.debug_struct("KERB_CERTIFICATE_LOGON").field("MessageType", &self.MessageType).field("DomainName", &self.DomainName).field("UserName", &self.UserName).field("Pin", &self.Pin).field("Flags", &self.Flags).field("CspDataLength", &self.CspDataLength).field("CspData", &self.CspData).finish()
8396 }
8397}
8398#[cfg(feature = "Win32_Foundation")]
8399impl ::windows::core::TypeKind for KERB_CERTIFICATE_LOGON {
8400 type TypeKind = ::windows::core::CopyType;
8401}
8402#[cfg(feature = "Win32_Foundation")]
8403impl ::core::cmp::PartialEq for KERB_CERTIFICATE_LOGON {
8404 fn eq(&self, other: &Self) -> bool {
8405 self.MessageType == other.MessageType && self.DomainName == other.DomainName && self.UserName == other.UserName && self.Pin == other.Pin && self.Flags == other.Flags && self.CspDataLength == other.CspDataLength && self.CspData == other.CspData
8406 }
8407}
8408#[cfg(feature = "Win32_Foundation")]
8409impl ::core::cmp::Eq for KERB_CERTIFICATE_LOGON {}
8410#[cfg(feature = "Win32_Foundation")]
8411impl ::core::default::Default for KERB_CERTIFICATE_LOGON {
8412 fn default() -> Self {
8413 unsafe { ::core::mem::zeroed() }
8414 }
8415}
8416#[repr(C)]
8417#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
8418#[cfg(feature = "Win32_Foundation")]
8419pub struct KERB_CERTIFICATE_S4U_LOGON {
8420 pub MessageType: KERB_LOGON_SUBMIT_TYPE,
8421 pub Flags: u32,
8422 pub UserPrincipalName: super::super::super::Foundation::UNICODE_STRING,
8423 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
8424 pub CertificateLength: u32,
8425 pub Certificate: *mut u8,
8426}
8427#[cfg(feature = "Win32_Foundation")]
8428impl ::core::marker::Copy for KERB_CERTIFICATE_S4U_LOGON {}
8429#[cfg(feature = "Win32_Foundation")]
8430impl ::core::clone::Clone for KERB_CERTIFICATE_S4U_LOGON {
8431 fn clone(&self) -> Self {
8432 *self
8433 }
8434}
8435#[cfg(feature = "Win32_Foundation")]
8436impl ::core::fmt::Debug for KERB_CERTIFICATE_S4U_LOGON {
8437 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8438 f.debug_struct("KERB_CERTIFICATE_S4U_LOGON").field("MessageType", &self.MessageType).field("Flags", &self.Flags).field("UserPrincipalName", &self.UserPrincipalName).field("DomainName", &self.DomainName).field("CertificateLength", &self.CertificateLength).field("Certificate", &self.Certificate).finish()
8439 }
8440}
8441#[cfg(feature = "Win32_Foundation")]
8442impl ::windows::core::TypeKind for KERB_CERTIFICATE_S4U_LOGON {
8443 type TypeKind = ::windows::core::CopyType;
8444}
8445#[cfg(feature = "Win32_Foundation")]
8446impl ::core::cmp::PartialEq for KERB_CERTIFICATE_S4U_LOGON {
8447 fn eq(&self, other: &Self) -> bool {
8448 self.MessageType == other.MessageType && self.Flags == other.Flags && self.UserPrincipalName == other.UserPrincipalName && self.DomainName == other.DomainName && self.CertificateLength == other.CertificateLength && self.Certificate == other.Certificate
8449 }
8450}
8451#[cfg(feature = "Win32_Foundation")]
8452impl ::core::cmp::Eq for KERB_CERTIFICATE_S4U_LOGON {}
8453#[cfg(feature = "Win32_Foundation")]
8454impl ::core::default::Default for KERB_CERTIFICATE_S4U_LOGON {
8455 fn default() -> Self {
8456 unsafe { ::core::mem::zeroed() }
8457 }
8458}
8459#[repr(C)]
8460#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
8461#[cfg(feature = "Win32_Foundation")]
8462pub struct KERB_CERTIFICATE_UNLOCK_LOGON {
8463 pub Logon: KERB_CERTIFICATE_LOGON,
8464 pub LogonId: super::super::super::Foundation::LUID,
8465}
8466#[cfg(feature = "Win32_Foundation")]
8467impl ::core::marker::Copy for KERB_CERTIFICATE_UNLOCK_LOGON {}
8468#[cfg(feature = "Win32_Foundation")]
8469impl ::core::clone::Clone for KERB_CERTIFICATE_UNLOCK_LOGON {
8470 fn clone(&self) -> Self {
8471 *self
8472 }
8473}
8474#[cfg(feature = "Win32_Foundation")]
8475impl ::core::fmt::Debug for KERB_CERTIFICATE_UNLOCK_LOGON {
8476 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8477 f.debug_struct("KERB_CERTIFICATE_UNLOCK_LOGON").field("Logon", &self.Logon).field("LogonId", &self.LogonId).finish()
8478 }
8479}
8480#[cfg(feature = "Win32_Foundation")]
8481impl ::windows::core::TypeKind for KERB_CERTIFICATE_UNLOCK_LOGON {
8482 type TypeKind = ::windows::core::CopyType;
8483}
8484#[cfg(feature = "Win32_Foundation")]
8485impl ::core::cmp::PartialEq for KERB_CERTIFICATE_UNLOCK_LOGON {
8486 fn eq(&self, other: &Self) -> bool {
8487 self.Logon == other.Logon && self.LogonId == other.LogonId
8488 }
8489}
8490#[cfg(feature = "Win32_Foundation")]
8491impl ::core::cmp::Eq for KERB_CERTIFICATE_UNLOCK_LOGON {}
8492#[cfg(feature = "Win32_Foundation")]
8493impl ::core::default::Default for KERB_CERTIFICATE_UNLOCK_LOGON {
8494 fn default() -> Self {
8495 unsafe { ::core::mem::zeroed() }
8496 }
8497}
8498#[repr(C)]
8499#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
8500#[cfg(feature = "Win32_Foundation")]
8501pub struct KERB_CHANGEPASSWORD_REQUEST {
8502 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
8503 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
8504 pub AccountName: super::super::super::Foundation::UNICODE_STRING,
8505 pub OldPassword: super::super::super::Foundation::UNICODE_STRING,
8506 pub NewPassword: super::super::super::Foundation::UNICODE_STRING,
8507 pub Impersonating: super::super::super::Foundation::BOOLEAN,
8508}
8509#[cfg(feature = "Win32_Foundation")]
8510impl ::core::marker::Copy for KERB_CHANGEPASSWORD_REQUEST {}
8511#[cfg(feature = "Win32_Foundation")]
8512impl ::core::clone::Clone for KERB_CHANGEPASSWORD_REQUEST {
8513 fn clone(&self) -> Self {
8514 *self
8515 }
8516}
8517#[cfg(feature = "Win32_Foundation")]
8518impl ::core::fmt::Debug for KERB_CHANGEPASSWORD_REQUEST {
8519 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8520 f.debug_struct("KERB_CHANGEPASSWORD_REQUEST").field("MessageType", &self.MessageType).field("DomainName", &self.DomainName).field("AccountName", &self.AccountName).field("OldPassword", &self.OldPassword).field("NewPassword", &self.NewPassword).field("Impersonating", &self.Impersonating).finish()
8521 }
8522}
8523#[cfg(feature = "Win32_Foundation")]
8524impl ::windows::core::TypeKind for KERB_CHANGEPASSWORD_REQUEST {
8525 type TypeKind = ::windows::core::CopyType;
8526}
8527#[cfg(feature = "Win32_Foundation")]
8528impl ::core::cmp::PartialEq for KERB_CHANGEPASSWORD_REQUEST {
8529 fn eq(&self, other: &Self) -> bool {
8530 self.MessageType == other.MessageType && self.DomainName == other.DomainName && self.AccountName == other.AccountName && self.OldPassword == other.OldPassword && self.NewPassword == other.NewPassword && self.Impersonating == other.Impersonating
8531 }
8532}
8533#[cfg(feature = "Win32_Foundation")]
8534impl ::core::cmp::Eq for KERB_CHANGEPASSWORD_REQUEST {}
8535#[cfg(feature = "Win32_Foundation")]
8536impl ::core::default::Default for KERB_CHANGEPASSWORD_REQUEST {
8537 fn default() -> Self {
8538 unsafe { ::core::mem::zeroed() }
8539 }
8540}
8541#[repr(C)]
8542#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
8543#[cfg(feature = "Win32_Foundation")]
8544pub struct KERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST {
8545 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
8546 pub LogonId: super::super::super::Foundation::LUID,
8547}
8548#[cfg(feature = "Win32_Foundation")]
8549impl ::core::marker::Copy for KERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST {}
8550#[cfg(feature = "Win32_Foundation")]
8551impl ::core::clone::Clone for KERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST {
8552 fn clone(&self) -> Self {
8553 *self
8554 }
8555}
8556#[cfg(feature = "Win32_Foundation")]
8557impl ::core::fmt::Debug for KERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST {
8558 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8559 f.debug_struct("KERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST").field("MessageType", &self.MessageType).field("LogonId", &self.LogonId).finish()
8560 }
8561}
8562#[cfg(feature = "Win32_Foundation")]
8563impl ::windows::core::TypeKind for KERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST {
8564 type TypeKind = ::windows::core::CopyType;
8565}
8566#[cfg(feature = "Win32_Foundation")]
8567impl ::core::cmp::PartialEq for KERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST {
8568 fn eq(&self, other: &Self) -> bool {
8569 self.MessageType == other.MessageType && self.LogonId == other.LogonId
8570 }
8571}
8572#[cfg(feature = "Win32_Foundation")]
8573impl ::core::cmp::Eq for KERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST {}
8574#[cfg(feature = "Win32_Foundation")]
8575impl ::core::default::Default for KERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST {
8576 fn default() -> Self {
8577 unsafe { ::core::mem::zeroed() }
8578 }
8579}
8580#[repr(C)]
8581#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
8582pub struct KERB_CLOUD_KERBEROS_DEBUG_DATA_V0 {
8583 pub _bitfield: i32,
8584}
8585impl ::core::marker::Copy for KERB_CLOUD_KERBEROS_DEBUG_DATA_V0 {}
8586impl ::core::clone::Clone for KERB_CLOUD_KERBEROS_DEBUG_DATA_V0 {
8587 fn clone(&self) -> Self {
8588 *self
8589 }
8590}
8591impl ::core::fmt::Debug for KERB_CLOUD_KERBEROS_DEBUG_DATA_V0 {
8592 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8593 f.debug_struct("KERB_CLOUD_KERBEROS_DEBUG_DATA_V0").field("_bitfield", &self._bitfield).finish()
8594 }
8595}
8596impl ::windows::core::TypeKind for KERB_CLOUD_KERBEROS_DEBUG_DATA_V0 {
8597 type TypeKind = ::windows::core::CopyType;
8598}
8599impl ::core::cmp::PartialEq for KERB_CLOUD_KERBEROS_DEBUG_DATA_V0 {
8600 fn eq(&self, other: &Self) -> bool {
8601 self._bitfield == other._bitfield
8602 }
8603}
8604impl ::core::cmp::Eq for KERB_CLOUD_KERBEROS_DEBUG_DATA_V0 {}
8605impl ::core::default::Default for KERB_CLOUD_KERBEROS_DEBUG_DATA_V0 {
8606 fn default() -> Self {
8607 unsafe { ::core::mem::zeroed() }
8608 }
8609}
8610#[repr(C)]
8611#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
8612#[cfg(feature = "Win32_Foundation")]
8613pub struct KERB_CLOUD_KERBEROS_DEBUG_REQUEST {
8614 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
8615 pub LogonId: super::super::super::Foundation::LUID,
8616}
8617#[cfg(feature = "Win32_Foundation")]
8618impl ::core::marker::Copy for KERB_CLOUD_KERBEROS_DEBUG_REQUEST {}
8619#[cfg(feature = "Win32_Foundation")]
8620impl ::core::clone::Clone for KERB_CLOUD_KERBEROS_DEBUG_REQUEST {
8621 fn clone(&self) -> Self {
8622 *self
8623 }
8624}
8625#[cfg(feature = "Win32_Foundation")]
8626impl ::core::fmt::Debug for KERB_CLOUD_KERBEROS_DEBUG_REQUEST {
8627 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8628 f.debug_struct("KERB_CLOUD_KERBEROS_DEBUG_REQUEST").field("MessageType", &self.MessageType).field("LogonId", &self.LogonId).finish()
8629 }
8630}
8631#[cfg(feature = "Win32_Foundation")]
8632impl ::windows::core::TypeKind for KERB_CLOUD_KERBEROS_DEBUG_REQUEST {
8633 type TypeKind = ::windows::core::CopyType;
8634}
8635#[cfg(feature = "Win32_Foundation")]
8636impl ::core::cmp::PartialEq for KERB_CLOUD_KERBEROS_DEBUG_REQUEST {
8637 fn eq(&self, other: &Self) -> bool {
8638 self.MessageType == other.MessageType && self.LogonId == other.LogonId
8639 }
8640}
8641#[cfg(feature = "Win32_Foundation")]
8642impl ::core::cmp::Eq for KERB_CLOUD_KERBEROS_DEBUG_REQUEST {}
8643#[cfg(feature = "Win32_Foundation")]
8644impl ::core::default::Default for KERB_CLOUD_KERBEROS_DEBUG_REQUEST {
8645 fn default() -> Self {
8646 unsafe { ::core::mem::zeroed() }
8647 }
8648}
8649#[repr(C)]
8650#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
8651pub struct KERB_CLOUD_KERBEROS_DEBUG_RESPONSE {
8652 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
8653 pub Version: u32,
8654 pub Length: u32,
8655 pub Data: [u32; 1],
8656}
8657impl ::core::marker::Copy for KERB_CLOUD_KERBEROS_DEBUG_RESPONSE {}
8658impl ::core::clone::Clone for KERB_CLOUD_KERBEROS_DEBUG_RESPONSE {
8659 fn clone(&self) -> Self {
8660 *self
8661 }
8662}
8663impl ::core::fmt::Debug for KERB_CLOUD_KERBEROS_DEBUG_RESPONSE {
8664 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8665 f.debug_struct("KERB_CLOUD_KERBEROS_DEBUG_RESPONSE").field("MessageType", &self.MessageType).field("Version", &self.Version).field("Length", &self.Length).field("Data", &self.Data).finish()
8666 }
8667}
8668impl ::windows::core::TypeKind for KERB_CLOUD_KERBEROS_DEBUG_RESPONSE {
8669 type TypeKind = ::windows::core::CopyType;
8670}
8671impl ::core::cmp::PartialEq for KERB_CLOUD_KERBEROS_DEBUG_RESPONSE {
8672 fn eq(&self, other: &Self) -> bool {
8673 self.MessageType == other.MessageType && self.Version == other.Version && self.Length == other.Length && self.Data == other.Data
8674 }
8675}
8676impl ::core::cmp::Eq for KERB_CLOUD_KERBEROS_DEBUG_RESPONSE {}
8677impl ::core::default::Default for KERB_CLOUD_KERBEROS_DEBUG_RESPONSE {
8678 fn default() -> Self {
8679 unsafe { ::core::mem::zeroed() }
8680 }
8681}
8682#[repr(C)]
8683#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
8684pub struct KERB_CRYPTO_KEY {
8685 pub KeyType: KERB_CRYPTO_KEY_TYPE,
8686 pub Length: u32,
8687 pub Value: *mut u8,
8688}
8689impl ::core::marker::Copy for KERB_CRYPTO_KEY {}
8690impl ::core::clone::Clone for KERB_CRYPTO_KEY {
8691 fn clone(&self) -> Self {
8692 *self
8693 }
8694}
8695impl ::core::fmt::Debug for KERB_CRYPTO_KEY {
8696 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8697 f.debug_struct("KERB_CRYPTO_KEY").field("KeyType", &self.KeyType).field("Length", &self.Length).field("Value", &self.Value).finish()
8698 }
8699}
8700impl ::windows::core::TypeKind for KERB_CRYPTO_KEY {
8701 type TypeKind = ::windows::core::CopyType;
8702}
8703impl ::core::cmp::PartialEq for KERB_CRYPTO_KEY {
8704 fn eq(&self, other: &Self) -> bool {
8705 self.KeyType == other.KeyType && self.Length == other.Length && self.Value == other.Value
8706 }
8707}
8708impl ::core::cmp::Eq for KERB_CRYPTO_KEY {}
8709impl ::core::default::Default for KERB_CRYPTO_KEY {
8710 fn default() -> Self {
8711 unsafe { ::core::mem::zeroed() }
8712 }
8713}
8714#[repr(C)]
8715#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
8716pub struct KERB_CRYPTO_KEY32 {
8717 pub KeyType: i32,
8718 pub Length: u32,
8719 pub Offset: u32,
8720}
8721impl ::core::marker::Copy for KERB_CRYPTO_KEY32 {}
8722impl ::core::clone::Clone for KERB_CRYPTO_KEY32 {
8723 fn clone(&self) -> Self {
8724 *self
8725 }
8726}
8727impl ::core::fmt::Debug for KERB_CRYPTO_KEY32 {
8728 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8729 f.debug_struct("KERB_CRYPTO_KEY32").field("KeyType", &self.KeyType).field("Length", &self.Length).field("Offset", &self.Offset).finish()
8730 }
8731}
8732impl ::windows::core::TypeKind for KERB_CRYPTO_KEY32 {
8733 type TypeKind = ::windows::core::CopyType;
8734}
8735impl ::core::cmp::PartialEq for KERB_CRYPTO_KEY32 {
8736 fn eq(&self, other: &Self) -> bool {
8737 self.KeyType == other.KeyType && self.Length == other.Length && self.Offset == other.Offset
8738 }
8739}
8740impl ::core::cmp::Eq for KERB_CRYPTO_KEY32 {}
8741impl ::core::default::Default for KERB_CRYPTO_KEY32 {
8742 fn default() -> Self {
8743 unsafe { ::core::mem::zeroed() }
8744 }
8745}
8746#[repr(C)]
8747#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
8748#[cfg(feature = "Win32_Foundation")]
8749pub struct KERB_DECRYPT_REQUEST {
8750 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
8751 pub LogonId: super::super::super::Foundation::LUID,
8752 pub Flags: u32,
8753 pub CryptoType: i32,
8754 pub KeyUsage: i32,
8755 pub Key: KERB_CRYPTO_KEY,
8756 pub EncryptedDataSize: u32,
8757 pub InitialVectorSize: u32,
8758 pub InitialVector: *mut u8,
8759 pub EncryptedData: *mut u8,
8760}
8761#[cfg(feature = "Win32_Foundation")]
8762impl ::core::marker::Copy for KERB_DECRYPT_REQUEST {}
8763#[cfg(feature = "Win32_Foundation")]
8764impl ::core::clone::Clone for KERB_DECRYPT_REQUEST {
8765 fn clone(&self) -> Self {
8766 *self
8767 }
8768}
8769#[cfg(feature = "Win32_Foundation")]
8770impl ::core::fmt::Debug for KERB_DECRYPT_REQUEST {
8771 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8772 f.debug_struct("KERB_DECRYPT_REQUEST").field("MessageType", &self.MessageType).field("LogonId", &self.LogonId).field("Flags", &self.Flags).field("CryptoType", &self.CryptoType).field("KeyUsage", &self.KeyUsage).field("Key", &self.Key).field("EncryptedDataSize", &self.EncryptedDataSize).field("InitialVectorSize", &self.InitialVectorSize).field("InitialVector", &self.InitialVector).field("EncryptedData", &self.EncryptedData).finish()
8773 }
8774}
8775#[cfg(feature = "Win32_Foundation")]
8776impl ::windows::core::TypeKind for KERB_DECRYPT_REQUEST {
8777 type TypeKind = ::windows::core::CopyType;
8778}
8779#[cfg(feature = "Win32_Foundation")]
8780impl ::core::cmp::PartialEq for KERB_DECRYPT_REQUEST {
8781 fn eq(&self, other: &Self) -> bool {
8782 self.MessageType == other.MessageType && self.LogonId == other.LogonId && self.Flags == other.Flags && self.CryptoType == other.CryptoType && self.KeyUsage == other.KeyUsage && self.Key == other.Key && self.EncryptedDataSize == other.EncryptedDataSize && self.InitialVectorSize == other.InitialVectorSize && self.InitialVector == other.InitialVector && self.EncryptedData == other.EncryptedData
8783 }
8784}
8785#[cfg(feature = "Win32_Foundation")]
8786impl ::core::cmp::Eq for KERB_DECRYPT_REQUEST {}
8787#[cfg(feature = "Win32_Foundation")]
8788impl ::core::default::Default for KERB_DECRYPT_REQUEST {
8789 fn default() -> Self {
8790 unsafe { ::core::mem::zeroed() }
8791 }
8792}
8793#[repr(C)]
8794#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
8795pub struct KERB_DECRYPT_RESPONSE {
8796 pub DecryptedData: [u8; 1],
8797}
8798impl ::core::marker::Copy for KERB_DECRYPT_RESPONSE {}
8799impl ::core::clone::Clone for KERB_DECRYPT_RESPONSE {
8800 fn clone(&self) -> Self {
8801 *self
8802 }
8803}
8804impl ::core::fmt::Debug for KERB_DECRYPT_RESPONSE {
8805 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8806 f.debug_struct("KERB_DECRYPT_RESPONSE").field("DecryptedData", &self.DecryptedData).finish()
8807 }
8808}
8809impl ::windows::core::TypeKind for KERB_DECRYPT_RESPONSE {
8810 type TypeKind = ::windows::core::CopyType;
8811}
8812impl ::core::cmp::PartialEq for KERB_DECRYPT_RESPONSE {
8813 fn eq(&self, other: &Self) -> bool {
8814 self.DecryptedData == other.DecryptedData
8815 }
8816}
8817impl ::core::cmp::Eq for KERB_DECRYPT_RESPONSE {}
8818impl ::core::default::Default for KERB_DECRYPT_RESPONSE {
8819 fn default() -> Self {
8820 unsafe { ::core::mem::zeroed() }
8821 }
8822}
8823#[repr(C)]
8824#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
8825#[cfg(feature = "Win32_Foundation")]
8826pub struct KERB_EXTERNAL_NAME {
8827 pub NameType: i16,
8828 pub NameCount: u16,
8829 pub Names: [super::super::super::Foundation::UNICODE_STRING; 1],
8830}
8831#[cfg(feature = "Win32_Foundation")]
8832impl ::core::marker::Copy for KERB_EXTERNAL_NAME {}
8833#[cfg(feature = "Win32_Foundation")]
8834impl ::core::clone::Clone for KERB_EXTERNAL_NAME {
8835 fn clone(&self) -> Self {
8836 *self
8837 }
8838}
8839#[cfg(feature = "Win32_Foundation")]
8840impl ::core::fmt::Debug for KERB_EXTERNAL_NAME {
8841 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8842 f.debug_struct("KERB_EXTERNAL_NAME").field("NameType", &self.NameType).field("NameCount", &self.NameCount).field("Names", &self.Names).finish()
8843 }
8844}
8845#[cfg(feature = "Win32_Foundation")]
8846impl ::windows::core::TypeKind for KERB_EXTERNAL_NAME {
8847 type TypeKind = ::windows::core::CopyType;
8848}
8849#[cfg(feature = "Win32_Foundation")]
8850impl ::core::cmp::PartialEq for KERB_EXTERNAL_NAME {
8851 fn eq(&self, other: &Self) -> bool {
8852 self.NameType == other.NameType && self.NameCount == other.NameCount && self.Names == other.Names
8853 }
8854}
8855#[cfg(feature = "Win32_Foundation")]
8856impl ::core::cmp::Eq for KERB_EXTERNAL_NAME {}
8857#[cfg(feature = "Win32_Foundation")]
8858impl ::core::default::Default for KERB_EXTERNAL_NAME {
8859 fn default() -> Self {
8860 unsafe { ::core::mem::zeroed() }
8861 }
8862}
8863#[repr(C)]
8864#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
8865#[cfg(feature = "Win32_Foundation")]
8866pub struct KERB_EXTERNAL_TICKET {
8867 pub ServiceName: *mut KERB_EXTERNAL_NAME,
8868 pub TargetName: *mut KERB_EXTERNAL_NAME,
8869 pub ClientName: *mut KERB_EXTERNAL_NAME,
8870 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
8871 pub TargetDomainName: super::super::super::Foundation::UNICODE_STRING,
8872 pub AltTargetDomainName: super::super::super::Foundation::UNICODE_STRING,
8873 pub SessionKey: KERB_CRYPTO_KEY,
8874 pub TicketFlags: KERB_TICKET_FLAGS,
8875 pub Flags: u32,
8876 pub KeyExpirationTime: i64,
8877 pub StartTime: i64,
8878 pub EndTime: i64,
8879 pub RenewUntil: i64,
8880 pub TimeSkew: i64,
8881 pub EncodedTicketSize: u32,
8882 pub EncodedTicket: *mut u8,
8883}
8884#[cfg(feature = "Win32_Foundation")]
8885impl ::core::marker::Copy for KERB_EXTERNAL_TICKET {}
8886#[cfg(feature = "Win32_Foundation")]
8887impl ::core::clone::Clone for KERB_EXTERNAL_TICKET {
8888 fn clone(&self) -> Self {
8889 *self
8890 }
8891}
8892#[cfg(feature = "Win32_Foundation")]
8893impl ::core::fmt::Debug for KERB_EXTERNAL_TICKET {
8894 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8895 f.debug_struct("KERB_EXTERNAL_TICKET")
8896 .field("ServiceName", &self.ServiceName)
8897 .field("TargetName", &self.TargetName)
8898 .field("ClientName", &self.ClientName)
8899 .field("DomainName", &self.DomainName)
8900 .field("TargetDomainName", &self.TargetDomainName)
8901 .field("AltTargetDomainName", &self.AltTargetDomainName)
8902 .field("SessionKey", &self.SessionKey)
8903 .field("TicketFlags", &self.TicketFlags)
8904 .field("Flags", &self.Flags)
8905 .field("KeyExpirationTime", &self.KeyExpirationTime)
8906 .field("StartTime", &self.StartTime)
8907 .field("EndTime", &self.EndTime)
8908 .field("RenewUntil", &self.RenewUntil)
8909 .field("TimeSkew", &self.TimeSkew)
8910 .field("EncodedTicketSize", &self.EncodedTicketSize)
8911 .field("EncodedTicket", &self.EncodedTicket)
8912 .finish()
8913 }
8914}
8915#[cfg(feature = "Win32_Foundation")]
8916impl ::windows::core::TypeKind for KERB_EXTERNAL_TICKET {
8917 type TypeKind = ::windows::core::CopyType;
8918}
8919#[cfg(feature = "Win32_Foundation")]
8920impl ::core::cmp::PartialEq for KERB_EXTERNAL_TICKET {
8921 fn eq(&self, other: &Self) -> bool {
8922 self.ServiceName == other.ServiceName && self.TargetName == other.TargetName && self.ClientName == other.ClientName && self.DomainName == other.DomainName && self.TargetDomainName == other.TargetDomainName && self.AltTargetDomainName == other.AltTargetDomainName && self.SessionKey == other.SessionKey && self.TicketFlags == other.TicketFlags && self.Flags == other.Flags && self.KeyExpirationTime == other.KeyExpirationTime && self.StartTime == other.StartTime && self.EndTime == other.EndTime && self.RenewUntil == other.RenewUntil && self.TimeSkew == other.TimeSkew && self.EncodedTicketSize == other.EncodedTicketSize && self.EncodedTicket == other.EncodedTicket
8923 }
8924}
8925#[cfg(feature = "Win32_Foundation")]
8926impl ::core::cmp::Eq for KERB_EXTERNAL_TICKET {}
8927#[cfg(feature = "Win32_Foundation")]
8928impl ::core::default::Default for KERB_EXTERNAL_TICKET {
8929 fn default() -> Self {
8930 unsafe { ::core::mem::zeroed() }
8931 }
8932}
8933#[repr(C)]
8934#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
8935#[cfg(feature = "Win32_Foundation")]
8936pub struct KERB_INTERACTIVE_LOGON {
8937 pub MessageType: KERB_LOGON_SUBMIT_TYPE,
8938 pub LogonDomainName: super::super::super::Foundation::UNICODE_STRING,
8939 pub UserName: super::super::super::Foundation::UNICODE_STRING,
8940 pub Password: super::super::super::Foundation::UNICODE_STRING,
8941}
8942#[cfg(feature = "Win32_Foundation")]
8943impl ::core::marker::Copy for KERB_INTERACTIVE_LOGON {}
8944#[cfg(feature = "Win32_Foundation")]
8945impl ::core::clone::Clone for KERB_INTERACTIVE_LOGON {
8946 fn clone(&self) -> Self {
8947 *self
8948 }
8949}
8950#[cfg(feature = "Win32_Foundation")]
8951impl ::core::fmt::Debug for KERB_INTERACTIVE_LOGON {
8952 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8953 f.debug_struct("KERB_INTERACTIVE_LOGON").field("MessageType", &self.MessageType).field("LogonDomainName", &self.LogonDomainName).field("UserName", &self.UserName).field("Password", &self.Password).finish()
8954 }
8955}
8956#[cfg(feature = "Win32_Foundation")]
8957impl ::windows::core::TypeKind for KERB_INTERACTIVE_LOGON {
8958 type TypeKind = ::windows::core::CopyType;
8959}
8960#[cfg(feature = "Win32_Foundation")]
8961impl ::core::cmp::PartialEq for KERB_INTERACTIVE_LOGON {
8962 fn eq(&self, other: &Self) -> bool {
8963 self.MessageType == other.MessageType && self.LogonDomainName == other.LogonDomainName && self.UserName == other.UserName && self.Password == other.Password
8964 }
8965}
8966#[cfg(feature = "Win32_Foundation")]
8967impl ::core::cmp::Eq for KERB_INTERACTIVE_LOGON {}
8968#[cfg(feature = "Win32_Foundation")]
8969impl ::core::default::Default for KERB_INTERACTIVE_LOGON {
8970 fn default() -> Self {
8971 unsafe { ::core::mem::zeroed() }
8972 }
8973}
8974#[repr(C)]
8975#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
8976#[cfg(feature = "Win32_Foundation")]
8977pub struct KERB_INTERACTIVE_PROFILE {
8978 pub MessageType: KERB_PROFILE_BUFFER_TYPE,
8979 pub LogonCount: u16,
8980 pub BadPasswordCount: u16,
8981 pub LogonTime: i64,
8982 pub LogoffTime: i64,
8983 pub KickOffTime: i64,
8984 pub PasswordLastSet: i64,
8985 pub PasswordCanChange: i64,
8986 pub PasswordMustChange: i64,
8987 pub LogonScript: super::super::super::Foundation::UNICODE_STRING,
8988 pub HomeDirectory: super::super::super::Foundation::UNICODE_STRING,
8989 pub FullName: super::super::super::Foundation::UNICODE_STRING,
8990 pub ProfilePath: super::super::super::Foundation::UNICODE_STRING,
8991 pub HomeDirectoryDrive: super::super::super::Foundation::UNICODE_STRING,
8992 pub LogonServer: super::super::super::Foundation::UNICODE_STRING,
8993 pub UserFlags: u32,
8994}
8995#[cfg(feature = "Win32_Foundation")]
8996impl ::core::marker::Copy for KERB_INTERACTIVE_PROFILE {}
8997#[cfg(feature = "Win32_Foundation")]
8998impl ::core::clone::Clone for KERB_INTERACTIVE_PROFILE {
8999 fn clone(&self) -> Self {
9000 *self
9001 }
9002}
9003#[cfg(feature = "Win32_Foundation")]
9004impl ::core::fmt::Debug for KERB_INTERACTIVE_PROFILE {
9005 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9006 f.debug_struct("KERB_INTERACTIVE_PROFILE")
9007 .field("MessageType", &self.MessageType)
9008 .field("LogonCount", &self.LogonCount)
9009 .field("BadPasswordCount", &self.BadPasswordCount)
9010 .field("LogonTime", &self.LogonTime)
9011 .field("LogoffTime", &self.LogoffTime)
9012 .field("KickOffTime", &self.KickOffTime)
9013 .field("PasswordLastSet", &self.PasswordLastSet)
9014 .field("PasswordCanChange", &self.PasswordCanChange)
9015 .field("PasswordMustChange", &self.PasswordMustChange)
9016 .field("LogonScript", &self.LogonScript)
9017 .field("HomeDirectory", &self.HomeDirectory)
9018 .field("FullName", &self.FullName)
9019 .field("ProfilePath", &self.ProfilePath)
9020 .field("HomeDirectoryDrive", &self.HomeDirectoryDrive)
9021 .field("LogonServer", &self.LogonServer)
9022 .field("UserFlags", &self.UserFlags)
9023 .finish()
9024 }
9025}
9026#[cfg(feature = "Win32_Foundation")]
9027impl ::windows::core::TypeKind for KERB_INTERACTIVE_PROFILE {
9028 type TypeKind = ::windows::core::CopyType;
9029}
9030#[cfg(feature = "Win32_Foundation")]
9031impl ::core::cmp::PartialEq for KERB_INTERACTIVE_PROFILE {
9032 fn eq(&self, other: &Self) -> bool {
9033 self.MessageType == other.MessageType && self.LogonCount == other.LogonCount && self.BadPasswordCount == other.BadPasswordCount && self.LogonTime == other.LogonTime && self.LogoffTime == other.LogoffTime && self.KickOffTime == other.KickOffTime && self.PasswordLastSet == other.PasswordLastSet && self.PasswordCanChange == other.PasswordCanChange && self.PasswordMustChange == other.PasswordMustChange && self.LogonScript == other.LogonScript && self.HomeDirectory == other.HomeDirectory && self.FullName == other.FullName && self.ProfilePath == other.ProfilePath && self.HomeDirectoryDrive == other.HomeDirectoryDrive && self.LogonServer == other.LogonServer && self.UserFlags == other.UserFlags
9034 }
9035}
9036#[cfg(feature = "Win32_Foundation")]
9037impl ::core::cmp::Eq for KERB_INTERACTIVE_PROFILE {}
9038#[cfg(feature = "Win32_Foundation")]
9039impl ::core::default::Default for KERB_INTERACTIVE_PROFILE {
9040 fn default() -> Self {
9041 unsafe { ::core::mem::zeroed() }
9042 }
9043}
9044#[repr(C)]
9045#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
9046#[cfg(feature = "Win32_Foundation")]
9047pub struct KERB_INTERACTIVE_UNLOCK_LOGON {
9048 pub Logon: KERB_INTERACTIVE_LOGON,
9049 pub LogonId: super::super::super::Foundation::LUID,
9050}
9051#[cfg(feature = "Win32_Foundation")]
9052impl ::core::marker::Copy for KERB_INTERACTIVE_UNLOCK_LOGON {}
9053#[cfg(feature = "Win32_Foundation")]
9054impl ::core::clone::Clone for KERB_INTERACTIVE_UNLOCK_LOGON {
9055 fn clone(&self) -> Self {
9056 *self
9057 }
9058}
9059#[cfg(feature = "Win32_Foundation")]
9060impl ::core::fmt::Debug for KERB_INTERACTIVE_UNLOCK_LOGON {
9061 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9062 f.debug_struct("KERB_INTERACTIVE_UNLOCK_LOGON").field("Logon", &self.Logon).field("LogonId", &self.LogonId).finish()
9063 }
9064}
9065#[cfg(feature = "Win32_Foundation")]
9066impl ::windows::core::TypeKind for KERB_INTERACTIVE_UNLOCK_LOGON {
9067 type TypeKind = ::windows::core::CopyType;
9068}
9069#[cfg(feature = "Win32_Foundation")]
9070impl ::core::cmp::PartialEq for KERB_INTERACTIVE_UNLOCK_LOGON {
9071 fn eq(&self, other: &Self) -> bool {
9072 self.Logon == other.Logon && self.LogonId == other.LogonId
9073 }
9074}
9075#[cfg(feature = "Win32_Foundation")]
9076impl ::core::cmp::Eq for KERB_INTERACTIVE_UNLOCK_LOGON {}
9077#[cfg(feature = "Win32_Foundation")]
9078impl ::core::default::Default for KERB_INTERACTIVE_UNLOCK_LOGON {
9079 fn default() -> Self {
9080 unsafe { ::core::mem::zeroed() }
9081 }
9082}
9083#[repr(C)]
9084#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
9085pub struct KERB_NET_ADDRESS {
9086 pub Family: u32,
9087 pub Length: u32,
9088 pub Address: ::windows::core::PSTR,
9089}
9090impl ::core::marker::Copy for KERB_NET_ADDRESS {}
9091impl ::core::clone::Clone for KERB_NET_ADDRESS {
9092 fn clone(&self) -> Self {
9093 *self
9094 }
9095}
9096impl ::core::fmt::Debug for KERB_NET_ADDRESS {
9097 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9098 f.debug_struct("KERB_NET_ADDRESS").field("Family", &self.Family).field("Length", &self.Length).field("Address", &self.Address).finish()
9099 }
9100}
9101impl ::windows::core::TypeKind for KERB_NET_ADDRESS {
9102 type TypeKind = ::windows::core::CopyType;
9103}
9104impl ::core::cmp::PartialEq for KERB_NET_ADDRESS {
9105 fn eq(&self, other: &Self) -> bool {
9106 self.Family == other.Family && self.Length == other.Length && self.Address == other.Address
9107 }
9108}
9109impl ::core::cmp::Eq for KERB_NET_ADDRESS {}
9110impl ::core::default::Default for KERB_NET_ADDRESS {
9111 fn default() -> Self {
9112 unsafe { ::core::mem::zeroed() }
9113 }
9114}
9115#[repr(C)]
9116#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
9117pub struct KERB_NET_ADDRESSES {
9118 pub Number: u32,
9119 pub Addresses: [KERB_NET_ADDRESS; 1],
9120}
9121impl ::core::marker::Copy for KERB_NET_ADDRESSES {}
9122impl ::core::clone::Clone for KERB_NET_ADDRESSES {
9123 fn clone(&self) -> Self {
9124 *self
9125 }
9126}
9127impl ::core::fmt::Debug for KERB_NET_ADDRESSES {
9128 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9129 f.debug_struct("KERB_NET_ADDRESSES").field("Number", &self.Number).field("Addresses", &self.Addresses).finish()
9130 }
9131}
9132impl ::windows::core::TypeKind for KERB_NET_ADDRESSES {
9133 type TypeKind = ::windows::core::CopyType;
9134}
9135impl ::core::cmp::PartialEq for KERB_NET_ADDRESSES {
9136 fn eq(&self, other: &Self) -> bool {
9137 self.Number == other.Number && self.Addresses == other.Addresses
9138 }
9139}
9140impl ::core::cmp::Eq for KERB_NET_ADDRESSES {}
9141impl ::core::default::Default for KERB_NET_ADDRESSES {
9142 fn default() -> Self {
9143 unsafe { ::core::mem::zeroed() }
9144 }
9145}
9146#[repr(C)]
9147#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
9148pub struct KERB_PURGE_BINDING_CACHE_REQUEST {
9149 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9150}
9151impl ::core::marker::Copy for KERB_PURGE_BINDING_CACHE_REQUEST {}
9152impl ::core::clone::Clone for KERB_PURGE_BINDING_CACHE_REQUEST {
9153 fn clone(&self) -> Self {
9154 *self
9155 }
9156}
9157impl ::core::fmt::Debug for KERB_PURGE_BINDING_CACHE_REQUEST {
9158 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9159 f.debug_struct("KERB_PURGE_BINDING_CACHE_REQUEST").field("MessageType", &self.MessageType).finish()
9160 }
9161}
9162impl ::windows::core::TypeKind for KERB_PURGE_BINDING_CACHE_REQUEST {
9163 type TypeKind = ::windows::core::CopyType;
9164}
9165impl ::core::cmp::PartialEq for KERB_PURGE_BINDING_CACHE_REQUEST {
9166 fn eq(&self, other: &Self) -> bool {
9167 self.MessageType == other.MessageType
9168 }
9169}
9170impl ::core::cmp::Eq for KERB_PURGE_BINDING_CACHE_REQUEST {}
9171impl ::core::default::Default for KERB_PURGE_BINDING_CACHE_REQUEST {
9172 fn default() -> Self {
9173 unsafe { ::core::mem::zeroed() }
9174 }
9175}
9176#[repr(C)]
9177#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
9178#[cfg(feature = "Win32_Foundation")]
9179pub struct KERB_PURGE_KDC_PROXY_CACHE_REQUEST {
9180 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9181 pub Flags: u32,
9182 pub LogonId: super::super::super::Foundation::LUID,
9183}
9184#[cfg(feature = "Win32_Foundation")]
9185impl ::core::marker::Copy for KERB_PURGE_KDC_PROXY_CACHE_REQUEST {}
9186#[cfg(feature = "Win32_Foundation")]
9187impl ::core::clone::Clone for KERB_PURGE_KDC_PROXY_CACHE_REQUEST {
9188 fn clone(&self) -> Self {
9189 *self
9190 }
9191}
9192#[cfg(feature = "Win32_Foundation")]
9193impl ::core::fmt::Debug for KERB_PURGE_KDC_PROXY_CACHE_REQUEST {
9194 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9195 f.debug_struct("KERB_PURGE_KDC_PROXY_CACHE_REQUEST").field("MessageType", &self.MessageType).field("Flags", &self.Flags).field("LogonId", &self.LogonId).finish()
9196 }
9197}
9198#[cfg(feature = "Win32_Foundation")]
9199impl ::windows::core::TypeKind for KERB_PURGE_KDC_PROXY_CACHE_REQUEST {
9200 type TypeKind = ::windows::core::CopyType;
9201}
9202#[cfg(feature = "Win32_Foundation")]
9203impl ::core::cmp::PartialEq for KERB_PURGE_KDC_PROXY_CACHE_REQUEST {
9204 fn eq(&self, other: &Self) -> bool {
9205 self.MessageType == other.MessageType && self.Flags == other.Flags && self.LogonId == other.LogonId
9206 }
9207}
9208#[cfg(feature = "Win32_Foundation")]
9209impl ::core::cmp::Eq for KERB_PURGE_KDC_PROXY_CACHE_REQUEST {}
9210#[cfg(feature = "Win32_Foundation")]
9211impl ::core::default::Default for KERB_PURGE_KDC_PROXY_CACHE_REQUEST {
9212 fn default() -> Self {
9213 unsafe { ::core::mem::zeroed() }
9214 }
9215}
9216#[repr(C)]
9217#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
9218pub struct KERB_PURGE_KDC_PROXY_CACHE_RESPONSE {
9219 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9220 pub CountOfPurged: u32,
9221}
9222impl ::core::marker::Copy for KERB_PURGE_KDC_PROXY_CACHE_RESPONSE {}
9223impl ::core::clone::Clone for KERB_PURGE_KDC_PROXY_CACHE_RESPONSE {
9224 fn clone(&self) -> Self {
9225 *self
9226 }
9227}
9228impl ::core::fmt::Debug for KERB_PURGE_KDC_PROXY_CACHE_RESPONSE {
9229 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9230 f.debug_struct("KERB_PURGE_KDC_PROXY_CACHE_RESPONSE").field("MessageType", &self.MessageType).field("CountOfPurged", &self.CountOfPurged).finish()
9231 }
9232}
9233impl ::windows::core::TypeKind for KERB_PURGE_KDC_PROXY_CACHE_RESPONSE {
9234 type TypeKind = ::windows::core::CopyType;
9235}
9236impl ::core::cmp::PartialEq for KERB_PURGE_KDC_PROXY_CACHE_RESPONSE {
9237 fn eq(&self, other: &Self) -> bool {
9238 self.MessageType == other.MessageType && self.CountOfPurged == other.CountOfPurged
9239 }
9240}
9241impl ::core::cmp::Eq for KERB_PURGE_KDC_PROXY_CACHE_RESPONSE {}
9242impl ::core::default::Default for KERB_PURGE_KDC_PROXY_CACHE_RESPONSE {
9243 fn default() -> Self {
9244 unsafe { ::core::mem::zeroed() }
9245 }
9246}
9247#[repr(C)]
9248#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
9249#[cfg(feature = "Win32_Foundation")]
9250pub struct KERB_PURGE_TKT_CACHE_EX_REQUEST {
9251 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9252 pub LogonId: super::super::super::Foundation::LUID,
9253 pub Flags: u32,
9254 pub TicketTemplate: KERB_TICKET_CACHE_INFO_EX,
9255}
9256#[cfg(feature = "Win32_Foundation")]
9257impl ::core::marker::Copy for KERB_PURGE_TKT_CACHE_EX_REQUEST {}
9258#[cfg(feature = "Win32_Foundation")]
9259impl ::core::clone::Clone for KERB_PURGE_TKT_CACHE_EX_REQUEST {
9260 fn clone(&self) -> Self {
9261 *self
9262 }
9263}
9264#[cfg(feature = "Win32_Foundation")]
9265impl ::core::fmt::Debug for KERB_PURGE_TKT_CACHE_EX_REQUEST {
9266 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9267 f.debug_struct("KERB_PURGE_TKT_CACHE_EX_REQUEST").field("MessageType", &self.MessageType).field("LogonId", &self.LogonId).field("Flags", &self.Flags).field("TicketTemplate", &self.TicketTemplate).finish()
9268 }
9269}
9270#[cfg(feature = "Win32_Foundation")]
9271impl ::windows::core::TypeKind for KERB_PURGE_TKT_CACHE_EX_REQUEST {
9272 type TypeKind = ::windows::core::CopyType;
9273}
9274#[cfg(feature = "Win32_Foundation")]
9275impl ::core::cmp::PartialEq for KERB_PURGE_TKT_CACHE_EX_REQUEST {
9276 fn eq(&self, other: &Self) -> bool {
9277 self.MessageType == other.MessageType && self.LogonId == other.LogonId && self.Flags == other.Flags && self.TicketTemplate == other.TicketTemplate
9278 }
9279}
9280#[cfg(feature = "Win32_Foundation")]
9281impl ::core::cmp::Eq for KERB_PURGE_TKT_CACHE_EX_REQUEST {}
9282#[cfg(feature = "Win32_Foundation")]
9283impl ::core::default::Default for KERB_PURGE_TKT_CACHE_EX_REQUEST {
9284 fn default() -> Self {
9285 unsafe { ::core::mem::zeroed() }
9286 }
9287}
9288#[repr(C)]
9289#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
9290#[cfg(feature = "Win32_Foundation")]
9291pub struct KERB_PURGE_TKT_CACHE_REQUEST {
9292 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9293 pub LogonId: super::super::super::Foundation::LUID,
9294 pub ServerName: super::super::super::Foundation::UNICODE_STRING,
9295 pub RealmName: super::super::super::Foundation::UNICODE_STRING,
9296}
9297#[cfg(feature = "Win32_Foundation")]
9298impl ::core::marker::Copy for KERB_PURGE_TKT_CACHE_REQUEST {}
9299#[cfg(feature = "Win32_Foundation")]
9300impl ::core::clone::Clone for KERB_PURGE_TKT_CACHE_REQUEST {
9301 fn clone(&self) -> Self {
9302 *self
9303 }
9304}
9305#[cfg(feature = "Win32_Foundation")]
9306impl ::core::fmt::Debug for KERB_PURGE_TKT_CACHE_REQUEST {
9307 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9308 f.debug_struct("KERB_PURGE_TKT_CACHE_REQUEST").field("MessageType", &self.MessageType).field("LogonId", &self.LogonId).field("ServerName", &self.ServerName).field("RealmName", &self.RealmName).finish()
9309 }
9310}
9311#[cfg(feature = "Win32_Foundation")]
9312impl ::windows::core::TypeKind for KERB_PURGE_TKT_CACHE_REQUEST {
9313 type TypeKind = ::windows::core::CopyType;
9314}
9315#[cfg(feature = "Win32_Foundation")]
9316impl ::core::cmp::PartialEq for KERB_PURGE_TKT_CACHE_REQUEST {
9317 fn eq(&self, other: &Self) -> bool {
9318 self.MessageType == other.MessageType && self.LogonId == other.LogonId && self.ServerName == other.ServerName && self.RealmName == other.RealmName
9319 }
9320}
9321#[cfg(feature = "Win32_Foundation")]
9322impl ::core::cmp::Eq for KERB_PURGE_TKT_CACHE_REQUEST {}
9323#[cfg(feature = "Win32_Foundation")]
9324impl ::core::default::Default for KERB_PURGE_TKT_CACHE_REQUEST {
9325 fn default() -> Self {
9326 unsafe { ::core::mem::zeroed() }
9327 }
9328}
9329#[repr(C)]
9330#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
9331pub struct KERB_QUERY_BINDING_CACHE_REQUEST {
9332 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9333}
9334impl ::core::marker::Copy for KERB_QUERY_BINDING_CACHE_REQUEST {}
9335impl ::core::clone::Clone for KERB_QUERY_BINDING_CACHE_REQUEST {
9336 fn clone(&self) -> Self {
9337 *self
9338 }
9339}
9340impl ::core::fmt::Debug for KERB_QUERY_BINDING_CACHE_REQUEST {
9341 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9342 f.debug_struct("KERB_QUERY_BINDING_CACHE_REQUEST").field("MessageType", &self.MessageType).finish()
9343 }
9344}
9345impl ::windows::core::TypeKind for KERB_QUERY_BINDING_CACHE_REQUEST {
9346 type TypeKind = ::windows::core::CopyType;
9347}
9348impl ::core::cmp::PartialEq for KERB_QUERY_BINDING_CACHE_REQUEST {
9349 fn eq(&self, other: &Self) -> bool {
9350 self.MessageType == other.MessageType
9351 }
9352}
9353impl ::core::cmp::Eq for KERB_QUERY_BINDING_CACHE_REQUEST {}
9354impl ::core::default::Default for KERB_QUERY_BINDING_CACHE_REQUEST {
9355 fn default() -> Self {
9356 unsafe { ::core::mem::zeroed() }
9357 }
9358}
9359#[repr(C)]
9360#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
9361#[cfg(feature = "Win32_Foundation")]
9362pub struct KERB_QUERY_BINDING_CACHE_RESPONSE {
9363 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9364 pub CountOfEntries: u32,
9365 pub Entries: *mut KERB_BINDING_CACHE_ENTRY_DATA,
9366}
9367#[cfg(feature = "Win32_Foundation")]
9368impl ::core::marker::Copy for KERB_QUERY_BINDING_CACHE_RESPONSE {}
9369#[cfg(feature = "Win32_Foundation")]
9370impl ::core::clone::Clone for KERB_QUERY_BINDING_CACHE_RESPONSE {
9371 fn clone(&self) -> Self {
9372 *self
9373 }
9374}
9375#[cfg(feature = "Win32_Foundation")]
9376impl ::core::fmt::Debug for KERB_QUERY_BINDING_CACHE_RESPONSE {
9377 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9378 f.debug_struct("KERB_QUERY_BINDING_CACHE_RESPONSE").field("MessageType", &self.MessageType).field("CountOfEntries", &self.CountOfEntries).field("Entries", &self.Entries).finish()
9379 }
9380}
9381#[cfg(feature = "Win32_Foundation")]
9382impl ::windows::core::TypeKind for KERB_QUERY_BINDING_CACHE_RESPONSE {
9383 type TypeKind = ::windows::core::CopyType;
9384}
9385#[cfg(feature = "Win32_Foundation")]
9386impl ::core::cmp::PartialEq for KERB_QUERY_BINDING_CACHE_RESPONSE {
9387 fn eq(&self, other: &Self) -> bool {
9388 self.MessageType == other.MessageType && self.CountOfEntries == other.CountOfEntries && self.Entries == other.Entries
9389 }
9390}
9391#[cfg(feature = "Win32_Foundation")]
9392impl ::core::cmp::Eq for KERB_QUERY_BINDING_CACHE_RESPONSE {}
9393#[cfg(feature = "Win32_Foundation")]
9394impl ::core::default::Default for KERB_QUERY_BINDING_CACHE_RESPONSE {
9395 fn default() -> Self {
9396 unsafe { ::core::mem::zeroed() }
9397 }
9398}
9399#[repr(C)]
9400#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
9401#[cfg(feature = "Win32_Foundation")]
9402pub struct KERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST {
9403 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9404 pub Flags: u32,
9405 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
9406}
9407#[cfg(feature = "Win32_Foundation")]
9408impl ::core::marker::Copy for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST {}
9409#[cfg(feature = "Win32_Foundation")]
9410impl ::core::clone::Clone for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST {
9411 fn clone(&self) -> Self {
9412 *self
9413 }
9414}
9415#[cfg(feature = "Win32_Foundation")]
9416impl ::core::fmt::Debug for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST {
9417 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9418 f.debug_struct("KERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST").field("MessageType", &self.MessageType).field("Flags", &self.Flags).field("DomainName", &self.DomainName).finish()
9419 }
9420}
9421#[cfg(feature = "Win32_Foundation")]
9422impl ::windows::core::TypeKind for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST {
9423 type TypeKind = ::windows::core::CopyType;
9424}
9425#[cfg(feature = "Win32_Foundation")]
9426impl ::core::cmp::PartialEq for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST {
9427 fn eq(&self, other: &Self) -> bool {
9428 self.MessageType == other.MessageType && self.Flags == other.Flags && self.DomainName == other.DomainName
9429 }
9430}
9431#[cfg(feature = "Win32_Foundation")]
9432impl ::core::cmp::Eq for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST {}
9433#[cfg(feature = "Win32_Foundation")]
9434impl ::core::default::Default for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST {
9435 fn default() -> Self {
9436 unsafe { ::core::mem::zeroed() }
9437 }
9438}
9439#[repr(C)]
9440#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
9441pub struct KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE {
9442 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9443 pub Flags: u32,
9444 pub ExtendedPolicies: u32,
9445 pub DsFlags: u32,
9446}
9447impl ::core::marker::Copy for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE {}
9448impl ::core::clone::Clone for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE {
9449 fn clone(&self) -> Self {
9450 *self
9451 }
9452}
9453impl ::core::fmt::Debug for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE {
9454 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9455 f.debug_struct("KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE").field("MessageType", &self.MessageType).field("Flags", &self.Flags).field("ExtendedPolicies", &self.ExtendedPolicies).field("DsFlags", &self.DsFlags).finish()
9456 }
9457}
9458impl ::windows::core::TypeKind for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE {
9459 type TypeKind = ::windows::core::CopyType;
9460}
9461impl ::core::cmp::PartialEq for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE {
9462 fn eq(&self, other: &Self) -> bool {
9463 self.MessageType == other.MessageType && self.Flags == other.Flags && self.ExtendedPolicies == other.ExtendedPolicies && self.DsFlags == other.DsFlags
9464 }
9465}
9466impl ::core::cmp::Eq for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE {}
9467impl ::core::default::Default for KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE {
9468 fn default() -> Self {
9469 unsafe { ::core::mem::zeroed() }
9470 }
9471}
9472#[repr(C)]
9473#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
9474#[cfg(feature = "Win32_Foundation")]
9475pub struct KERB_QUERY_KDC_PROXY_CACHE_REQUEST {
9476 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9477 pub Flags: u32,
9478 pub LogonId: super::super::super::Foundation::LUID,
9479}
9480#[cfg(feature = "Win32_Foundation")]
9481impl ::core::marker::Copy for KERB_QUERY_KDC_PROXY_CACHE_REQUEST {}
9482#[cfg(feature = "Win32_Foundation")]
9483impl ::core::clone::Clone for KERB_QUERY_KDC_PROXY_CACHE_REQUEST {
9484 fn clone(&self) -> Self {
9485 *self
9486 }
9487}
9488#[cfg(feature = "Win32_Foundation")]
9489impl ::core::fmt::Debug for KERB_QUERY_KDC_PROXY_CACHE_REQUEST {
9490 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9491 f.debug_struct("KERB_QUERY_KDC_PROXY_CACHE_REQUEST").field("MessageType", &self.MessageType).field("Flags", &self.Flags).field("LogonId", &self.LogonId).finish()
9492 }
9493}
9494#[cfg(feature = "Win32_Foundation")]
9495impl ::windows::core::TypeKind for KERB_QUERY_KDC_PROXY_CACHE_REQUEST {
9496 type TypeKind = ::windows::core::CopyType;
9497}
9498#[cfg(feature = "Win32_Foundation")]
9499impl ::core::cmp::PartialEq for KERB_QUERY_KDC_PROXY_CACHE_REQUEST {
9500 fn eq(&self, other: &Self) -> bool {
9501 self.MessageType == other.MessageType && self.Flags == other.Flags && self.LogonId == other.LogonId
9502 }
9503}
9504#[cfg(feature = "Win32_Foundation")]
9505impl ::core::cmp::Eq for KERB_QUERY_KDC_PROXY_CACHE_REQUEST {}
9506#[cfg(feature = "Win32_Foundation")]
9507impl ::core::default::Default for KERB_QUERY_KDC_PROXY_CACHE_REQUEST {
9508 fn default() -> Self {
9509 unsafe { ::core::mem::zeroed() }
9510 }
9511}
9512#[repr(C)]
9513#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
9514#[cfg(feature = "Win32_Foundation")]
9515pub struct KERB_QUERY_KDC_PROXY_CACHE_RESPONSE {
9516 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9517 pub CountOfEntries: u32,
9518 pub Entries: *mut KDC_PROXY_CACHE_ENTRY_DATA,
9519}
9520#[cfg(feature = "Win32_Foundation")]
9521impl ::core::marker::Copy for KERB_QUERY_KDC_PROXY_CACHE_RESPONSE {}
9522#[cfg(feature = "Win32_Foundation")]
9523impl ::core::clone::Clone for KERB_QUERY_KDC_PROXY_CACHE_RESPONSE {
9524 fn clone(&self) -> Self {
9525 *self
9526 }
9527}
9528#[cfg(feature = "Win32_Foundation")]
9529impl ::core::fmt::Debug for KERB_QUERY_KDC_PROXY_CACHE_RESPONSE {
9530 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9531 f.debug_struct("KERB_QUERY_KDC_PROXY_CACHE_RESPONSE").field("MessageType", &self.MessageType).field("CountOfEntries", &self.CountOfEntries).field("Entries", &self.Entries).finish()
9532 }
9533}
9534#[cfg(feature = "Win32_Foundation")]
9535impl ::windows::core::TypeKind for KERB_QUERY_KDC_PROXY_CACHE_RESPONSE {
9536 type TypeKind = ::windows::core::CopyType;
9537}
9538#[cfg(feature = "Win32_Foundation")]
9539impl ::core::cmp::PartialEq for KERB_QUERY_KDC_PROXY_CACHE_RESPONSE {
9540 fn eq(&self, other: &Self) -> bool {
9541 self.MessageType == other.MessageType && self.CountOfEntries == other.CountOfEntries && self.Entries == other.Entries
9542 }
9543}
9544#[cfg(feature = "Win32_Foundation")]
9545impl ::core::cmp::Eq for KERB_QUERY_KDC_PROXY_CACHE_RESPONSE {}
9546#[cfg(feature = "Win32_Foundation")]
9547impl ::core::default::Default for KERB_QUERY_KDC_PROXY_CACHE_RESPONSE {
9548 fn default() -> Self {
9549 unsafe { ::core::mem::zeroed() }
9550 }
9551}
9552#[repr(C)]
9553#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
9554#[cfg(feature = "Win32_Foundation")]
9555pub struct KERB_QUERY_S4U2PROXY_CACHE_REQUEST {
9556 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9557 pub Flags: u32,
9558 pub LogonId: super::super::super::Foundation::LUID,
9559}
9560#[cfg(feature = "Win32_Foundation")]
9561impl ::core::marker::Copy for KERB_QUERY_S4U2PROXY_CACHE_REQUEST {}
9562#[cfg(feature = "Win32_Foundation")]
9563impl ::core::clone::Clone for KERB_QUERY_S4U2PROXY_CACHE_REQUEST {
9564 fn clone(&self) -> Self {
9565 *self
9566 }
9567}
9568#[cfg(feature = "Win32_Foundation")]
9569impl ::core::fmt::Debug for KERB_QUERY_S4U2PROXY_CACHE_REQUEST {
9570 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9571 f.debug_struct("KERB_QUERY_S4U2PROXY_CACHE_REQUEST").field("MessageType", &self.MessageType).field("Flags", &self.Flags).field("LogonId", &self.LogonId).finish()
9572 }
9573}
9574#[cfg(feature = "Win32_Foundation")]
9575impl ::windows::core::TypeKind for KERB_QUERY_S4U2PROXY_CACHE_REQUEST {
9576 type TypeKind = ::windows::core::CopyType;
9577}
9578#[cfg(feature = "Win32_Foundation")]
9579impl ::core::cmp::PartialEq for KERB_QUERY_S4U2PROXY_CACHE_REQUEST {
9580 fn eq(&self, other: &Self) -> bool {
9581 self.MessageType == other.MessageType && self.Flags == other.Flags && self.LogonId == other.LogonId
9582 }
9583}
9584#[cfg(feature = "Win32_Foundation")]
9585impl ::core::cmp::Eq for KERB_QUERY_S4U2PROXY_CACHE_REQUEST {}
9586#[cfg(feature = "Win32_Foundation")]
9587impl ::core::default::Default for KERB_QUERY_S4U2PROXY_CACHE_REQUEST {
9588 fn default() -> Self {
9589 unsafe { ::core::mem::zeroed() }
9590 }
9591}
9592#[repr(C)]
9593#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
9594#[cfg(feature = "Win32_Foundation")]
9595pub struct KERB_QUERY_S4U2PROXY_CACHE_RESPONSE {
9596 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9597 pub CountOfCreds: u32,
9598 pub Creds: *mut KERB_S4U2PROXY_CRED,
9599}
9600#[cfg(feature = "Win32_Foundation")]
9601impl ::core::marker::Copy for KERB_QUERY_S4U2PROXY_CACHE_RESPONSE {}
9602#[cfg(feature = "Win32_Foundation")]
9603impl ::core::clone::Clone for KERB_QUERY_S4U2PROXY_CACHE_RESPONSE {
9604 fn clone(&self) -> Self {
9605 *self
9606 }
9607}
9608#[cfg(feature = "Win32_Foundation")]
9609impl ::core::fmt::Debug for KERB_QUERY_S4U2PROXY_CACHE_RESPONSE {
9610 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9611 f.debug_struct("KERB_QUERY_S4U2PROXY_CACHE_RESPONSE").field("MessageType", &self.MessageType).field("CountOfCreds", &self.CountOfCreds).field("Creds", &self.Creds).finish()
9612 }
9613}
9614#[cfg(feature = "Win32_Foundation")]
9615impl ::windows::core::TypeKind for KERB_QUERY_S4U2PROXY_CACHE_RESPONSE {
9616 type TypeKind = ::windows::core::CopyType;
9617}
9618#[cfg(feature = "Win32_Foundation")]
9619impl ::core::cmp::PartialEq for KERB_QUERY_S4U2PROXY_CACHE_RESPONSE {
9620 fn eq(&self, other: &Self) -> bool {
9621 self.MessageType == other.MessageType && self.CountOfCreds == other.CountOfCreds && self.Creds == other.Creds
9622 }
9623}
9624#[cfg(feature = "Win32_Foundation")]
9625impl ::core::cmp::Eq for KERB_QUERY_S4U2PROXY_CACHE_RESPONSE {}
9626#[cfg(feature = "Win32_Foundation")]
9627impl ::core::default::Default for KERB_QUERY_S4U2PROXY_CACHE_RESPONSE {
9628 fn default() -> Self {
9629 unsafe { ::core::mem::zeroed() }
9630 }
9631}
9632#[repr(C)]
9633#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
9634#[cfg(feature = "Win32_Foundation")]
9635pub struct KERB_QUERY_TKT_CACHE_EX2_RESPONSE {
9636 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9637 pub CountOfTickets: u32,
9638 pub Tickets: [KERB_TICKET_CACHE_INFO_EX2; 1],
9639}
9640#[cfg(feature = "Win32_Foundation")]
9641impl ::core::marker::Copy for KERB_QUERY_TKT_CACHE_EX2_RESPONSE {}
9642#[cfg(feature = "Win32_Foundation")]
9643impl ::core::clone::Clone for KERB_QUERY_TKT_CACHE_EX2_RESPONSE {
9644 fn clone(&self) -> Self {
9645 *self
9646 }
9647}
9648#[cfg(feature = "Win32_Foundation")]
9649impl ::core::fmt::Debug for KERB_QUERY_TKT_CACHE_EX2_RESPONSE {
9650 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9651 f.debug_struct("KERB_QUERY_TKT_CACHE_EX2_RESPONSE").field("MessageType", &self.MessageType).field("CountOfTickets", &self.CountOfTickets).field("Tickets", &self.Tickets).finish()
9652 }
9653}
9654#[cfg(feature = "Win32_Foundation")]
9655impl ::windows::core::TypeKind for KERB_QUERY_TKT_CACHE_EX2_RESPONSE {
9656 type TypeKind = ::windows::core::CopyType;
9657}
9658#[cfg(feature = "Win32_Foundation")]
9659impl ::core::cmp::PartialEq for KERB_QUERY_TKT_CACHE_EX2_RESPONSE {
9660 fn eq(&self, other: &Self) -> bool {
9661 self.MessageType == other.MessageType && self.CountOfTickets == other.CountOfTickets && self.Tickets == other.Tickets
9662 }
9663}
9664#[cfg(feature = "Win32_Foundation")]
9665impl ::core::cmp::Eq for KERB_QUERY_TKT_CACHE_EX2_RESPONSE {}
9666#[cfg(feature = "Win32_Foundation")]
9667impl ::core::default::Default for KERB_QUERY_TKT_CACHE_EX2_RESPONSE {
9668 fn default() -> Self {
9669 unsafe { ::core::mem::zeroed() }
9670 }
9671}
9672#[repr(C)]
9673#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
9674#[cfg(feature = "Win32_Foundation")]
9675pub struct KERB_QUERY_TKT_CACHE_EX3_RESPONSE {
9676 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9677 pub CountOfTickets: u32,
9678 pub Tickets: [KERB_TICKET_CACHE_INFO_EX3; 1],
9679}
9680#[cfg(feature = "Win32_Foundation")]
9681impl ::core::marker::Copy for KERB_QUERY_TKT_CACHE_EX3_RESPONSE {}
9682#[cfg(feature = "Win32_Foundation")]
9683impl ::core::clone::Clone for KERB_QUERY_TKT_CACHE_EX3_RESPONSE {
9684 fn clone(&self) -> Self {
9685 *self
9686 }
9687}
9688#[cfg(feature = "Win32_Foundation")]
9689impl ::core::fmt::Debug for KERB_QUERY_TKT_CACHE_EX3_RESPONSE {
9690 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9691 f.debug_struct("KERB_QUERY_TKT_CACHE_EX3_RESPONSE").field("MessageType", &self.MessageType).field("CountOfTickets", &self.CountOfTickets).field("Tickets", &self.Tickets).finish()
9692 }
9693}
9694#[cfg(feature = "Win32_Foundation")]
9695impl ::windows::core::TypeKind for KERB_QUERY_TKT_CACHE_EX3_RESPONSE {
9696 type TypeKind = ::windows::core::CopyType;
9697}
9698#[cfg(feature = "Win32_Foundation")]
9699impl ::core::cmp::PartialEq for KERB_QUERY_TKT_CACHE_EX3_RESPONSE {
9700 fn eq(&self, other: &Self) -> bool {
9701 self.MessageType == other.MessageType && self.CountOfTickets == other.CountOfTickets && self.Tickets == other.Tickets
9702 }
9703}
9704#[cfg(feature = "Win32_Foundation")]
9705impl ::core::cmp::Eq for KERB_QUERY_TKT_CACHE_EX3_RESPONSE {}
9706#[cfg(feature = "Win32_Foundation")]
9707impl ::core::default::Default for KERB_QUERY_TKT_CACHE_EX3_RESPONSE {
9708 fn default() -> Self {
9709 unsafe { ::core::mem::zeroed() }
9710 }
9711}
9712#[repr(C)]
9713#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
9714#[cfg(feature = "Win32_Foundation")]
9715pub struct KERB_QUERY_TKT_CACHE_EX_RESPONSE {
9716 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9717 pub CountOfTickets: u32,
9718 pub Tickets: [KERB_TICKET_CACHE_INFO_EX; 1],
9719}
9720#[cfg(feature = "Win32_Foundation")]
9721impl ::core::marker::Copy for KERB_QUERY_TKT_CACHE_EX_RESPONSE {}
9722#[cfg(feature = "Win32_Foundation")]
9723impl ::core::clone::Clone for KERB_QUERY_TKT_CACHE_EX_RESPONSE {
9724 fn clone(&self) -> Self {
9725 *self
9726 }
9727}
9728#[cfg(feature = "Win32_Foundation")]
9729impl ::core::fmt::Debug for KERB_QUERY_TKT_CACHE_EX_RESPONSE {
9730 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9731 f.debug_struct("KERB_QUERY_TKT_CACHE_EX_RESPONSE").field("MessageType", &self.MessageType).field("CountOfTickets", &self.CountOfTickets).field("Tickets", &self.Tickets).finish()
9732 }
9733}
9734#[cfg(feature = "Win32_Foundation")]
9735impl ::windows::core::TypeKind for KERB_QUERY_TKT_CACHE_EX_RESPONSE {
9736 type TypeKind = ::windows::core::CopyType;
9737}
9738#[cfg(feature = "Win32_Foundation")]
9739impl ::core::cmp::PartialEq for KERB_QUERY_TKT_CACHE_EX_RESPONSE {
9740 fn eq(&self, other: &Self) -> bool {
9741 self.MessageType == other.MessageType && self.CountOfTickets == other.CountOfTickets && self.Tickets == other.Tickets
9742 }
9743}
9744#[cfg(feature = "Win32_Foundation")]
9745impl ::core::cmp::Eq for KERB_QUERY_TKT_CACHE_EX_RESPONSE {}
9746#[cfg(feature = "Win32_Foundation")]
9747impl ::core::default::Default for KERB_QUERY_TKT_CACHE_EX_RESPONSE {
9748 fn default() -> Self {
9749 unsafe { ::core::mem::zeroed() }
9750 }
9751}
9752#[repr(C)]
9753#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
9754#[cfg(feature = "Win32_Foundation")]
9755pub struct KERB_QUERY_TKT_CACHE_REQUEST {
9756 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9757 pub LogonId: super::super::super::Foundation::LUID,
9758}
9759#[cfg(feature = "Win32_Foundation")]
9760impl ::core::marker::Copy for KERB_QUERY_TKT_CACHE_REQUEST {}
9761#[cfg(feature = "Win32_Foundation")]
9762impl ::core::clone::Clone for KERB_QUERY_TKT_CACHE_REQUEST {
9763 fn clone(&self) -> Self {
9764 *self
9765 }
9766}
9767#[cfg(feature = "Win32_Foundation")]
9768impl ::core::fmt::Debug for KERB_QUERY_TKT_CACHE_REQUEST {
9769 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9770 f.debug_struct("KERB_QUERY_TKT_CACHE_REQUEST").field("MessageType", &self.MessageType).field("LogonId", &self.LogonId).finish()
9771 }
9772}
9773#[cfg(feature = "Win32_Foundation")]
9774impl ::windows::core::TypeKind for KERB_QUERY_TKT_CACHE_REQUEST {
9775 type TypeKind = ::windows::core::CopyType;
9776}
9777#[cfg(feature = "Win32_Foundation")]
9778impl ::core::cmp::PartialEq for KERB_QUERY_TKT_CACHE_REQUEST {
9779 fn eq(&self, other: &Self) -> bool {
9780 self.MessageType == other.MessageType && self.LogonId == other.LogonId
9781 }
9782}
9783#[cfg(feature = "Win32_Foundation")]
9784impl ::core::cmp::Eq for KERB_QUERY_TKT_CACHE_REQUEST {}
9785#[cfg(feature = "Win32_Foundation")]
9786impl ::core::default::Default for KERB_QUERY_TKT_CACHE_REQUEST {
9787 fn default() -> Self {
9788 unsafe { ::core::mem::zeroed() }
9789 }
9790}
9791#[repr(C)]
9792#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
9793#[cfg(feature = "Win32_Foundation")]
9794pub struct KERB_QUERY_TKT_CACHE_RESPONSE {
9795 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9796 pub CountOfTickets: u32,
9797 pub Tickets: [KERB_TICKET_CACHE_INFO; 1],
9798}
9799#[cfg(feature = "Win32_Foundation")]
9800impl ::core::marker::Copy for KERB_QUERY_TKT_CACHE_RESPONSE {}
9801#[cfg(feature = "Win32_Foundation")]
9802impl ::core::clone::Clone for KERB_QUERY_TKT_CACHE_RESPONSE {
9803 fn clone(&self) -> Self {
9804 *self
9805 }
9806}
9807#[cfg(feature = "Win32_Foundation")]
9808impl ::core::fmt::Debug for KERB_QUERY_TKT_CACHE_RESPONSE {
9809 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9810 f.debug_struct("KERB_QUERY_TKT_CACHE_RESPONSE").field("MessageType", &self.MessageType).field("CountOfTickets", &self.CountOfTickets).field("Tickets", &self.Tickets).finish()
9811 }
9812}
9813#[cfg(feature = "Win32_Foundation")]
9814impl ::windows::core::TypeKind for KERB_QUERY_TKT_CACHE_RESPONSE {
9815 type TypeKind = ::windows::core::CopyType;
9816}
9817#[cfg(feature = "Win32_Foundation")]
9818impl ::core::cmp::PartialEq for KERB_QUERY_TKT_CACHE_RESPONSE {
9819 fn eq(&self, other: &Self) -> bool {
9820 self.MessageType == other.MessageType && self.CountOfTickets == other.CountOfTickets && self.Tickets == other.Tickets
9821 }
9822}
9823#[cfg(feature = "Win32_Foundation")]
9824impl ::core::cmp::Eq for KERB_QUERY_TKT_CACHE_RESPONSE {}
9825#[cfg(feature = "Win32_Foundation")]
9826impl ::core::default::Default for KERB_QUERY_TKT_CACHE_RESPONSE {
9827 fn default() -> Self {
9828 unsafe { ::core::mem::zeroed() }
9829 }
9830}
9831#[repr(C)]
9832#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
9833pub struct KERB_REFRESH_POLICY_REQUEST {
9834 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9835 pub Flags: u32,
9836}
9837impl ::core::marker::Copy for KERB_REFRESH_POLICY_REQUEST {}
9838impl ::core::clone::Clone for KERB_REFRESH_POLICY_REQUEST {
9839 fn clone(&self) -> Self {
9840 *self
9841 }
9842}
9843impl ::core::fmt::Debug for KERB_REFRESH_POLICY_REQUEST {
9844 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9845 f.debug_struct("KERB_REFRESH_POLICY_REQUEST").field("MessageType", &self.MessageType).field("Flags", &self.Flags).finish()
9846 }
9847}
9848impl ::windows::core::TypeKind for KERB_REFRESH_POLICY_REQUEST {
9849 type TypeKind = ::windows::core::CopyType;
9850}
9851impl ::core::cmp::PartialEq for KERB_REFRESH_POLICY_REQUEST {
9852 fn eq(&self, other: &Self) -> bool {
9853 self.MessageType == other.MessageType && self.Flags == other.Flags
9854 }
9855}
9856impl ::core::cmp::Eq for KERB_REFRESH_POLICY_REQUEST {}
9857impl ::core::default::Default for KERB_REFRESH_POLICY_REQUEST {
9858 fn default() -> Self {
9859 unsafe { ::core::mem::zeroed() }
9860 }
9861}
9862#[repr(C)]
9863#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
9864pub struct KERB_REFRESH_POLICY_RESPONSE {
9865 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9866 pub Flags: u32,
9867}
9868impl ::core::marker::Copy for KERB_REFRESH_POLICY_RESPONSE {}
9869impl ::core::clone::Clone for KERB_REFRESH_POLICY_RESPONSE {
9870 fn clone(&self) -> Self {
9871 *self
9872 }
9873}
9874impl ::core::fmt::Debug for KERB_REFRESH_POLICY_RESPONSE {
9875 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9876 f.debug_struct("KERB_REFRESH_POLICY_RESPONSE").field("MessageType", &self.MessageType).field("Flags", &self.Flags).finish()
9877 }
9878}
9879impl ::windows::core::TypeKind for KERB_REFRESH_POLICY_RESPONSE {
9880 type TypeKind = ::windows::core::CopyType;
9881}
9882impl ::core::cmp::PartialEq for KERB_REFRESH_POLICY_RESPONSE {
9883 fn eq(&self, other: &Self) -> bool {
9884 self.MessageType == other.MessageType && self.Flags == other.Flags
9885 }
9886}
9887impl ::core::cmp::Eq for KERB_REFRESH_POLICY_RESPONSE {}
9888impl ::core::default::Default for KERB_REFRESH_POLICY_RESPONSE {
9889 fn default() -> Self {
9890 unsafe { ::core::mem::zeroed() }
9891 }
9892}
9893#[repr(C)]
9894#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
9895#[cfg(feature = "Win32_Foundation")]
9896pub struct KERB_REFRESH_SCCRED_REQUEST {
9897 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9898 pub CredentialBlob: super::super::super::Foundation::UNICODE_STRING,
9899 pub LogonId: super::super::super::Foundation::LUID,
9900 pub Flags: u32,
9901}
9902#[cfg(feature = "Win32_Foundation")]
9903impl ::core::marker::Copy for KERB_REFRESH_SCCRED_REQUEST {}
9904#[cfg(feature = "Win32_Foundation")]
9905impl ::core::clone::Clone for KERB_REFRESH_SCCRED_REQUEST {
9906 fn clone(&self) -> Self {
9907 *self
9908 }
9909}
9910#[cfg(feature = "Win32_Foundation")]
9911impl ::core::fmt::Debug for KERB_REFRESH_SCCRED_REQUEST {
9912 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9913 f.debug_struct("KERB_REFRESH_SCCRED_REQUEST").field("MessageType", &self.MessageType).field("CredentialBlob", &self.CredentialBlob).field("LogonId", &self.LogonId).field("Flags", &self.Flags).finish()
9914 }
9915}
9916#[cfg(feature = "Win32_Foundation")]
9917impl ::windows::core::TypeKind for KERB_REFRESH_SCCRED_REQUEST {
9918 type TypeKind = ::windows::core::CopyType;
9919}
9920#[cfg(feature = "Win32_Foundation")]
9921impl ::core::cmp::PartialEq for KERB_REFRESH_SCCRED_REQUEST {
9922 fn eq(&self, other: &Self) -> bool {
9923 self.MessageType == other.MessageType && self.CredentialBlob == other.CredentialBlob && self.LogonId == other.LogonId && self.Flags == other.Flags
9924 }
9925}
9926#[cfg(feature = "Win32_Foundation")]
9927impl ::core::cmp::Eq for KERB_REFRESH_SCCRED_REQUEST {}
9928#[cfg(feature = "Win32_Foundation")]
9929impl ::core::default::Default for KERB_REFRESH_SCCRED_REQUEST {
9930 fn default() -> Self {
9931 unsafe { ::core::mem::zeroed() }
9932 }
9933}
9934#[repr(C)]
9935#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
9936#[cfg(feature = "Win32_Foundation")]
9937pub struct KERB_RETRIEVE_KEY_TAB_REQUEST {
9938 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9939 pub Flags: u32,
9940 pub UserName: super::super::super::Foundation::UNICODE_STRING,
9941 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
9942 pub Password: super::super::super::Foundation::UNICODE_STRING,
9943}
9944#[cfg(feature = "Win32_Foundation")]
9945impl ::core::marker::Copy for KERB_RETRIEVE_KEY_TAB_REQUEST {}
9946#[cfg(feature = "Win32_Foundation")]
9947impl ::core::clone::Clone for KERB_RETRIEVE_KEY_TAB_REQUEST {
9948 fn clone(&self) -> Self {
9949 *self
9950 }
9951}
9952#[cfg(feature = "Win32_Foundation")]
9953impl ::core::fmt::Debug for KERB_RETRIEVE_KEY_TAB_REQUEST {
9954 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9955 f.debug_struct("KERB_RETRIEVE_KEY_TAB_REQUEST").field("MessageType", &self.MessageType).field("Flags", &self.Flags).field("UserName", &self.UserName).field("DomainName", &self.DomainName).field("Password", &self.Password).finish()
9956 }
9957}
9958#[cfg(feature = "Win32_Foundation")]
9959impl ::windows::core::TypeKind for KERB_RETRIEVE_KEY_TAB_REQUEST {
9960 type TypeKind = ::windows::core::CopyType;
9961}
9962#[cfg(feature = "Win32_Foundation")]
9963impl ::core::cmp::PartialEq for KERB_RETRIEVE_KEY_TAB_REQUEST {
9964 fn eq(&self, other: &Self) -> bool {
9965 self.MessageType == other.MessageType && self.Flags == other.Flags && self.UserName == other.UserName && self.DomainName == other.DomainName && self.Password == other.Password
9966 }
9967}
9968#[cfg(feature = "Win32_Foundation")]
9969impl ::core::cmp::Eq for KERB_RETRIEVE_KEY_TAB_REQUEST {}
9970#[cfg(feature = "Win32_Foundation")]
9971impl ::core::default::Default for KERB_RETRIEVE_KEY_TAB_REQUEST {
9972 fn default() -> Self {
9973 unsafe { ::core::mem::zeroed() }
9974 }
9975}
9976#[repr(C)]
9977#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
9978pub struct KERB_RETRIEVE_KEY_TAB_RESPONSE {
9979 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
9980 pub KeyTabLength: u32,
9981 pub KeyTab: *mut u8,
9982}
9983impl ::core::marker::Copy for KERB_RETRIEVE_KEY_TAB_RESPONSE {}
9984impl ::core::clone::Clone for KERB_RETRIEVE_KEY_TAB_RESPONSE {
9985 fn clone(&self) -> Self {
9986 *self
9987 }
9988}
9989impl ::core::fmt::Debug for KERB_RETRIEVE_KEY_TAB_RESPONSE {
9990 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9991 f.debug_struct("KERB_RETRIEVE_KEY_TAB_RESPONSE").field("MessageType", &self.MessageType).field("KeyTabLength", &self.KeyTabLength).field("KeyTab", &self.KeyTab).finish()
9992 }
9993}
9994impl ::windows::core::TypeKind for KERB_RETRIEVE_KEY_TAB_RESPONSE {
9995 type TypeKind = ::windows::core::CopyType;
9996}
9997impl ::core::cmp::PartialEq for KERB_RETRIEVE_KEY_TAB_RESPONSE {
9998 fn eq(&self, other: &Self) -> bool {
9999 self.MessageType == other.MessageType && self.KeyTabLength == other.KeyTabLength && self.KeyTab == other.KeyTab
10000 }
10001}
10002impl ::core::cmp::Eq for KERB_RETRIEVE_KEY_TAB_RESPONSE {}
10003impl ::core::default::Default for KERB_RETRIEVE_KEY_TAB_RESPONSE {
10004 fn default() -> Self {
10005 unsafe { ::core::mem::zeroed() }
10006 }
10007}
10008#[repr(C)]
10009#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_Security_Credentials\"`*"]
10010#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10011pub struct KERB_RETRIEVE_TKT_REQUEST {
10012 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
10013 pub LogonId: super::super::super::Foundation::LUID,
10014 pub TargetName: super::super::super::Foundation::UNICODE_STRING,
10015 pub TicketFlags: u32,
10016 pub CacheOptions: u32,
10017 pub EncryptionType: KERB_CRYPTO_KEY_TYPE,
10018 pub CredentialsHandle: super::super::Credentials::SecHandle,
10019}
10020#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10021impl ::core::marker::Copy for KERB_RETRIEVE_TKT_REQUEST {}
10022#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10023impl ::core::clone::Clone for KERB_RETRIEVE_TKT_REQUEST {
10024 fn clone(&self) -> Self {
10025 *self
10026 }
10027}
10028#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10029impl ::core::fmt::Debug for KERB_RETRIEVE_TKT_REQUEST {
10030 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10031 f.debug_struct("KERB_RETRIEVE_TKT_REQUEST").field("MessageType", &self.MessageType).field("LogonId", &self.LogonId).field("TargetName", &self.TargetName).field("TicketFlags", &self.TicketFlags).field("CacheOptions", &self.CacheOptions).field("EncryptionType", &self.EncryptionType).field("CredentialsHandle", &self.CredentialsHandle).finish()
10032 }
10033}
10034#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10035impl ::windows::core::TypeKind for KERB_RETRIEVE_TKT_REQUEST {
10036 type TypeKind = ::windows::core::CopyType;
10037}
10038#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10039impl ::core::cmp::PartialEq for KERB_RETRIEVE_TKT_REQUEST {
10040 fn eq(&self, other: &Self) -> bool {
10041 self.MessageType == other.MessageType && self.LogonId == other.LogonId && self.TargetName == other.TargetName && self.TicketFlags == other.TicketFlags && self.CacheOptions == other.CacheOptions && self.EncryptionType == other.EncryptionType && self.CredentialsHandle == other.CredentialsHandle
10042 }
10043}
10044#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10045impl ::core::cmp::Eq for KERB_RETRIEVE_TKT_REQUEST {}
10046#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10047impl ::core::default::Default for KERB_RETRIEVE_TKT_REQUEST {
10048 fn default() -> Self {
10049 unsafe { ::core::mem::zeroed() }
10050 }
10051}
10052#[repr(C)]
10053#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
10054#[cfg(feature = "Win32_Foundation")]
10055pub struct KERB_RETRIEVE_TKT_RESPONSE {
10056 pub Ticket: KERB_EXTERNAL_TICKET,
10057}
10058#[cfg(feature = "Win32_Foundation")]
10059impl ::core::marker::Copy for KERB_RETRIEVE_TKT_RESPONSE {}
10060#[cfg(feature = "Win32_Foundation")]
10061impl ::core::clone::Clone for KERB_RETRIEVE_TKT_RESPONSE {
10062 fn clone(&self) -> Self {
10063 *self
10064 }
10065}
10066#[cfg(feature = "Win32_Foundation")]
10067impl ::core::fmt::Debug for KERB_RETRIEVE_TKT_RESPONSE {
10068 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10069 f.debug_struct("KERB_RETRIEVE_TKT_RESPONSE").field("Ticket", &self.Ticket).finish()
10070 }
10071}
10072#[cfg(feature = "Win32_Foundation")]
10073impl ::windows::core::TypeKind for KERB_RETRIEVE_TKT_RESPONSE {
10074 type TypeKind = ::windows::core::CopyType;
10075}
10076#[cfg(feature = "Win32_Foundation")]
10077impl ::core::cmp::PartialEq for KERB_RETRIEVE_TKT_RESPONSE {
10078 fn eq(&self, other: &Self) -> bool {
10079 self.Ticket == other.Ticket
10080 }
10081}
10082#[cfg(feature = "Win32_Foundation")]
10083impl ::core::cmp::Eq for KERB_RETRIEVE_TKT_RESPONSE {}
10084#[cfg(feature = "Win32_Foundation")]
10085impl ::core::default::Default for KERB_RETRIEVE_TKT_RESPONSE {
10086 fn default() -> Self {
10087 unsafe { ::core::mem::zeroed() }
10088 }
10089}
10090#[repr(C)]
10091#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
10092#[cfg(feature = "Win32_Foundation")]
10093pub struct KERB_S4U2PROXY_CACHE_ENTRY_INFO {
10094 pub ServerName: super::super::super::Foundation::UNICODE_STRING,
10095 pub Flags: u32,
10096 pub LastStatus: super::super::super::Foundation::NTSTATUS,
10097 pub Expiry: i64,
10098}
10099#[cfg(feature = "Win32_Foundation")]
10100impl ::core::marker::Copy for KERB_S4U2PROXY_CACHE_ENTRY_INFO {}
10101#[cfg(feature = "Win32_Foundation")]
10102impl ::core::clone::Clone for KERB_S4U2PROXY_CACHE_ENTRY_INFO {
10103 fn clone(&self) -> Self {
10104 *self
10105 }
10106}
10107#[cfg(feature = "Win32_Foundation")]
10108impl ::core::fmt::Debug for KERB_S4U2PROXY_CACHE_ENTRY_INFO {
10109 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10110 f.debug_struct("KERB_S4U2PROXY_CACHE_ENTRY_INFO").field("ServerName", &self.ServerName).field("Flags", &self.Flags).field("LastStatus", &self.LastStatus).field("Expiry", &self.Expiry).finish()
10111 }
10112}
10113#[cfg(feature = "Win32_Foundation")]
10114impl ::windows::core::TypeKind for KERB_S4U2PROXY_CACHE_ENTRY_INFO {
10115 type TypeKind = ::windows::core::CopyType;
10116}
10117#[cfg(feature = "Win32_Foundation")]
10118impl ::core::cmp::PartialEq for KERB_S4U2PROXY_CACHE_ENTRY_INFO {
10119 fn eq(&self, other: &Self) -> bool {
10120 self.ServerName == other.ServerName && self.Flags == other.Flags && self.LastStatus == other.LastStatus && self.Expiry == other.Expiry
10121 }
10122}
10123#[cfg(feature = "Win32_Foundation")]
10124impl ::core::cmp::Eq for KERB_S4U2PROXY_CACHE_ENTRY_INFO {}
10125#[cfg(feature = "Win32_Foundation")]
10126impl ::core::default::Default for KERB_S4U2PROXY_CACHE_ENTRY_INFO {
10127 fn default() -> Self {
10128 unsafe { ::core::mem::zeroed() }
10129 }
10130}
10131#[repr(C)]
10132#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
10133#[cfg(feature = "Win32_Foundation")]
10134pub struct KERB_S4U2PROXY_CRED {
10135 pub UserName: super::super::super::Foundation::UNICODE_STRING,
10136 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
10137 pub Flags: u32,
10138 pub LastStatus: super::super::super::Foundation::NTSTATUS,
10139 pub Expiry: i64,
10140 pub CountOfEntries: u32,
10141 pub Entries: *mut KERB_S4U2PROXY_CACHE_ENTRY_INFO,
10142}
10143#[cfg(feature = "Win32_Foundation")]
10144impl ::core::marker::Copy for KERB_S4U2PROXY_CRED {}
10145#[cfg(feature = "Win32_Foundation")]
10146impl ::core::clone::Clone for KERB_S4U2PROXY_CRED {
10147 fn clone(&self) -> Self {
10148 *self
10149 }
10150}
10151#[cfg(feature = "Win32_Foundation")]
10152impl ::core::fmt::Debug for KERB_S4U2PROXY_CRED {
10153 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10154 f.debug_struct("KERB_S4U2PROXY_CRED").field("UserName", &self.UserName).field("DomainName", &self.DomainName).field("Flags", &self.Flags).field("LastStatus", &self.LastStatus).field("Expiry", &self.Expiry).field("CountOfEntries", &self.CountOfEntries).field("Entries", &self.Entries).finish()
10155 }
10156}
10157#[cfg(feature = "Win32_Foundation")]
10158impl ::windows::core::TypeKind for KERB_S4U2PROXY_CRED {
10159 type TypeKind = ::windows::core::CopyType;
10160}
10161#[cfg(feature = "Win32_Foundation")]
10162impl ::core::cmp::PartialEq for KERB_S4U2PROXY_CRED {
10163 fn eq(&self, other: &Self) -> bool {
10164 self.UserName == other.UserName && self.DomainName == other.DomainName && self.Flags == other.Flags && self.LastStatus == other.LastStatus && self.Expiry == other.Expiry && self.CountOfEntries == other.CountOfEntries && self.Entries == other.Entries
10165 }
10166}
10167#[cfg(feature = "Win32_Foundation")]
10168impl ::core::cmp::Eq for KERB_S4U2PROXY_CRED {}
10169#[cfg(feature = "Win32_Foundation")]
10170impl ::core::default::Default for KERB_S4U2PROXY_CRED {
10171 fn default() -> Self {
10172 unsafe { ::core::mem::zeroed() }
10173 }
10174}
10175#[repr(C)]
10176#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
10177#[cfg(feature = "Win32_Foundation")]
10178pub struct KERB_S4U_LOGON {
10179 pub MessageType: KERB_LOGON_SUBMIT_TYPE,
10180 pub Flags: u32,
10181 pub ClientUpn: super::super::super::Foundation::UNICODE_STRING,
10182 pub ClientRealm: super::super::super::Foundation::UNICODE_STRING,
10183}
10184#[cfg(feature = "Win32_Foundation")]
10185impl ::core::marker::Copy for KERB_S4U_LOGON {}
10186#[cfg(feature = "Win32_Foundation")]
10187impl ::core::clone::Clone for KERB_S4U_LOGON {
10188 fn clone(&self) -> Self {
10189 *self
10190 }
10191}
10192#[cfg(feature = "Win32_Foundation")]
10193impl ::core::fmt::Debug for KERB_S4U_LOGON {
10194 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10195 f.debug_struct("KERB_S4U_LOGON").field("MessageType", &self.MessageType).field("Flags", &self.Flags).field("ClientUpn", &self.ClientUpn).field("ClientRealm", &self.ClientRealm).finish()
10196 }
10197}
10198#[cfg(feature = "Win32_Foundation")]
10199impl ::windows::core::TypeKind for KERB_S4U_LOGON {
10200 type TypeKind = ::windows::core::CopyType;
10201}
10202#[cfg(feature = "Win32_Foundation")]
10203impl ::core::cmp::PartialEq for KERB_S4U_LOGON {
10204 fn eq(&self, other: &Self) -> bool {
10205 self.MessageType == other.MessageType && self.Flags == other.Flags && self.ClientUpn == other.ClientUpn && self.ClientRealm == other.ClientRealm
10206 }
10207}
10208#[cfg(feature = "Win32_Foundation")]
10209impl ::core::cmp::Eq for KERB_S4U_LOGON {}
10210#[cfg(feature = "Win32_Foundation")]
10211impl ::core::default::Default for KERB_S4U_LOGON {
10212 fn default() -> Self {
10213 unsafe { ::core::mem::zeroed() }
10214 }
10215}
10216#[repr(C)]
10217#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_Security_Credentials\"`*"]
10218#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10219pub struct KERB_SETPASSWORD_EX_REQUEST {
10220 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
10221 pub LogonId: super::super::super::Foundation::LUID,
10222 pub CredentialsHandle: super::super::Credentials::SecHandle,
10223 pub Flags: u32,
10224 pub AccountRealm: super::super::super::Foundation::UNICODE_STRING,
10225 pub AccountName: super::super::super::Foundation::UNICODE_STRING,
10226 pub Password: super::super::super::Foundation::UNICODE_STRING,
10227 pub ClientRealm: super::super::super::Foundation::UNICODE_STRING,
10228 pub ClientName: super::super::super::Foundation::UNICODE_STRING,
10229 pub Impersonating: super::super::super::Foundation::BOOLEAN,
10230 pub KdcAddress: super::super::super::Foundation::UNICODE_STRING,
10231 pub KdcAddressType: u32,
10232}
10233#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10234impl ::core::marker::Copy for KERB_SETPASSWORD_EX_REQUEST {}
10235#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10236impl ::core::clone::Clone for KERB_SETPASSWORD_EX_REQUEST {
10237 fn clone(&self) -> Self {
10238 *self
10239 }
10240}
10241#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10242impl ::core::fmt::Debug for KERB_SETPASSWORD_EX_REQUEST {
10243 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10244 f.debug_struct("KERB_SETPASSWORD_EX_REQUEST")
10245 .field("MessageType", &self.MessageType)
10246 .field("LogonId", &self.LogonId)
10247 .field("CredentialsHandle", &self.CredentialsHandle)
10248 .field("Flags", &self.Flags)
10249 .field("AccountRealm", &self.AccountRealm)
10250 .field("AccountName", &self.AccountName)
10251 .field("Password", &self.Password)
10252 .field("ClientRealm", &self.ClientRealm)
10253 .field("ClientName", &self.ClientName)
10254 .field("Impersonating", &self.Impersonating)
10255 .field("KdcAddress", &self.KdcAddress)
10256 .field("KdcAddressType", &self.KdcAddressType)
10257 .finish()
10258 }
10259}
10260#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10261impl ::windows::core::TypeKind for KERB_SETPASSWORD_EX_REQUEST {
10262 type TypeKind = ::windows::core::CopyType;
10263}
10264#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10265impl ::core::cmp::PartialEq for KERB_SETPASSWORD_EX_REQUEST {
10266 fn eq(&self, other: &Self) -> bool {
10267 self.MessageType == other.MessageType && self.LogonId == other.LogonId && self.CredentialsHandle == other.CredentialsHandle && self.Flags == other.Flags && self.AccountRealm == other.AccountRealm && self.AccountName == other.AccountName && self.Password == other.Password && self.ClientRealm == other.ClientRealm && self.ClientName == other.ClientName && self.Impersonating == other.Impersonating && self.KdcAddress == other.KdcAddress && self.KdcAddressType == other.KdcAddressType
10268 }
10269}
10270#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10271impl ::core::cmp::Eq for KERB_SETPASSWORD_EX_REQUEST {}
10272#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10273impl ::core::default::Default for KERB_SETPASSWORD_EX_REQUEST {
10274 fn default() -> Self {
10275 unsafe { ::core::mem::zeroed() }
10276 }
10277}
10278#[repr(C)]
10279#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_Security_Credentials\"`*"]
10280#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10281pub struct KERB_SETPASSWORD_REQUEST {
10282 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
10283 pub LogonId: super::super::super::Foundation::LUID,
10284 pub CredentialsHandle: super::super::Credentials::SecHandle,
10285 pub Flags: u32,
10286 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
10287 pub AccountName: super::super::super::Foundation::UNICODE_STRING,
10288 pub Password: super::super::super::Foundation::UNICODE_STRING,
10289}
10290#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10291impl ::core::marker::Copy for KERB_SETPASSWORD_REQUEST {}
10292#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10293impl ::core::clone::Clone for KERB_SETPASSWORD_REQUEST {
10294 fn clone(&self) -> Self {
10295 *self
10296 }
10297}
10298#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10299impl ::core::fmt::Debug for KERB_SETPASSWORD_REQUEST {
10300 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10301 f.debug_struct("KERB_SETPASSWORD_REQUEST").field("MessageType", &self.MessageType).field("LogonId", &self.LogonId).field("CredentialsHandle", &self.CredentialsHandle).field("Flags", &self.Flags).field("DomainName", &self.DomainName).field("AccountName", &self.AccountName).field("Password", &self.Password).finish()
10302 }
10303}
10304#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10305impl ::windows::core::TypeKind for KERB_SETPASSWORD_REQUEST {
10306 type TypeKind = ::windows::core::CopyType;
10307}
10308#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10309impl ::core::cmp::PartialEq for KERB_SETPASSWORD_REQUEST {
10310 fn eq(&self, other: &Self) -> bool {
10311 self.MessageType == other.MessageType && self.LogonId == other.LogonId && self.CredentialsHandle == other.CredentialsHandle && self.Flags == other.Flags && self.DomainName == other.DomainName && self.AccountName == other.AccountName && self.Password == other.Password
10312 }
10313}
10314#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10315impl ::core::cmp::Eq for KERB_SETPASSWORD_REQUEST {}
10316#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
10317impl ::core::default::Default for KERB_SETPASSWORD_REQUEST {
10318 fn default() -> Self {
10319 unsafe { ::core::mem::zeroed() }
10320 }
10321}
10322#[repr(C)]
10323#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
10324#[cfg(feature = "Win32_Foundation")]
10325pub struct KERB_SMART_CARD_LOGON {
10326 pub MessageType: KERB_LOGON_SUBMIT_TYPE,
10327 pub Pin: super::super::super::Foundation::UNICODE_STRING,
10328 pub CspDataLength: u32,
10329 pub CspData: *mut u8,
10330}
10331#[cfg(feature = "Win32_Foundation")]
10332impl ::core::marker::Copy for KERB_SMART_CARD_LOGON {}
10333#[cfg(feature = "Win32_Foundation")]
10334impl ::core::clone::Clone for KERB_SMART_CARD_LOGON {
10335 fn clone(&self) -> Self {
10336 *self
10337 }
10338}
10339#[cfg(feature = "Win32_Foundation")]
10340impl ::core::fmt::Debug for KERB_SMART_CARD_LOGON {
10341 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10342 f.debug_struct("KERB_SMART_CARD_LOGON").field("MessageType", &self.MessageType).field("Pin", &self.Pin).field("CspDataLength", &self.CspDataLength).field("CspData", &self.CspData).finish()
10343 }
10344}
10345#[cfg(feature = "Win32_Foundation")]
10346impl ::windows::core::TypeKind for KERB_SMART_CARD_LOGON {
10347 type TypeKind = ::windows::core::CopyType;
10348}
10349#[cfg(feature = "Win32_Foundation")]
10350impl ::core::cmp::PartialEq for KERB_SMART_CARD_LOGON {
10351 fn eq(&self, other: &Self) -> bool {
10352 self.MessageType == other.MessageType && self.Pin == other.Pin && self.CspDataLength == other.CspDataLength && self.CspData == other.CspData
10353 }
10354}
10355#[cfg(feature = "Win32_Foundation")]
10356impl ::core::cmp::Eq for KERB_SMART_CARD_LOGON {}
10357#[cfg(feature = "Win32_Foundation")]
10358impl ::core::default::Default for KERB_SMART_CARD_LOGON {
10359 fn default() -> Self {
10360 unsafe { ::core::mem::zeroed() }
10361 }
10362}
10363#[repr(C)]
10364#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
10365#[cfg(feature = "Win32_Foundation")]
10366pub struct KERB_SMART_CARD_PROFILE {
10367 pub Profile: KERB_INTERACTIVE_PROFILE,
10368 pub CertificateSize: u32,
10369 pub CertificateData: *mut u8,
10370}
10371#[cfg(feature = "Win32_Foundation")]
10372impl ::core::marker::Copy for KERB_SMART_CARD_PROFILE {}
10373#[cfg(feature = "Win32_Foundation")]
10374impl ::core::clone::Clone for KERB_SMART_CARD_PROFILE {
10375 fn clone(&self) -> Self {
10376 *self
10377 }
10378}
10379#[cfg(feature = "Win32_Foundation")]
10380impl ::core::fmt::Debug for KERB_SMART_CARD_PROFILE {
10381 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10382 f.debug_struct("KERB_SMART_CARD_PROFILE").field("Profile", &self.Profile).field("CertificateSize", &self.CertificateSize).field("CertificateData", &self.CertificateData).finish()
10383 }
10384}
10385#[cfg(feature = "Win32_Foundation")]
10386impl ::windows::core::TypeKind for KERB_SMART_CARD_PROFILE {
10387 type TypeKind = ::windows::core::CopyType;
10388}
10389#[cfg(feature = "Win32_Foundation")]
10390impl ::core::cmp::PartialEq for KERB_SMART_CARD_PROFILE {
10391 fn eq(&self, other: &Self) -> bool {
10392 self.Profile == other.Profile && self.CertificateSize == other.CertificateSize && self.CertificateData == other.CertificateData
10393 }
10394}
10395#[cfg(feature = "Win32_Foundation")]
10396impl ::core::cmp::Eq for KERB_SMART_CARD_PROFILE {}
10397#[cfg(feature = "Win32_Foundation")]
10398impl ::core::default::Default for KERB_SMART_CARD_PROFILE {
10399 fn default() -> Self {
10400 unsafe { ::core::mem::zeroed() }
10401 }
10402}
10403#[repr(C)]
10404#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
10405#[cfg(feature = "Win32_Foundation")]
10406pub struct KERB_SMART_CARD_UNLOCK_LOGON {
10407 pub Logon: KERB_SMART_CARD_LOGON,
10408 pub LogonId: super::super::super::Foundation::LUID,
10409}
10410#[cfg(feature = "Win32_Foundation")]
10411impl ::core::marker::Copy for KERB_SMART_CARD_UNLOCK_LOGON {}
10412#[cfg(feature = "Win32_Foundation")]
10413impl ::core::clone::Clone for KERB_SMART_CARD_UNLOCK_LOGON {
10414 fn clone(&self) -> Self {
10415 *self
10416 }
10417}
10418#[cfg(feature = "Win32_Foundation")]
10419impl ::core::fmt::Debug for KERB_SMART_CARD_UNLOCK_LOGON {
10420 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10421 f.debug_struct("KERB_SMART_CARD_UNLOCK_LOGON").field("Logon", &self.Logon).field("LogonId", &self.LogonId).finish()
10422 }
10423}
10424#[cfg(feature = "Win32_Foundation")]
10425impl ::windows::core::TypeKind for KERB_SMART_CARD_UNLOCK_LOGON {
10426 type TypeKind = ::windows::core::CopyType;
10427}
10428#[cfg(feature = "Win32_Foundation")]
10429impl ::core::cmp::PartialEq for KERB_SMART_CARD_UNLOCK_LOGON {
10430 fn eq(&self, other: &Self) -> bool {
10431 self.Logon == other.Logon && self.LogonId == other.LogonId
10432 }
10433}
10434#[cfg(feature = "Win32_Foundation")]
10435impl ::core::cmp::Eq for KERB_SMART_CARD_UNLOCK_LOGON {}
10436#[cfg(feature = "Win32_Foundation")]
10437impl ::core::default::Default for KERB_SMART_CARD_UNLOCK_LOGON {
10438 fn default() -> Self {
10439 unsafe { ::core::mem::zeroed() }
10440 }
10441}
10442#[repr(C)]
10443#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
10444#[cfg(feature = "Win32_Foundation")]
10445pub struct KERB_SUBMIT_TKT_REQUEST {
10446 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
10447 pub LogonId: super::super::super::Foundation::LUID,
10448 pub Flags: u32,
10449 pub Key: KERB_CRYPTO_KEY32,
10450 pub KerbCredSize: u32,
10451 pub KerbCredOffset: u32,
10452}
10453#[cfg(feature = "Win32_Foundation")]
10454impl ::core::marker::Copy for KERB_SUBMIT_TKT_REQUEST {}
10455#[cfg(feature = "Win32_Foundation")]
10456impl ::core::clone::Clone for KERB_SUBMIT_TKT_REQUEST {
10457 fn clone(&self) -> Self {
10458 *self
10459 }
10460}
10461#[cfg(feature = "Win32_Foundation")]
10462impl ::core::fmt::Debug for KERB_SUBMIT_TKT_REQUEST {
10463 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10464 f.debug_struct("KERB_SUBMIT_TKT_REQUEST").field("MessageType", &self.MessageType).field("LogonId", &self.LogonId).field("Flags", &self.Flags).field("Key", &self.Key).field("KerbCredSize", &self.KerbCredSize).field("KerbCredOffset", &self.KerbCredOffset).finish()
10465 }
10466}
10467#[cfg(feature = "Win32_Foundation")]
10468impl ::windows::core::TypeKind for KERB_SUBMIT_TKT_REQUEST {
10469 type TypeKind = ::windows::core::CopyType;
10470}
10471#[cfg(feature = "Win32_Foundation")]
10472impl ::core::cmp::PartialEq for KERB_SUBMIT_TKT_REQUEST {
10473 fn eq(&self, other: &Self) -> bool {
10474 self.MessageType == other.MessageType && self.LogonId == other.LogonId && self.Flags == other.Flags && self.Key == other.Key && self.KerbCredSize == other.KerbCredSize && self.KerbCredOffset == other.KerbCredOffset
10475 }
10476}
10477#[cfg(feature = "Win32_Foundation")]
10478impl ::core::cmp::Eq for KERB_SUBMIT_TKT_REQUEST {}
10479#[cfg(feature = "Win32_Foundation")]
10480impl ::core::default::Default for KERB_SUBMIT_TKT_REQUEST {
10481 fn default() -> Self {
10482 unsafe { ::core::mem::zeroed() }
10483 }
10484}
10485#[repr(C)]
10486#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
10487#[cfg(feature = "Win32_Foundation")]
10488pub struct KERB_TICKET_CACHE_INFO {
10489 pub ServerName: super::super::super::Foundation::UNICODE_STRING,
10490 pub RealmName: super::super::super::Foundation::UNICODE_STRING,
10491 pub StartTime: i64,
10492 pub EndTime: i64,
10493 pub RenewTime: i64,
10494 pub EncryptionType: i32,
10495 pub TicketFlags: KERB_TICKET_FLAGS,
10496}
10497#[cfg(feature = "Win32_Foundation")]
10498impl ::core::marker::Copy for KERB_TICKET_CACHE_INFO {}
10499#[cfg(feature = "Win32_Foundation")]
10500impl ::core::clone::Clone for KERB_TICKET_CACHE_INFO {
10501 fn clone(&self) -> Self {
10502 *self
10503 }
10504}
10505#[cfg(feature = "Win32_Foundation")]
10506impl ::core::fmt::Debug for KERB_TICKET_CACHE_INFO {
10507 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10508 f.debug_struct("KERB_TICKET_CACHE_INFO").field("ServerName", &self.ServerName).field("RealmName", &self.RealmName).field("StartTime", &self.StartTime).field("EndTime", &self.EndTime).field("RenewTime", &self.RenewTime).field("EncryptionType", &self.EncryptionType).field("TicketFlags", &self.TicketFlags).finish()
10509 }
10510}
10511#[cfg(feature = "Win32_Foundation")]
10512impl ::windows::core::TypeKind for KERB_TICKET_CACHE_INFO {
10513 type TypeKind = ::windows::core::CopyType;
10514}
10515#[cfg(feature = "Win32_Foundation")]
10516impl ::core::cmp::PartialEq for KERB_TICKET_CACHE_INFO {
10517 fn eq(&self, other: &Self) -> bool {
10518 self.ServerName == other.ServerName && self.RealmName == other.RealmName && self.StartTime == other.StartTime && self.EndTime == other.EndTime && self.RenewTime == other.RenewTime && self.EncryptionType == other.EncryptionType && self.TicketFlags == other.TicketFlags
10519 }
10520}
10521#[cfg(feature = "Win32_Foundation")]
10522impl ::core::cmp::Eq for KERB_TICKET_CACHE_INFO {}
10523#[cfg(feature = "Win32_Foundation")]
10524impl ::core::default::Default for KERB_TICKET_CACHE_INFO {
10525 fn default() -> Self {
10526 unsafe { ::core::mem::zeroed() }
10527 }
10528}
10529#[repr(C)]
10530#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
10531#[cfg(feature = "Win32_Foundation")]
10532pub struct KERB_TICKET_CACHE_INFO_EX {
10533 pub ClientName: super::super::super::Foundation::UNICODE_STRING,
10534 pub ClientRealm: super::super::super::Foundation::UNICODE_STRING,
10535 pub ServerName: super::super::super::Foundation::UNICODE_STRING,
10536 pub ServerRealm: super::super::super::Foundation::UNICODE_STRING,
10537 pub StartTime: i64,
10538 pub EndTime: i64,
10539 pub RenewTime: i64,
10540 pub EncryptionType: i32,
10541 pub TicketFlags: u32,
10542}
10543#[cfg(feature = "Win32_Foundation")]
10544impl ::core::marker::Copy for KERB_TICKET_CACHE_INFO_EX {}
10545#[cfg(feature = "Win32_Foundation")]
10546impl ::core::clone::Clone for KERB_TICKET_CACHE_INFO_EX {
10547 fn clone(&self) -> Self {
10548 *self
10549 }
10550}
10551#[cfg(feature = "Win32_Foundation")]
10552impl ::core::fmt::Debug for KERB_TICKET_CACHE_INFO_EX {
10553 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10554 f.debug_struct("KERB_TICKET_CACHE_INFO_EX").field("ClientName", &self.ClientName).field("ClientRealm", &self.ClientRealm).field("ServerName", &self.ServerName).field("ServerRealm", &self.ServerRealm).field("StartTime", &self.StartTime).field("EndTime", &self.EndTime).field("RenewTime", &self.RenewTime).field("EncryptionType", &self.EncryptionType).field("TicketFlags", &self.TicketFlags).finish()
10555 }
10556}
10557#[cfg(feature = "Win32_Foundation")]
10558impl ::windows::core::TypeKind for KERB_TICKET_CACHE_INFO_EX {
10559 type TypeKind = ::windows::core::CopyType;
10560}
10561#[cfg(feature = "Win32_Foundation")]
10562impl ::core::cmp::PartialEq for KERB_TICKET_CACHE_INFO_EX {
10563 fn eq(&self, other: &Self) -> bool {
10564 self.ClientName == other.ClientName && self.ClientRealm == other.ClientRealm && self.ServerName == other.ServerName && self.ServerRealm == other.ServerRealm && self.StartTime == other.StartTime && self.EndTime == other.EndTime && self.RenewTime == other.RenewTime && self.EncryptionType == other.EncryptionType && self.TicketFlags == other.TicketFlags
10565 }
10566}
10567#[cfg(feature = "Win32_Foundation")]
10568impl ::core::cmp::Eq for KERB_TICKET_CACHE_INFO_EX {}
10569#[cfg(feature = "Win32_Foundation")]
10570impl ::core::default::Default for KERB_TICKET_CACHE_INFO_EX {
10571 fn default() -> Self {
10572 unsafe { ::core::mem::zeroed() }
10573 }
10574}
10575#[repr(C)]
10576#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
10577#[cfg(feature = "Win32_Foundation")]
10578pub struct KERB_TICKET_CACHE_INFO_EX2 {
10579 pub ClientName: super::super::super::Foundation::UNICODE_STRING,
10580 pub ClientRealm: super::super::super::Foundation::UNICODE_STRING,
10581 pub ServerName: super::super::super::Foundation::UNICODE_STRING,
10582 pub ServerRealm: super::super::super::Foundation::UNICODE_STRING,
10583 pub StartTime: i64,
10584 pub EndTime: i64,
10585 pub RenewTime: i64,
10586 pub EncryptionType: i32,
10587 pub TicketFlags: u32,
10588 pub SessionKeyType: u32,
10589 pub BranchId: u32,
10590}
10591#[cfg(feature = "Win32_Foundation")]
10592impl ::core::marker::Copy for KERB_TICKET_CACHE_INFO_EX2 {}
10593#[cfg(feature = "Win32_Foundation")]
10594impl ::core::clone::Clone for KERB_TICKET_CACHE_INFO_EX2 {
10595 fn clone(&self) -> Self {
10596 *self
10597 }
10598}
10599#[cfg(feature = "Win32_Foundation")]
10600impl ::core::fmt::Debug for KERB_TICKET_CACHE_INFO_EX2 {
10601 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10602 f.debug_struct("KERB_TICKET_CACHE_INFO_EX2").field("ClientName", &self.ClientName).field("ClientRealm", &self.ClientRealm).field("ServerName", &self.ServerName).field("ServerRealm", &self.ServerRealm).field("StartTime", &self.StartTime).field("EndTime", &self.EndTime).field("RenewTime", &self.RenewTime).field("EncryptionType", &self.EncryptionType).field("TicketFlags", &self.TicketFlags).field("SessionKeyType", &self.SessionKeyType).field("BranchId", &self.BranchId).finish()
10603 }
10604}
10605#[cfg(feature = "Win32_Foundation")]
10606impl ::windows::core::TypeKind for KERB_TICKET_CACHE_INFO_EX2 {
10607 type TypeKind = ::windows::core::CopyType;
10608}
10609#[cfg(feature = "Win32_Foundation")]
10610impl ::core::cmp::PartialEq for KERB_TICKET_CACHE_INFO_EX2 {
10611 fn eq(&self, other: &Self) -> bool {
10612 self.ClientName == other.ClientName && self.ClientRealm == other.ClientRealm && self.ServerName == other.ServerName && self.ServerRealm == other.ServerRealm && self.StartTime == other.StartTime && self.EndTime == other.EndTime && self.RenewTime == other.RenewTime && self.EncryptionType == other.EncryptionType && self.TicketFlags == other.TicketFlags && self.SessionKeyType == other.SessionKeyType && self.BranchId == other.BranchId
10613 }
10614}
10615#[cfg(feature = "Win32_Foundation")]
10616impl ::core::cmp::Eq for KERB_TICKET_CACHE_INFO_EX2 {}
10617#[cfg(feature = "Win32_Foundation")]
10618impl ::core::default::Default for KERB_TICKET_CACHE_INFO_EX2 {
10619 fn default() -> Self {
10620 unsafe { ::core::mem::zeroed() }
10621 }
10622}
10623#[repr(C)]
10624#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
10625#[cfg(feature = "Win32_Foundation")]
10626pub struct KERB_TICKET_CACHE_INFO_EX3 {
10627 pub ClientName: super::super::super::Foundation::UNICODE_STRING,
10628 pub ClientRealm: super::super::super::Foundation::UNICODE_STRING,
10629 pub ServerName: super::super::super::Foundation::UNICODE_STRING,
10630 pub ServerRealm: super::super::super::Foundation::UNICODE_STRING,
10631 pub StartTime: i64,
10632 pub EndTime: i64,
10633 pub RenewTime: i64,
10634 pub EncryptionType: i32,
10635 pub TicketFlags: u32,
10636 pub SessionKeyType: u32,
10637 pub BranchId: u32,
10638 pub CacheFlags: u32,
10639 pub KdcCalled: super::super::super::Foundation::UNICODE_STRING,
10640}
10641#[cfg(feature = "Win32_Foundation")]
10642impl ::core::marker::Copy for KERB_TICKET_CACHE_INFO_EX3 {}
10643#[cfg(feature = "Win32_Foundation")]
10644impl ::core::clone::Clone for KERB_TICKET_CACHE_INFO_EX3 {
10645 fn clone(&self) -> Self {
10646 *self
10647 }
10648}
10649#[cfg(feature = "Win32_Foundation")]
10650impl ::core::fmt::Debug for KERB_TICKET_CACHE_INFO_EX3 {
10651 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10652 f.debug_struct("KERB_TICKET_CACHE_INFO_EX3")
10653 .field("ClientName", &self.ClientName)
10654 .field("ClientRealm", &self.ClientRealm)
10655 .field("ServerName", &self.ServerName)
10656 .field("ServerRealm", &self.ServerRealm)
10657 .field("StartTime", &self.StartTime)
10658 .field("EndTime", &self.EndTime)
10659 .field("RenewTime", &self.RenewTime)
10660 .field("EncryptionType", &self.EncryptionType)
10661 .field("TicketFlags", &self.TicketFlags)
10662 .field("SessionKeyType", &self.SessionKeyType)
10663 .field("BranchId", &self.BranchId)
10664 .field("CacheFlags", &self.CacheFlags)
10665 .field("KdcCalled", &self.KdcCalled)
10666 .finish()
10667 }
10668}
10669#[cfg(feature = "Win32_Foundation")]
10670impl ::windows::core::TypeKind for KERB_TICKET_CACHE_INFO_EX3 {
10671 type TypeKind = ::windows::core::CopyType;
10672}
10673#[cfg(feature = "Win32_Foundation")]
10674impl ::core::cmp::PartialEq for KERB_TICKET_CACHE_INFO_EX3 {
10675 fn eq(&self, other: &Self) -> bool {
10676 self.ClientName == other.ClientName && self.ClientRealm == other.ClientRealm && self.ServerName == other.ServerName && self.ServerRealm == other.ServerRealm && self.StartTime == other.StartTime && self.EndTime == other.EndTime && self.RenewTime == other.RenewTime && self.EncryptionType == other.EncryptionType && self.TicketFlags == other.TicketFlags && self.SessionKeyType == other.SessionKeyType && self.BranchId == other.BranchId && self.CacheFlags == other.CacheFlags && self.KdcCalled == other.KdcCalled
10677 }
10678}
10679#[cfg(feature = "Win32_Foundation")]
10680impl ::core::cmp::Eq for KERB_TICKET_CACHE_INFO_EX3 {}
10681#[cfg(feature = "Win32_Foundation")]
10682impl ::core::default::Default for KERB_TICKET_CACHE_INFO_EX3 {
10683 fn default() -> Self {
10684 unsafe { ::core::mem::zeroed() }
10685 }
10686}
10687#[repr(C)]
10688#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
10689pub struct KERB_TICKET_LOGON {
10690 pub MessageType: KERB_LOGON_SUBMIT_TYPE,
10691 pub Flags: u32,
10692 pub ServiceTicketLength: u32,
10693 pub TicketGrantingTicketLength: u32,
10694 pub ServiceTicket: *mut u8,
10695 pub TicketGrantingTicket: *mut u8,
10696}
10697impl ::core::marker::Copy for KERB_TICKET_LOGON {}
10698impl ::core::clone::Clone for KERB_TICKET_LOGON {
10699 fn clone(&self) -> Self {
10700 *self
10701 }
10702}
10703impl ::core::fmt::Debug for KERB_TICKET_LOGON {
10704 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10705 f.debug_struct("KERB_TICKET_LOGON").field("MessageType", &self.MessageType).field("Flags", &self.Flags).field("ServiceTicketLength", &self.ServiceTicketLength).field("TicketGrantingTicketLength", &self.TicketGrantingTicketLength).field("ServiceTicket", &self.ServiceTicket).field("TicketGrantingTicket", &self.TicketGrantingTicket).finish()
10706 }
10707}
10708impl ::windows::core::TypeKind for KERB_TICKET_LOGON {
10709 type TypeKind = ::windows::core::CopyType;
10710}
10711impl ::core::cmp::PartialEq for KERB_TICKET_LOGON {
10712 fn eq(&self, other: &Self) -> bool {
10713 self.MessageType == other.MessageType && self.Flags == other.Flags && self.ServiceTicketLength == other.ServiceTicketLength && self.TicketGrantingTicketLength == other.TicketGrantingTicketLength && self.ServiceTicket == other.ServiceTicket && self.TicketGrantingTicket == other.TicketGrantingTicket
10714 }
10715}
10716impl ::core::cmp::Eq for KERB_TICKET_LOGON {}
10717impl ::core::default::Default for KERB_TICKET_LOGON {
10718 fn default() -> Self {
10719 unsafe { ::core::mem::zeroed() }
10720 }
10721}
10722#[repr(C)]
10723#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
10724#[cfg(feature = "Win32_Foundation")]
10725pub struct KERB_TICKET_PROFILE {
10726 pub Profile: KERB_INTERACTIVE_PROFILE,
10727 pub SessionKey: KERB_CRYPTO_KEY,
10728}
10729#[cfg(feature = "Win32_Foundation")]
10730impl ::core::marker::Copy for KERB_TICKET_PROFILE {}
10731#[cfg(feature = "Win32_Foundation")]
10732impl ::core::clone::Clone for KERB_TICKET_PROFILE {
10733 fn clone(&self) -> Self {
10734 *self
10735 }
10736}
10737#[cfg(feature = "Win32_Foundation")]
10738impl ::core::fmt::Debug for KERB_TICKET_PROFILE {
10739 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10740 f.debug_struct("KERB_TICKET_PROFILE").field("Profile", &self.Profile).field("SessionKey", &self.SessionKey).finish()
10741 }
10742}
10743#[cfg(feature = "Win32_Foundation")]
10744impl ::windows::core::TypeKind for KERB_TICKET_PROFILE {
10745 type TypeKind = ::windows::core::CopyType;
10746}
10747#[cfg(feature = "Win32_Foundation")]
10748impl ::core::cmp::PartialEq for KERB_TICKET_PROFILE {
10749 fn eq(&self, other: &Self) -> bool {
10750 self.Profile == other.Profile && self.SessionKey == other.SessionKey
10751 }
10752}
10753#[cfg(feature = "Win32_Foundation")]
10754impl ::core::cmp::Eq for KERB_TICKET_PROFILE {}
10755#[cfg(feature = "Win32_Foundation")]
10756impl ::core::default::Default for KERB_TICKET_PROFILE {
10757 fn default() -> Self {
10758 unsafe { ::core::mem::zeroed() }
10759 }
10760}
10761#[repr(C)]
10762#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
10763#[cfg(feature = "Win32_Foundation")]
10764pub struct KERB_TICKET_UNLOCK_LOGON {
10765 pub Logon: KERB_TICKET_LOGON,
10766 pub LogonId: super::super::super::Foundation::LUID,
10767}
10768#[cfg(feature = "Win32_Foundation")]
10769impl ::core::marker::Copy for KERB_TICKET_UNLOCK_LOGON {}
10770#[cfg(feature = "Win32_Foundation")]
10771impl ::core::clone::Clone for KERB_TICKET_UNLOCK_LOGON {
10772 fn clone(&self) -> Self {
10773 *self
10774 }
10775}
10776#[cfg(feature = "Win32_Foundation")]
10777impl ::core::fmt::Debug for KERB_TICKET_UNLOCK_LOGON {
10778 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10779 f.debug_struct("KERB_TICKET_UNLOCK_LOGON").field("Logon", &self.Logon).field("LogonId", &self.LogonId).finish()
10780 }
10781}
10782#[cfg(feature = "Win32_Foundation")]
10783impl ::windows::core::TypeKind for KERB_TICKET_UNLOCK_LOGON {
10784 type TypeKind = ::windows::core::CopyType;
10785}
10786#[cfg(feature = "Win32_Foundation")]
10787impl ::core::cmp::PartialEq for KERB_TICKET_UNLOCK_LOGON {
10788 fn eq(&self, other: &Self) -> bool {
10789 self.Logon == other.Logon && self.LogonId == other.LogonId
10790 }
10791}
10792#[cfg(feature = "Win32_Foundation")]
10793impl ::core::cmp::Eq for KERB_TICKET_UNLOCK_LOGON {}
10794#[cfg(feature = "Win32_Foundation")]
10795impl ::core::default::Default for KERB_TICKET_UNLOCK_LOGON {
10796 fn default() -> Self {
10797 unsafe { ::core::mem::zeroed() }
10798 }
10799}
10800#[repr(C)]
10801#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
10802#[cfg(feature = "Win32_Foundation")]
10803pub struct KERB_TRANSFER_CRED_REQUEST {
10804 pub MessageType: KERB_PROTOCOL_MESSAGE_TYPE,
10805 pub OriginLogonId: super::super::super::Foundation::LUID,
10806 pub DestinationLogonId: super::super::super::Foundation::LUID,
10807 pub Flags: u32,
10808}
10809#[cfg(feature = "Win32_Foundation")]
10810impl ::core::marker::Copy for KERB_TRANSFER_CRED_REQUEST {}
10811#[cfg(feature = "Win32_Foundation")]
10812impl ::core::clone::Clone for KERB_TRANSFER_CRED_REQUEST {
10813 fn clone(&self) -> Self {
10814 *self
10815 }
10816}
10817#[cfg(feature = "Win32_Foundation")]
10818impl ::core::fmt::Debug for KERB_TRANSFER_CRED_REQUEST {
10819 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10820 f.debug_struct("KERB_TRANSFER_CRED_REQUEST").field("MessageType", &self.MessageType).field("OriginLogonId", &self.OriginLogonId).field("DestinationLogonId", &self.DestinationLogonId).field("Flags", &self.Flags).finish()
10821 }
10822}
10823#[cfg(feature = "Win32_Foundation")]
10824impl ::windows::core::TypeKind for KERB_TRANSFER_CRED_REQUEST {
10825 type TypeKind = ::windows::core::CopyType;
10826}
10827#[cfg(feature = "Win32_Foundation")]
10828impl ::core::cmp::PartialEq for KERB_TRANSFER_CRED_REQUEST {
10829 fn eq(&self, other: &Self) -> bool {
10830 self.MessageType == other.MessageType && self.OriginLogonId == other.OriginLogonId && self.DestinationLogonId == other.DestinationLogonId && self.Flags == other.Flags
10831 }
10832}
10833#[cfg(feature = "Win32_Foundation")]
10834impl ::core::cmp::Eq for KERB_TRANSFER_CRED_REQUEST {}
10835#[cfg(feature = "Win32_Foundation")]
10836impl ::core::default::Default for KERB_TRANSFER_CRED_REQUEST {
10837 fn default() -> Self {
10838 unsafe { ::core::mem::zeroed() }
10839 }
10840}
10841#[repr(C)]
10842#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_System_Kernel\"`*"]
10843#[cfg(feature = "Win32_System_Kernel")]
10844pub struct KSEC_LIST_ENTRY {
10845 pub List: super::super::super::System::Kernel::LIST_ENTRY,
10846 pub RefCount: i32,
10847 pub Signature: u32,
10848 pub OwningList: *mut ::core::ffi::c_void,
10849 pub Reserved: *mut ::core::ffi::c_void,
10850}
10851#[cfg(feature = "Win32_System_Kernel")]
10852impl ::core::marker::Copy for KSEC_LIST_ENTRY {}
10853#[cfg(feature = "Win32_System_Kernel")]
10854impl ::core::clone::Clone for KSEC_LIST_ENTRY {
10855 fn clone(&self) -> Self {
10856 *self
10857 }
10858}
10859#[cfg(feature = "Win32_System_Kernel")]
10860impl ::core::fmt::Debug for KSEC_LIST_ENTRY {
10861 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10862 f.debug_struct("KSEC_LIST_ENTRY").field("List", &self.List).field("RefCount", &self.RefCount).field("Signature", &self.Signature).field("OwningList", &self.OwningList).field("Reserved", &self.Reserved).finish()
10863 }
10864}
10865#[cfg(feature = "Win32_System_Kernel")]
10866impl ::windows::core::TypeKind for KSEC_LIST_ENTRY {
10867 type TypeKind = ::windows::core::CopyType;
10868}
10869#[cfg(feature = "Win32_System_Kernel")]
10870impl ::core::cmp::PartialEq for KSEC_LIST_ENTRY {
10871 fn eq(&self, other: &Self) -> bool {
10872 self.List == other.List && self.RefCount == other.RefCount && self.Signature == other.Signature && self.OwningList == other.OwningList && self.Reserved == other.Reserved
10873 }
10874}
10875#[cfg(feature = "Win32_System_Kernel")]
10876impl ::core::cmp::Eq for KSEC_LIST_ENTRY {}
10877#[cfg(feature = "Win32_System_Kernel")]
10878impl ::core::default::Default for KSEC_LIST_ENTRY {
10879 fn default() -> Self {
10880 unsafe { ::core::mem::zeroed() }
10881 }
10882}
10883#[repr(C)]
10884#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
10885pub struct LOGON_HOURS {
10886 pub UnitsPerWeek: u16,
10887 pub LogonHours: *mut u8,
10888}
10889impl ::core::marker::Copy for LOGON_HOURS {}
10890impl ::core::clone::Clone for LOGON_HOURS {
10891 fn clone(&self) -> Self {
10892 *self
10893 }
10894}
10895impl ::core::fmt::Debug for LOGON_HOURS {
10896 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10897 f.debug_struct("LOGON_HOURS").field("UnitsPerWeek", &self.UnitsPerWeek).field("LogonHours", &self.LogonHours).finish()
10898 }
10899}
10900impl ::windows::core::TypeKind for LOGON_HOURS {
10901 type TypeKind = ::windows::core::CopyType;
10902}
10903impl ::core::cmp::PartialEq for LOGON_HOURS {
10904 fn eq(&self, other: &Self) -> bool {
10905 self.UnitsPerWeek == other.UnitsPerWeek && self.LogonHours == other.LogonHours
10906 }
10907}
10908impl ::core::cmp::Eq for LOGON_HOURS {}
10909impl ::core::default::Default for LOGON_HOURS {
10910 fn default() -> Self {
10911 unsafe { ::core::mem::zeroed() }
10912 }
10913}
10914#[repr(C)]
10915#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
10916pub struct LSA_AUTH_INFORMATION {
10917 pub LastUpdateTime: i64,
10918 pub AuthType: LSA_AUTH_INFORMATION_AUTH_TYPE,
10919 pub AuthInfoLength: u32,
10920 pub AuthInfo: *mut u8,
10921}
10922impl ::core::marker::Copy for LSA_AUTH_INFORMATION {}
10923impl ::core::clone::Clone for LSA_AUTH_INFORMATION {
10924 fn clone(&self) -> Self {
10925 *self
10926 }
10927}
10928impl ::core::fmt::Debug for LSA_AUTH_INFORMATION {
10929 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10930 f.debug_struct("LSA_AUTH_INFORMATION").field("LastUpdateTime", &self.LastUpdateTime).field("AuthType", &self.AuthType).field("AuthInfoLength", &self.AuthInfoLength).field("AuthInfo", &self.AuthInfo).finish()
10931 }
10932}
10933impl ::windows::core::TypeKind for LSA_AUTH_INFORMATION {
10934 type TypeKind = ::windows::core::CopyType;
10935}
10936impl ::core::cmp::PartialEq for LSA_AUTH_INFORMATION {
10937 fn eq(&self, other: &Self) -> bool {
10938 self.LastUpdateTime == other.LastUpdateTime && self.AuthType == other.AuthType && self.AuthInfoLength == other.AuthInfoLength && self.AuthInfo == other.AuthInfo
10939 }
10940}
10941impl ::core::cmp::Eq for LSA_AUTH_INFORMATION {}
10942impl ::core::default::Default for LSA_AUTH_INFORMATION {
10943 fn default() -> Self {
10944 unsafe { ::core::mem::zeroed() }
10945 }
10946}
10947#[repr(C)]
10948#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`*"]
10949#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
10950pub struct LSA_DISPATCH_TABLE {
10951 pub CreateLogonSession: PLSA_CREATE_LOGON_SESSION,
10952 pub DeleteLogonSession: PLSA_DELETE_LOGON_SESSION,
10953 pub AddCredential: PLSA_ADD_CREDENTIAL,
10954 pub GetCredentials: PLSA_GET_CREDENTIALS,
10955 pub DeleteCredential: PLSA_DELETE_CREDENTIAL,
10956 pub AllocateLsaHeap: PLSA_ALLOCATE_LSA_HEAP,
10957 pub FreeLsaHeap: PLSA_FREE_LSA_HEAP,
10958 pub AllocateClientBuffer: PLSA_ALLOCATE_CLIENT_BUFFER,
10959 pub FreeClientBuffer: PLSA_FREE_CLIENT_BUFFER,
10960 pub CopyToClientBuffer: PLSA_COPY_TO_CLIENT_BUFFER,
10961 pub CopyFromClientBuffer: PLSA_COPY_FROM_CLIENT_BUFFER,
10962}
10963#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
10964impl ::core::marker::Copy for LSA_DISPATCH_TABLE {}
10965#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
10966impl ::core::clone::Clone for LSA_DISPATCH_TABLE {
10967 fn clone(&self) -> Self {
10968 *self
10969 }
10970}
10971#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
10972impl ::core::fmt::Debug for LSA_DISPATCH_TABLE {
10973 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10974 f.debug_struct("LSA_DISPATCH_TABLE").finish()
10975 }
10976}
10977#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
10978impl ::windows::core::TypeKind for LSA_DISPATCH_TABLE {
10979 type TypeKind = ::windows::core::CopyType;
10980}
10981#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
10982impl ::core::default::Default for LSA_DISPATCH_TABLE {
10983 fn default() -> Self {
10984 unsafe { ::core::mem::zeroed() }
10985 }
10986}
10987#[repr(C)]
10988#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
10989#[cfg(feature = "Win32_Foundation")]
10990pub struct LSA_ENUMERATION_INFORMATION {
10991 pub Sid: super::super::super::Foundation::PSID,
10992}
10993#[cfg(feature = "Win32_Foundation")]
10994impl ::core::marker::Copy for LSA_ENUMERATION_INFORMATION {}
10995#[cfg(feature = "Win32_Foundation")]
10996impl ::core::clone::Clone for LSA_ENUMERATION_INFORMATION {
10997 fn clone(&self) -> Self {
10998 *self
10999 }
11000}
11001#[cfg(feature = "Win32_Foundation")]
11002impl ::core::fmt::Debug for LSA_ENUMERATION_INFORMATION {
11003 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11004 f.debug_struct("LSA_ENUMERATION_INFORMATION").field("Sid", &self.Sid).finish()
11005 }
11006}
11007#[cfg(feature = "Win32_Foundation")]
11008impl ::windows::core::TypeKind for LSA_ENUMERATION_INFORMATION {
11009 type TypeKind = ::windows::core::CopyType;
11010}
11011#[cfg(feature = "Win32_Foundation")]
11012impl ::core::cmp::PartialEq for LSA_ENUMERATION_INFORMATION {
11013 fn eq(&self, other: &Self) -> bool {
11014 self.Sid == other.Sid
11015 }
11016}
11017#[cfg(feature = "Win32_Foundation")]
11018impl ::core::cmp::Eq for LSA_ENUMERATION_INFORMATION {}
11019#[cfg(feature = "Win32_Foundation")]
11020impl ::core::default::Default for LSA_ENUMERATION_INFORMATION {
11021 fn default() -> Self {
11022 unsafe { ::core::mem::zeroed() }
11023 }
11024}
11025#[repr(C)]
11026#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
11027pub struct LSA_FOREST_TRUST_BINARY_DATA {
11028 pub Length: u32,
11029 pub Buffer: *mut u8,
11030}
11031impl ::core::marker::Copy for LSA_FOREST_TRUST_BINARY_DATA {}
11032impl ::core::clone::Clone for LSA_FOREST_TRUST_BINARY_DATA {
11033 fn clone(&self) -> Self {
11034 *self
11035 }
11036}
11037impl ::core::fmt::Debug for LSA_FOREST_TRUST_BINARY_DATA {
11038 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11039 f.debug_struct("LSA_FOREST_TRUST_BINARY_DATA").field("Length", &self.Length).field("Buffer", &self.Buffer).finish()
11040 }
11041}
11042impl ::windows::core::TypeKind for LSA_FOREST_TRUST_BINARY_DATA {
11043 type TypeKind = ::windows::core::CopyType;
11044}
11045impl ::core::cmp::PartialEq for LSA_FOREST_TRUST_BINARY_DATA {
11046 fn eq(&self, other: &Self) -> bool {
11047 self.Length == other.Length && self.Buffer == other.Buffer
11048 }
11049}
11050impl ::core::cmp::Eq for LSA_FOREST_TRUST_BINARY_DATA {}
11051impl ::core::default::Default for LSA_FOREST_TRUST_BINARY_DATA {
11052 fn default() -> Self {
11053 unsafe { ::core::mem::zeroed() }
11054 }
11055}
11056#[repr(C)]
11057#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
11058#[cfg(feature = "Win32_Foundation")]
11059pub struct LSA_FOREST_TRUST_COLLISION_INFORMATION {
11060 pub RecordCount: u32,
11061 pub Entries: *mut *mut LSA_FOREST_TRUST_COLLISION_RECORD,
11062}
11063#[cfg(feature = "Win32_Foundation")]
11064impl ::core::marker::Copy for LSA_FOREST_TRUST_COLLISION_INFORMATION {}
11065#[cfg(feature = "Win32_Foundation")]
11066impl ::core::clone::Clone for LSA_FOREST_TRUST_COLLISION_INFORMATION {
11067 fn clone(&self) -> Self {
11068 *self
11069 }
11070}
11071#[cfg(feature = "Win32_Foundation")]
11072impl ::core::fmt::Debug for LSA_FOREST_TRUST_COLLISION_INFORMATION {
11073 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11074 f.debug_struct("LSA_FOREST_TRUST_COLLISION_INFORMATION").field("RecordCount", &self.RecordCount).field("Entries", &self.Entries).finish()
11075 }
11076}
11077#[cfg(feature = "Win32_Foundation")]
11078impl ::windows::core::TypeKind for LSA_FOREST_TRUST_COLLISION_INFORMATION {
11079 type TypeKind = ::windows::core::CopyType;
11080}
11081#[cfg(feature = "Win32_Foundation")]
11082impl ::core::cmp::PartialEq for LSA_FOREST_TRUST_COLLISION_INFORMATION {
11083 fn eq(&self, other: &Self) -> bool {
11084 self.RecordCount == other.RecordCount && self.Entries == other.Entries
11085 }
11086}
11087#[cfg(feature = "Win32_Foundation")]
11088impl ::core::cmp::Eq for LSA_FOREST_TRUST_COLLISION_INFORMATION {}
11089#[cfg(feature = "Win32_Foundation")]
11090impl ::core::default::Default for LSA_FOREST_TRUST_COLLISION_INFORMATION {
11091 fn default() -> Self {
11092 unsafe { ::core::mem::zeroed() }
11093 }
11094}
11095#[repr(C)]
11096#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
11097#[cfg(feature = "Win32_Foundation")]
11098pub struct LSA_FOREST_TRUST_COLLISION_RECORD {
11099 pub Index: u32,
11100 pub Type: LSA_FOREST_TRUST_COLLISION_RECORD_TYPE,
11101 pub Flags: u32,
11102 pub Name: super::super::super::Foundation::UNICODE_STRING,
11103}
11104#[cfg(feature = "Win32_Foundation")]
11105impl ::core::marker::Copy for LSA_FOREST_TRUST_COLLISION_RECORD {}
11106#[cfg(feature = "Win32_Foundation")]
11107impl ::core::clone::Clone for LSA_FOREST_TRUST_COLLISION_RECORD {
11108 fn clone(&self) -> Self {
11109 *self
11110 }
11111}
11112#[cfg(feature = "Win32_Foundation")]
11113impl ::core::fmt::Debug for LSA_FOREST_TRUST_COLLISION_RECORD {
11114 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11115 f.debug_struct("LSA_FOREST_TRUST_COLLISION_RECORD").field("Index", &self.Index).field("Type", &self.Type).field("Flags", &self.Flags).field("Name", &self.Name).finish()
11116 }
11117}
11118#[cfg(feature = "Win32_Foundation")]
11119impl ::windows::core::TypeKind for LSA_FOREST_TRUST_COLLISION_RECORD {
11120 type TypeKind = ::windows::core::CopyType;
11121}
11122#[cfg(feature = "Win32_Foundation")]
11123impl ::core::cmp::PartialEq for LSA_FOREST_TRUST_COLLISION_RECORD {
11124 fn eq(&self, other: &Self) -> bool {
11125 self.Index == other.Index && self.Type == other.Type && self.Flags == other.Flags && self.Name == other.Name
11126 }
11127}
11128#[cfg(feature = "Win32_Foundation")]
11129impl ::core::cmp::Eq for LSA_FOREST_TRUST_COLLISION_RECORD {}
11130#[cfg(feature = "Win32_Foundation")]
11131impl ::core::default::Default for LSA_FOREST_TRUST_COLLISION_RECORD {
11132 fn default() -> Self {
11133 unsafe { ::core::mem::zeroed() }
11134 }
11135}
11136#[repr(C)]
11137#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
11138#[cfg(feature = "Win32_Foundation")]
11139pub struct LSA_FOREST_TRUST_DOMAIN_INFO {
11140 pub Sid: super::super::super::Foundation::PSID,
11141 pub DnsName: super::super::super::Foundation::UNICODE_STRING,
11142 pub NetbiosName: super::super::super::Foundation::UNICODE_STRING,
11143}
11144#[cfg(feature = "Win32_Foundation")]
11145impl ::core::marker::Copy for LSA_FOREST_TRUST_DOMAIN_INFO {}
11146#[cfg(feature = "Win32_Foundation")]
11147impl ::core::clone::Clone for LSA_FOREST_TRUST_DOMAIN_INFO {
11148 fn clone(&self) -> Self {
11149 *self
11150 }
11151}
11152#[cfg(feature = "Win32_Foundation")]
11153impl ::core::fmt::Debug for LSA_FOREST_TRUST_DOMAIN_INFO {
11154 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11155 f.debug_struct("LSA_FOREST_TRUST_DOMAIN_INFO").field("Sid", &self.Sid).field("DnsName", &self.DnsName).field("NetbiosName", &self.NetbiosName).finish()
11156 }
11157}
11158#[cfg(feature = "Win32_Foundation")]
11159impl ::windows::core::TypeKind for LSA_FOREST_TRUST_DOMAIN_INFO {
11160 type TypeKind = ::windows::core::CopyType;
11161}
11162#[cfg(feature = "Win32_Foundation")]
11163impl ::core::cmp::PartialEq for LSA_FOREST_TRUST_DOMAIN_INFO {
11164 fn eq(&self, other: &Self) -> bool {
11165 self.Sid == other.Sid && self.DnsName == other.DnsName && self.NetbiosName == other.NetbiosName
11166 }
11167}
11168#[cfg(feature = "Win32_Foundation")]
11169impl ::core::cmp::Eq for LSA_FOREST_TRUST_DOMAIN_INFO {}
11170#[cfg(feature = "Win32_Foundation")]
11171impl ::core::default::Default for LSA_FOREST_TRUST_DOMAIN_INFO {
11172 fn default() -> Self {
11173 unsafe { ::core::mem::zeroed() }
11174 }
11175}
11176#[repr(C)]
11177#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
11178#[cfg(feature = "Win32_Foundation")]
11179pub struct LSA_FOREST_TRUST_INFORMATION {
11180 pub RecordCount: u32,
11181 pub Entries: *mut *mut LSA_FOREST_TRUST_RECORD,
11182}
11183#[cfg(feature = "Win32_Foundation")]
11184impl ::core::marker::Copy for LSA_FOREST_TRUST_INFORMATION {}
11185#[cfg(feature = "Win32_Foundation")]
11186impl ::core::clone::Clone for LSA_FOREST_TRUST_INFORMATION {
11187 fn clone(&self) -> Self {
11188 *self
11189 }
11190}
11191#[cfg(feature = "Win32_Foundation")]
11192impl ::core::fmt::Debug for LSA_FOREST_TRUST_INFORMATION {
11193 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11194 f.debug_struct("LSA_FOREST_TRUST_INFORMATION").field("RecordCount", &self.RecordCount).field("Entries", &self.Entries).finish()
11195 }
11196}
11197#[cfg(feature = "Win32_Foundation")]
11198impl ::windows::core::TypeKind for LSA_FOREST_TRUST_INFORMATION {
11199 type TypeKind = ::windows::core::CopyType;
11200}
11201#[cfg(feature = "Win32_Foundation")]
11202impl ::core::cmp::PartialEq for LSA_FOREST_TRUST_INFORMATION {
11203 fn eq(&self, other: &Self) -> bool {
11204 self.RecordCount == other.RecordCount && self.Entries == other.Entries
11205 }
11206}
11207#[cfg(feature = "Win32_Foundation")]
11208impl ::core::cmp::Eq for LSA_FOREST_TRUST_INFORMATION {}
11209#[cfg(feature = "Win32_Foundation")]
11210impl ::core::default::Default for LSA_FOREST_TRUST_INFORMATION {
11211 fn default() -> Self {
11212 unsafe { ::core::mem::zeroed() }
11213 }
11214}
11215#[repr(C)]
11216#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
11217#[cfg(feature = "Win32_Foundation")]
11218pub struct LSA_FOREST_TRUST_RECORD {
11219 pub Flags: u32,
11220 pub ForestTrustType: LSA_FOREST_TRUST_RECORD_TYPE,
11221 pub Time: i64,
11222 pub ForestTrustData: LSA_FOREST_TRUST_RECORD_0,
11223}
11224#[cfg(feature = "Win32_Foundation")]
11225impl ::core::marker::Copy for LSA_FOREST_TRUST_RECORD {}
11226#[cfg(feature = "Win32_Foundation")]
11227impl ::core::clone::Clone for LSA_FOREST_TRUST_RECORD {
11228 fn clone(&self) -> Self {
11229 *self
11230 }
11231}
11232#[cfg(feature = "Win32_Foundation")]
11233impl ::windows::core::TypeKind for LSA_FOREST_TRUST_RECORD {
11234 type TypeKind = ::windows::core::CopyType;
11235}
11236#[cfg(feature = "Win32_Foundation")]
11237impl ::core::default::Default for LSA_FOREST_TRUST_RECORD {
11238 fn default() -> Self {
11239 unsafe { ::core::mem::zeroed() }
11240 }
11241}
11242#[repr(C)]
11243#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
11244#[cfg(feature = "Win32_Foundation")]
11245pub union LSA_FOREST_TRUST_RECORD_0 {
11246 pub TopLevelName: super::super::super::Foundation::UNICODE_STRING,
11247 pub DomainInfo: LSA_FOREST_TRUST_DOMAIN_INFO,
11248 pub Data: LSA_FOREST_TRUST_BINARY_DATA,
11249}
11250#[cfg(feature = "Win32_Foundation")]
11251impl ::core::marker::Copy for LSA_FOREST_TRUST_RECORD_0 {}
11252#[cfg(feature = "Win32_Foundation")]
11253impl ::core::clone::Clone for LSA_FOREST_TRUST_RECORD_0 {
11254 fn clone(&self) -> Self {
11255 *self
11256 }
11257}
11258#[cfg(feature = "Win32_Foundation")]
11259impl ::windows::core::TypeKind for LSA_FOREST_TRUST_RECORD_0 {
11260 type TypeKind = ::windows::core::CopyType;
11261}
11262#[cfg(feature = "Win32_Foundation")]
11263impl ::core::default::Default for LSA_FOREST_TRUST_RECORD_0 {
11264 fn default() -> Self {
11265 unsafe { ::core::mem::zeroed() }
11266 }
11267}
11268#[repr(transparent)]
11269#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11270pub struct LSA_HANDLE(pub isize);
11271impl LSA_HANDLE {
11272 pub fn is_invalid(&self) -> bool {
11273 self.0 == -1 || self.0 == 0
11274 }
11275}
11276impl ::core::default::Default for LSA_HANDLE {
11277 fn default() -> Self {
11278 unsafe { ::core::mem::zeroed() }
11279 }
11280}
11281impl ::core::clone::Clone for LSA_HANDLE {
11282 fn clone(&self) -> Self {
11283 *self
11284 }
11285}
11286impl ::core::marker::Copy for LSA_HANDLE {}
11287impl ::core::fmt::Debug for LSA_HANDLE {
11288 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11289 f.debug_tuple("LSA_HANDLE").field(&self.0).finish()
11290 }
11291}
11292impl ::windows::core::TypeKind for LSA_HANDLE {
11293 type TypeKind = ::windows::core::CopyType;
11294}
11295#[repr(C)]
11296#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
11297pub struct LSA_LAST_INTER_LOGON_INFO {
11298 pub LastSuccessfulLogon: i64,
11299 pub LastFailedLogon: i64,
11300 pub FailedAttemptCountSinceLastSuccessfulLogon: u32,
11301}
11302impl ::core::marker::Copy for LSA_LAST_INTER_LOGON_INFO {}
11303impl ::core::clone::Clone for LSA_LAST_INTER_LOGON_INFO {
11304 fn clone(&self) -> Self {
11305 *self
11306 }
11307}
11308impl ::core::fmt::Debug for LSA_LAST_INTER_LOGON_INFO {
11309 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11310 f.debug_struct("LSA_LAST_INTER_LOGON_INFO").field("LastSuccessfulLogon", &self.LastSuccessfulLogon).field("LastFailedLogon", &self.LastFailedLogon).field("FailedAttemptCountSinceLastSuccessfulLogon", &self.FailedAttemptCountSinceLastSuccessfulLogon).finish()
11311 }
11312}
11313impl ::windows::core::TypeKind for LSA_LAST_INTER_LOGON_INFO {
11314 type TypeKind = ::windows::core::CopyType;
11315}
11316impl ::core::cmp::PartialEq for LSA_LAST_INTER_LOGON_INFO {
11317 fn eq(&self, other: &Self) -> bool {
11318 self.LastSuccessfulLogon == other.LastSuccessfulLogon && self.LastFailedLogon == other.LastFailedLogon && self.FailedAttemptCountSinceLastSuccessfulLogon == other.FailedAttemptCountSinceLastSuccessfulLogon
11319 }
11320}
11321impl ::core::cmp::Eq for LSA_LAST_INTER_LOGON_INFO {}
11322impl ::core::default::Default for LSA_LAST_INTER_LOGON_INFO {
11323 fn default() -> Self {
11324 unsafe { ::core::mem::zeroed() }
11325 }
11326}
11327#[repr(C)]
11328#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
11329#[cfg(feature = "Win32_Foundation")]
11330pub struct LSA_REFERENCED_DOMAIN_LIST {
11331 pub Entries: u32,
11332 pub Domains: *mut LSA_TRUST_INFORMATION,
11333}
11334#[cfg(feature = "Win32_Foundation")]
11335impl ::core::marker::Copy for LSA_REFERENCED_DOMAIN_LIST {}
11336#[cfg(feature = "Win32_Foundation")]
11337impl ::core::clone::Clone for LSA_REFERENCED_DOMAIN_LIST {
11338 fn clone(&self) -> Self {
11339 *self
11340 }
11341}
11342#[cfg(feature = "Win32_Foundation")]
11343impl ::core::fmt::Debug for LSA_REFERENCED_DOMAIN_LIST {
11344 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11345 f.debug_struct("LSA_REFERENCED_DOMAIN_LIST").field("Entries", &self.Entries).field("Domains", &self.Domains).finish()
11346 }
11347}
11348#[cfg(feature = "Win32_Foundation")]
11349impl ::windows::core::TypeKind for LSA_REFERENCED_DOMAIN_LIST {
11350 type TypeKind = ::windows::core::CopyType;
11351}
11352#[cfg(feature = "Win32_Foundation")]
11353impl ::core::cmp::PartialEq for LSA_REFERENCED_DOMAIN_LIST {
11354 fn eq(&self, other: &Self) -> bool {
11355 self.Entries == other.Entries && self.Domains == other.Domains
11356 }
11357}
11358#[cfg(feature = "Win32_Foundation")]
11359impl ::core::cmp::Eq for LSA_REFERENCED_DOMAIN_LIST {}
11360#[cfg(feature = "Win32_Foundation")]
11361impl ::core::default::Default for LSA_REFERENCED_DOMAIN_LIST {
11362 fn default() -> Self {
11363 unsafe { ::core::mem::zeroed() }
11364 }
11365}
11366#[repr(C)]
11367#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_Security_Credentials\"`, `\"Win32_System_Kernel\"`, `\"Win32_System_Threading\"`*"]
11368#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
11369pub struct LSA_SECPKG_FUNCTION_TABLE {
11370 pub CreateLogonSession: PLSA_CREATE_LOGON_SESSION,
11371 pub DeleteLogonSession: PLSA_DELETE_LOGON_SESSION,
11372 pub AddCredential: PLSA_ADD_CREDENTIAL,
11373 pub GetCredentials: PLSA_GET_CREDENTIALS,
11374 pub DeleteCredential: PLSA_DELETE_CREDENTIAL,
11375 pub AllocateLsaHeap: PLSA_ALLOCATE_LSA_HEAP,
11376 pub FreeLsaHeap: PLSA_FREE_LSA_HEAP,
11377 pub AllocateClientBuffer: PLSA_ALLOCATE_CLIENT_BUFFER,
11378 pub FreeClientBuffer: PLSA_FREE_CLIENT_BUFFER,
11379 pub CopyToClientBuffer: PLSA_COPY_TO_CLIENT_BUFFER,
11380 pub CopyFromClientBuffer: PLSA_COPY_FROM_CLIENT_BUFFER,
11381 pub ImpersonateClient: PLSA_IMPERSONATE_CLIENT,
11382 pub UnloadPackage: PLSA_UNLOAD_PACKAGE,
11383 pub DuplicateHandle: PLSA_DUPLICATE_HANDLE,
11384 pub SaveSupplementalCredentials: PLSA_SAVE_SUPPLEMENTAL_CREDENTIALS,
11385 pub CreateThread: PLSA_CREATE_THREAD,
11386 pub GetClientInfo: PLSA_GET_CLIENT_INFO,
11387 pub RegisterNotification: PLSA_REGISTER_NOTIFICATION,
11388 pub CancelNotification: PLSA_CANCEL_NOTIFICATION,
11389 pub MapBuffer: PLSA_MAP_BUFFER,
11390 pub CreateToken: PLSA_CREATE_TOKEN,
11391 pub AuditLogon: PLSA_AUDIT_LOGON,
11392 pub CallPackage: PLSA_CALL_PACKAGE,
11393 pub FreeReturnBuffer: PLSA_FREE_LSA_HEAP,
11394 pub GetCallInfo: PLSA_GET_CALL_INFO,
11395 pub CallPackageEx: PLSA_CALL_PACKAGEEX,
11396 pub CreateSharedMemory: PLSA_CREATE_SHARED_MEMORY,
11397 pub AllocateSharedMemory: PLSA_ALLOCATE_SHARED_MEMORY,
11398 pub FreeSharedMemory: PLSA_FREE_SHARED_MEMORY,
11399 pub DeleteSharedMemory: PLSA_DELETE_SHARED_MEMORY,
11400 pub OpenSamUser: PLSA_OPEN_SAM_USER,
11401 pub GetUserCredentials: PLSA_GET_USER_CREDENTIALS,
11402 pub GetUserAuthData: PLSA_GET_USER_AUTH_DATA,
11403 pub CloseSamUser: PLSA_CLOSE_SAM_USER,
11404 pub ConvertAuthDataToToken: PLSA_CONVERT_AUTH_DATA_TO_TOKEN,
11405 pub ClientCallback: PLSA_CLIENT_CALLBACK,
11406 pub UpdateCredentials: PLSA_UPDATE_PRIMARY_CREDENTIALS,
11407 pub GetAuthDataForUser: PLSA_GET_AUTH_DATA_FOR_USER,
11408 pub CrackSingleName: PLSA_CRACK_SINGLE_NAME,
11409 pub AuditAccountLogon: PLSA_AUDIT_ACCOUNT_LOGON,
11410 pub CallPackagePassthrough: PLSA_CALL_PACKAGE_PASSTHROUGH,
11411 pub CrediRead: CredReadFn,
11412 pub CrediReadDomainCredentials: CredReadDomainCredentialsFn,
11413 pub CrediFreeCredentials: CredFreeCredentialsFn,
11414 pub LsaProtectMemory: PLSA_PROTECT_MEMORY,
11415 pub LsaUnprotectMemory: PLSA_PROTECT_MEMORY,
11416 pub OpenTokenByLogonId: PLSA_OPEN_TOKEN_BY_LOGON_ID,
11417 pub ExpandAuthDataForDomain: PLSA_EXPAND_AUTH_DATA_FOR_DOMAIN,
11418 pub AllocatePrivateHeap: PLSA_ALLOCATE_PRIVATE_HEAP,
11419 pub FreePrivateHeap: PLSA_FREE_PRIVATE_HEAP,
11420 pub CreateTokenEx: PLSA_CREATE_TOKEN_EX,
11421 pub CrediWrite: CredWriteFn,
11422 pub CrediUnmarshalandDecodeString: CrediUnmarshalandDecodeStringFn,
11423 pub DummyFunction6: PLSA_PROTECT_MEMORY,
11424 pub GetExtendedCallFlags: PLSA_GET_EXTENDED_CALL_FLAGS,
11425 pub DuplicateTokenHandle: PLSA_DUPLICATE_HANDLE,
11426 pub GetServiceAccountPassword: PLSA_GET_SERVICE_ACCOUNT_PASSWORD,
11427 pub DummyFunction7: PLSA_PROTECT_MEMORY,
11428 pub AuditLogonEx: PLSA_AUDIT_LOGON_EX,
11429 pub CheckProtectedUserByToken: PLSA_CHECK_PROTECTED_USER_BY_TOKEN,
11430 pub QueryClientRequest: PLSA_QUERY_CLIENT_REQUEST,
11431 pub GetAppModeInfo: PLSA_GET_APP_MODE_INFO,
11432 pub SetAppModeInfo: PLSA_SET_APP_MODE_INFO,
11433}
11434#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
11435impl ::core::marker::Copy for LSA_SECPKG_FUNCTION_TABLE {}
11436#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
11437impl ::core::clone::Clone for LSA_SECPKG_FUNCTION_TABLE {
11438 fn clone(&self) -> Self {
11439 *self
11440 }
11441}
11442#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
11443impl ::core::fmt::Debug for LSA_SECPKG_FUNCTION_TABLE {
11444 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11445 f.debug_struct("LSA_SECPKG_FUNCTION_TABLE").finish()
11446 }
11447}
11448#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
11449impl ::windows::core::TypeKind for LSA_SECPKG_FUNCTION_TABLE {
11450 type TypeKind = ::windows::core::CopyType;
11451}
11452#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
11453impl ::core::default::Default for LSA_SECPKG_FUNCTION_TABLE {
11454 fn default() -> Self {
11455 unsafe { ::core::mem::zeroed() }
11456 }
11457}
11458#[repr(C)]
11459#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
11460#[cfg(feature = "Win32_Foundation")]
11461pub struct LSA_TOKEN_INFORMATION_NULL {
11462 pub ExpirationTime: i64,
11463 pub Groups: *mut super::super::TOKEN_GROUPS,
11464}
11465#[cfg(feature = "Win32_Foundation")]
11466impl ::core::marker::Copy for LSA_TOKEN_INFORMATION_NULL {}
11467#[cfg(feature = "Win32_Foundation")]
11468impl ::core::clone::Clone for LSA_TOKEN_INFORMATION_NULL {
11469 fn clone(&self) -> Self {
11470 *self
11471 }
11472}
11473#[cfg(feature = "Win32_Foundation")]
11474impl ::core::fmt::Debug for LSA_TOKEN_INFORMATION_NULL {
11475 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11476 f.debug_struct("LSA_TOKEN_INFORMATION_NULL").field("ExpirationTime", &self.ExpirationTime).field("Groups", &self.Groups).finish()
11477 }
11478}
11479#[cfg(feature = "Win32_Foundation")]
11480impl ::windows::core::TypeKind for LSA_TOKEN_INFORMATION_NULL {
11481 type TypeKind = ::windows::core::CopyType;
11482}
11483#[cfg(feature = "Win32_Foundation")]
11484impl ::core::cmp::PartialEq for LSA_TOKEN_INFORMATION_NULL {
11485 fn eq(&self, other: &Self) -> bool {
11486 self.ExpirationTime == other.ExpirationTime && self.Groups == other.Groups
11487 }
11488}
11489#[cfg(feature = "Win32_Foundation")]
11490impl ::core::cmp::Eq for LSA_TOKEN_INFORMATION_NULL {}
11491#[cfg(feature = "Win32_Foundation")]
11492impl ::core::default::Default for LSA_TOKEN_INFORMATION_NULL {
11493 fn default() -> Self {
11494 unsafe { ::core::mem::zeroed() }
11495 }
11496}
11497#[repr(C)]
11498#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
11499#[cfg(feature = "Win32_Foundation")]
11500pub struct LSA_TOKEN_INFORMATION_V1 {
11501 pub ExpirationTime: i64,
11502 pub User: super::super::TOKEN_USER,
11503 pub Groups: *mut super::super::TOKEN_GROUPS,
11504 pub PrimaryGroup: super::super::TOKEN_PRIMARY_GROUP,
11505 pub Privileges: *mut super::super::TOKEN_PRIVILEGES,
11506 pub Owner: super::super::TOKEN_OWNER,
11507 pub DefaultDacl: super::super::TOKEN_DEFAULT_DACL,
11508}
11509#[cfg(feature = "Win32_Foundation")]
11510impl ::core::marker::Copy for LSA_TOKEN_INFORMATION_V1 {}
11511#[cfg(feature = "Win32_Foundation")]
11512impl ::core::clone::Clone for LSA_TOKEN_INFORMATION_V1 {
11513 fn clone(&self) -> Self {
11514 *self
11515 }
11516}
11517#[cfg(feature = "Win32_Foundation")]
11518impl ::core::fmt::Debug for LSA_TOKEN_INFORMATION_V1 {
11519 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11520 f.debug_struct("LSA_TOKEN_INFORMATION_V1").field("ExpirationTime", &self.ExpirationTime).field("User", &self.User).field("Groups", &self.Groups).field("PrimaryGroup", &self.PrimaryGroup).field("Privileges", &self.Privileges).field("Owner", &self.Owner).field("DefaultDacl", &self.DefaultDacl).finish()
11521 }
11522}
11523#[cfg(feature = "Win32_Foundation")]
11524impl ::windows::core::TypeKind for LSA_TOKEN_INFORMATION_V1 {
11525 type TypeKind = ::windows::core::CopyType;
11526}
11527#[cfg(feature = "Win32_Foundation")]
11528impl ::core::cmp::PartialEq for LSA_TOKEN_INFORMATION_V1 {
11529 fn eq(&self, other: &Self) -> bool {
11530 self.ExpirationTime == other.ExpirationTime && self.User == other.User && self.Groups == other.Groups && self.PrimaryGroup == other.PrimaryGroup && self.Privileges == other.Privileges && self.Owner == other.Owner && self.DefaultDacl == other.DefaultDacl
11531 }
11532}
11533#[cfg(feature = "Win32_Foundation")]
11534impl ::core::cmp::Eq for LSA_TOKEN_INFORMATION_V1 {}
11535#[cfg(feature = "Win32_Foundation")]
11536impl ::core::default::Default for LSA_TOKEN_INFORMATION_V1 {
11537 fn default() -> Self {
11538 unsafe { ::core::mem::zeroed() }
11539 }
11540}
11541#[repr(C)]
11542#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
11543#[cfg(feature = "Win32_Foundation")]
11544pub struct LSA_TOKEN_INFORMATION_V3 {
11545 pub ExpirationTime: i64,
11546 pub User: super::super::TOKEN_USER,
11547 pub Groups: *mut super::super::TOKEN_GROUPS,
11548 pub PrimaryGroup: super::super::TOKEN_PRIMARY_GROUP,
11549 pub Privileges: *mut super::super::TOKEN_PRIVILEGES,
11550 pub Owner: super::super::TOKEN_OWNER,
11551 pub DefaultDacl: super::super::TOKEN_DEFAULT_DACL,
11552 pub UserClaims: super::super::TOKEN_USER_CLAIMS,
11553 pub DeviceClaims: super::super::TOKEN_DEVICE_CLAIMS,
11554 pub DeviceGroups: *mut super::super::TOKEN_GROUPS,
11555}
11556#[cfg(feature = "Win32_Foundation")]
11557impl ::core::marker::Copy for LSA_TOKEN_INFORMATION_V3 {}
11558#[cfg(feature = "Win32_Foundation")]
11559impl ::core::clone::Clone for LSA_TOKEN_INFORMATION_V3 {
11560 fn clone(&self) -> Self {
11561 *self
11562 }
11563}
11564#[cfg(feature = "Win32_Foundation")]
11565impl ::core::fmt::Debug for LSA_TOKEN_INFORMATION_V3 {
11566 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11567 f.debug_struct("LSA_TOKEN_INFORMATION_V3").field("ExpirationTime", &self.ExpirationTime).field("User", &self.User).field("Groups", &self.Groups).field("PrimaryGroup", &self.PrimaryGroup).field("Privileges", &self.Privileges).field("Owner", &self.Owner).field("DefaultDacl", &self.DefaultDacl).field("UserClaims", &self.UserClaims).field("DeviceClaims", &self.DeviceClaims).field("DeviceGroups", &self.DeviceGroups).finish()
11568 }
11569}
11570#[cfg(feature = "Win32_Foundation")]
11571impl ::windows::core::TypeKind for LSA_TOKEN_INFORMATION_V3 {
11572 type TypeKind = ::windows::core::CopyType;
11573}
11574#[cfg(feature = "Win32_Foundation")]
11575impl ::core::cmp::PartialEq for LSA_TOKEN_INFORMATION_V3 {
11576 fn eq(&self, other: &Self) -> bool {
11577 self.ExpirationTime == other.ExpirationTime && self.User == other.User && self.Groups == other.Groups && self.PrimaryGroup == other.PrimaryGroup && self.Privileges == other.Privileges && self.Owner == other.Owner && self.DefaultDacl == other.DefaultDacl && self.UserClaims == other.UserClaims && self.DeviceClaims == other.DeviceClaims && self.DeviceGroups == other.DeviceGroups
11578 }
11579}
11580#[cfg(feature = "Win32_Foundation")]
11581impl ::core::cmp::Eq for LSA_TOKEN_INFORMATION_V3 {}
11582#[cfg(feature = "Win32_Foundation")]
11583impl ::core::default::Default for LSA_TOKEN_INFORMATION_V3 {
11584 fn default() -> Self {
11585 unsafe { ::core::mem::zeroed() }
11586 }
11587}
11588#[repr(C)]
11589#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
11590#[cfg(feature = "Win32_Foundation")]
11591pub struct LSA_TRANSLATED_NAME {
11592 pub Use: super::super::SID_NAME_USE,
11593 pub Name: super::super::super::Foundation::UNICODE_STRING,
11594 pub DomainIndex: i32,
11595}
11596#[cfg(feature = "Win32_Foundation")]
11597impl ::core::marker::Copy for LSA_TRANSLATED_NAME {}
11598#[cfg(feature = "Win32_Foundation")]
11599impl ::core::clone::Clone for LSA_TRANSLATED_NAME {
11600 fn clone(&self) -> Self {
11601 *self
11602 }
11603}
11604#[cfg(feature = "Win32_Foundation")]
11605impl ::core::fmt::Debug for LSA_TRANSLATED_NAME {
11606 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11607 f.debug_struct("LSA_TRANSLATED_NAME").field("Use", &self.Use).field("Name", &self.Name).field("DomainIndex", &self.DomainIndex).finish()
11608 }
11609}
11610#[cfg(feature = "Win32_Foundation")]
11611impl ::windows::core::TypeKind for LSA_TRANSLATED_NAME {
11612 type TypeKind = ::windows::core::CopyType;
11613}
11614#[cfg(feature = "Win32_Foundation")]
11615impl ::core::cmp::PartialEq for LSA_TRANSLATED_NAME {
11616 fn eq(&self, other: &Self) -> bool {
11617 self.Use == other.Use && self.Name == other.Name && self.DomainIndex == other.DomainIndex
11618 }
11619}
11620#[cfg(feature = "Win32_Foundation")]
11621impl ::core::cmp::Eq for LSA_TRANSLATED_NAME {}
11622#[cfg(feature = "Win32_Foundation")]
11623impl ::core::default::Default for LSA_TRANSLATED_NAME {
11624 fn default() -> Self {
11625 unsafe { ::core::mem::zeroed() }
11626 }
11627}
11628#[repr(C)]
11629#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
11630pub struct LSA_TRANSLATED_SID {
11631 pub Use: super::super::SID_NAME_USE,
11632 pub RelativeId: u32,
11633 pub DomainIndex: i32,
11634}
11635impl ::core::marker::Copy for LSA_TRANSLATED_SID {}
11636impl ::core::clone::Clone for LSA_TRANSLATED_SID {
11637 fn clone(&self) -> Self {
11638 *self
11639 }
11640}
11641impl ::core::fmt::Debug for LSA_TRANSLATED_SID {
11642 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11643 f.debug_struct("LSA_TRANSLATED_SID").field("Use", &self.Use).field("RelativeId", &self.RelativeId).field("DomainIndex", &self.DomainIndex).finish()
11644 }
11645}
11646impl ::windows::core::TypeKind for LSA_TRANSLATED_SID {
11647 type TypeKind = ::windows::core::CopyType;
11648}
11649impl ::core::cmp::PartialEq for LSA_TRANSLATED_SID {
11650 fn eq(&self, other: &Self) -> bool {
11651 self.Use == other.Use && self.RelativeId == other.RelativeId && self.DomainIndex == other.DomainIndex
11652 }
11653}
11654impl ::core::cmp::Eq for LSA_TRANSLATED_SID {}
11655impl ::core::default::Default for LSA_TRANSLATED_SID {
11656 fn default() -> Self {
11657 unsafe { ::core::mem::zeroed() }
11658 }
11659}
11660#[repr(C)]
11661#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
11662#[cfg(feature = "Win32_Foundation")]
11663pub struct LSA_TRANSLATED_SID2 {
11664 pub Use: super::super::SID_NAME_USE,
11665 pub Sid: super::super::super::Foundation::PSID,
11666 pub DomainIndex: i32,
11667 pub Flags: u32,
11668}
11669#[cfg(feature = "Win32_Foundation")]
11670impl ::core::marker::Copy for LSA_TRANSLATED_SID2 {}
11671#[cfg(feature = "Win32_Foundation")]
11672impl ::core::clone::Clone for LSA_TRANSLATED_SID2 {
11673 fn clone(&self) -> Self {
11674 *self
11675 }
11676}
11677#[cfg(feature = "Win32_Foundation")]
11678impl ::core::fmt::Debug for LSA_TRANSLATED_SID2 {
11679 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11680 f.debug_struct("LSA_TRANSLATED_SID2").field("Use", &self.Use).field("Sid", &self.Sid).field("DomainIndex", &self.DomainIndex).field("Flags", &self.Flags).finish()
11681 }
11682}
11683#[cfg(feature = "Win32_Foundation")]
11684impl ::windows::core::TypeKind for LSA_TRANSLATED_SID2 {
11685 type TypeKind = ::windows::core::CopyType;
11686}
11687#[cfg(feature = "Win32_Foundation")]
11688impl ::core::cmp::PartialEq for LSA_TRANSLATED_SID2 {
11689 fn eq(&self, other: &Self) -> bool {
11690 self.Use == other.Use && self.Sid == other.Sid && self.DomainIndex == other.DomainIndex && self.Flags == other.Flags
11691 }
11692}
11693#[cfg(feature = "Win32_Foundation")]
11694impl ::core::cmp::Eq for LSA_TRANSLATED_SID2 {}
11695#[cfg(feature = "Win32_Foundation")]
11696impl ::core::default::Default for LSA_TRANSLATED_SID2 {
11697 fn default() -> Self {
11698 unsafe { ::core::mem::zeroed() }
11699 }
11700}
11701#[repr(C)]
11702#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
11703#[cfg(feature = "Win32_Foundation")]
11704pub struct LSA_TRUST_INFORMATION {
11705 pub Name: super::super::super::Foundation::UNICODE_STRING,
11706 pub Sid: super::super::super::Foundation::PSID,
11707}
11708#[cfg(feature = "Win32_Foundation")]
11709impl ::core::marker::Copy for LSA_TRUST_INFORMATION {}
11710#[cfg(feature = "Win32_Foundation")]
11711impl ::core::clone::Clone for LSA_TRUST_INFORMATION {
11712 fn clone(&self) -> Self {
11713 *self
11714 }
11715}
11716#[cfg(feature = "Win32_Foundation")]
11717impl ::core::fmt::Debug for LSA_TRUST_INFORMATION {
11718 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11719 f.debug_struct("LSA_TRUST_INFORMATION").field("Name", &self.Name).field("Sid", &self.Sid).finish()
11720 }
11721}
11722#[cfg(feature = "Win32_Foundation")]
11723impl ::windows::core::TypeKind for LSA_TRUST_INFORMATION {
11724 type TypeKind = ::windows::core::CopyType;
11725}
11726#[cfg(feature = "Win32_Foundation")]
11727impl ::core::cmp::PartialEq for LSA_TRUST_INFORMATION {
11728 fn eq(&self, other: &Self) -> bool {
11729 self.Name == other.Name && self.Sid == other.Sid
11730 }
11731}
11732#[cfg(feature = "Win32_Foundation")]
11733impl ::core::cmp::Eq for LSA_TRUST_INFORMATION {}
11734#[cfg(feature = "Win32_Foundation")]
11735impl ::core::default::Default for LSA_TRUST_INFORMATION {
11736 fn default() -> Self {
11737 unsafe { ::core::mem::zeroed() }
11738 }
11739}
11740#[repr(C)]
11741#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
11742pub struct MSV1_0_AV_PAIR {
11743 pub AvId: u16,
11744 pub AvLen: u16,
11745}
11746impl ::core::marker::Copy for MSV1_0_AV_PAIR {}
11747impl ::core::clone::Clone for MSV1_0_AV_PAIR {
11748 fn clone(&self) -> Self {
11749 *self
11750 }
11751}
11752impl ::core::fmt::Debug for MSV1_0_AV_PAIR {
11753 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11754 f.debug_struct("MSV1_0_AV_PAIR").field("AvId", &self.AvId).field("AvLen", &self.AvLen).finish()
11755 }
11756}
11757impl ::windows::core::TypeKind for MSV1_0_AV_PAIR {
11758 type TypeKind = ::windows::core::CopyType;
11759}
11760impl ::core::cmp::PartialEq for MSV1_0_AV_PAIR {
11761 fn eq(&self, other: &Self) -> bool {
11762 self.AvId == other.AvId && self.AvLen == other.AvLen
11763 }
11764}
11765impl ::core::cmp::Eq for MSV1_0_AV_PAIR {}
11766impl ::core::default::Default for MSV1_0_AV_PAIR {
11767 fn default() -> Self {
11768 unsafe { ::core::mem::zeroed() }
11769 }
11770}
11771#[repr(C)]
11772#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
11773#[cfg(feature = "Win32_Foundation")]
11774pub struct MSV1_0_CHANGEPASSWORD_REQUEST {
11775 pub MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE,
11776 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
11777 pub AccountName: super::super::super::Foundation::UNICODE_STRING,
11778 pub OldPassword: super::super::super::Foundation::UNICODE_STRING,
11779 pub NewPassword: super::super::super::Foundation::UNICODE_STRING,
11780 pub Impersonating: super::super::super::Foundation::BOOLEAN,
11781}
11782#[cfg(feature = "Win32_Foundation")]
11783impl ::core::marker::Copy for MSV1_0_CHANGEPASSWORD_REQUEST {}
11784#[cfg(feature = "Win32_Foundation")]
11785impl ::core::clone::Clone for MSV1_0_CHANGEPASSWORD_REQUEST {
11786 fn clone(&self) -> Self {
11787 *self
11788 }
11789}
11790#[cfg(feature = "Win32_Foundation")]
11791impl ::core::fmt::Debug for MSV1_0_CHANGEPASSWORD_REQUEST {
11792 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11793 f.debug_struct("MSV1_0_CHANGEPASSWORD_REQUEST").field("MessageType", &self.MessageType).field("DomainName", &self.DomainName).field("AccountName", &self.AccountName).field("OldPassword", &self.OldPassword).field("NewPassword", &self.NewPassword).field("Impersonating", &self.Impersonating).finish()
11794 }
11795}
11796#[cfg(feature = "Win32_Foundation")]
11797impl ::windows::core::TypeKind for MSV1_0_CHANGEPASSWORD_REQUEST {
11798 type TypeKind = ::windows::core::CopyType;
11799}
11800#[cfg(feature = "Win32_Foundation")]
11801impl ::core::cmp::PartialEq for MSV1_0_CHANGEPASSWORD_REQUEST {
11802 fn eq(&self, other: &Self) -> bool {
11803 self.MessageType == other.MessageType && self.DomainName == other.DomainName && self.AccountName == other.AccountName && self.OldPassword == other.OldPassword && self.NewPassword == other.NewPassword && self.Impersonating == other.Impersonating
11804 }
11805}
11806#[cfg(feature = "Win32_Foundation")]
11807impl ::core::cmp::Eq for MSV1_0_CHANGEPASSWORD_REQUEST {}
11808#[cfg(feature = "Win32_Foundation")]
11809impl ::core::default::Default for MSV1_0_CHANGEPASSWORD_REQUEST {
11810 fn default() -> Self {
11811 unsafe { ::core::mem::zeroed() }
11812 }
11813}
11814#[repr(C)]
11815#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
11816#[cfg(feature = "Win32_Foundation")]
11817pub struct MSV1_0_CHANGEPASSWORD_RESPONSE {
11818 pub MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE,
11819 pub PasswordInfoValid: super::super::super::Foundation::BOOLEAN,
11820 pub DomainPasswordInfo: DOMAIN_PASSWORD_INFORMATION,
11821}
11822#[cfg(feature = "Win32_Foundation")]
11823impl ::core::marker::Copy for MSV1_0_CHANGEPASSWORD_RESPONSE {}
11824#[cfg(feature = "Win32_Foundation")]
11825impl ::core::clone::Clone for MSV1_0_CHANGEPASSWORD_RESPONSE {
11826 fn clone(&self) -> Self {
11827 *self
11828 }
11829}
11830#[cfg(feature = "Win32_Foundation")]
11831impl ::core::fmt::Debug for MSV1_0_CHANGEPASSWORD_RESPONSE {
11832 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11833 f.debug_struct("MSV1_0_CHANGEPASSWORD_RESPONSE").field("MessageType", &self.MessageType).field("PasswordInfoValid", &self.PasswordInfoValid).field("DomainPasswordInfo", &self.DomainPasswordInfo).finish()
11834 }
11835}
11836#[cfg(feature = "Win32_Foundation")]
11837impl ::windows::core::TypeKind for MSV1_0_CHANGEPASSWORD_RESPONSE {
11838 type TypeKind = ::windows::core::CopyType;
11839}
11840#[cfg(feature = "Win32_Foundation")]
11841impl ::core::cmp::PartialEq for MSV1_0_CHANGEPASSWORD_RESPONSE {
11842 fn eq(&self, other: &Self) -> bool {
11843 self.MessageType == other.MessageType && self.PasswordInfoValid == other.PasswordInfoValid && self.DomainPasswordInfo == other.DomainPasswordInfo
11844 }
11845}
11846#[cfg(feature = "Win32_Foundation")]
11847impl ::core::cmp::Eq for MSV1_0_CHANGEPASSWORD_RESPONSE {}
11848#[cfg(feature = "Win32_Foundation")]
11849impl ::core::default::Default for MSV1_0_CHANGEPASSWORD_RESPONSE {
11850 fn default() -> Self {
11851 unsafe { ::core::mem::zeroed() }
11852 }
11853}
11854#[repr(C)]
11855#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
11856pub struct MSV1_0_CREDENTIAL_KEY {
11857 pub Data: [u8; 20],
11858}
11859impl ::core::marker::Copy for MSV1_0_CREDENTIAL_KEY {}
11860impl ::core::clone::Clone for MSV1_0_CREDENTIAL_KEY {
11861 fn clone(&self) -> Self {
11862 *self
11863 }
11864}
11865impl ::core::fmt::Debug for MSV1_0_CREDENTIAL_KEY {
11866 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11867 f.debug_struct("MSV1_0_CREDENTIAL_KEY").field("Data", &self.Data).finish()
11868 }
11869}
11870impl ::windows::core::TypeKind for MSV1_0_CREDENTIAL_KEY {
11871 type TypeKind = ::windows::core::CopyType;
11872}
11873impl ::core::cmp::PartialEq for MSV1_0_CREDENTIAL_KEY {
11874 fn eq(&self, other: &Self) -> bool {
11875 self.Data == other.Data
11876 }
11877}
11878impl ::core::cmp::Eq for MSV1_0_CREDENTIAL_KEY {}
11879impl ::core::default::Default for MSV1_0_CREDENTIAL_KEY {
11880 fn default() -> Self {
11881 unsafe { ::core::mem::zeroed() }
11882 }
11883}
11884#[repr(C)]
11885#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
11886#[cfg(feature = "Win32_Foundation")]
11887pub struct MSV1_0_INTERACTIVE_LOGON {
11888 pub MessageType: MSV1_0_LOGON_SUBMIT_TYPE,
11889 pub LogonDomainName: super::super::super::Foundation::UNICODE_STRING,
11890 pub UserName: super::super::super::Foundation::UNICODE_STRING,
11891 pub Password: super::super::super::Foundation::UNICODE_STRING,
11892}
11893#[cfg(feature = "Win32_Foundation")]
11894impl ::core::marker::Copy for MSV1_0_INTERACTIVE_LOGON {}
11895#[cfg(feature = "Win32_Foundation")]
11896impl ::core::clone::Clone for MSV1_0_INTERACTIVE_LOGON {
11897 fn clone(&self) -> Self {
11898 *self
11899 }
11900}
11901#[cfg(feature = "Win32_Foundation")]
11902impl ::core::fmt::Debug for MSV1_0_INTERACTIVE_LOGON {
11903 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11904 f.debug_struct("MSV1_0_INTERACTIVE_LOGON").field("MessageType", &self.MessageType).field("LogonDomainName", &self.LogonDomainName).field("UserName", &self.UserName).field("Password", &self.Password).finish()
11905 }
11906}
11907#[cfg(feature = "Win32_Foundation")]
11908impl ::windows::core::TypeKind for MSV1_0_INTERACTIVE_LOGON {
11909 type TypeKind = ::windows::core::CopyType;
11910}
11911#[cfg(feature = "Win32_Foundation")]
11912impl ::core::cmp::PartialEq for MSV1_0_INTERACTIVE_LOGON {
11913 fn eq(&self, other: &Self) -> bool {
11914 self.MessageType == other.MessageType && self.LogonDomainName == other.LogonDomainName && self.UserName == other.UserName && self.Password == other.Password
11915 }
11916}
11917#[cfg(feature = "Win32_Foundation")]
11918impl ::core::cmp::Eq for MSV1_0_INTERACTIVE_LOGON {}
11919#[cfg(feature = "Win32_Foundation")]
11920impl ::core::default::Default for MSV1_0_INTERACTIVE_LOGON {
11921 fn default() -> Self {
11922 unsafe { ::core::mem::zeroed() }
11923 }
11924}
11925#[repr(C)]
11926#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
11927#[cfg(feature = "Win32_Foundation")]
11928pub struct MSV1_0_INTERACTIVE_PROFILE {
11929 pub MessageType: MSV1_0_PROFILE_BUFFER_TYPE,
11930 pub LogonCount: u16,
11931 pub BadPasswordCount: u16,
11932 pub LogonTime: i64,
11933 pub LogoffTime: i64,
11934 pub KickOffTime: i64,
11935 pub PasswordLastSet: i64,
11936 pub PasswordCanChange: i64,
11937 pub PasswordMustChange: i64,
11938 pub LogonScript: super::super::super::Foundation::UNICODE_STRING,
11939 pub HomeDirectory: super::super::super::Foundation::UNICODE_STRING,
11940 pub FullName: super::super::super::Foundation::UNICODE_STRING,
11941 pub ProfilePath: super::super::super::Foundation::UNICODE_STRING,
11942 pub HomeDirectoryDrive: super::super::super::Foundation::UNICODE_STRING,
11943 pub LogonServer: super::super::super::Foundation::UNICODE_STRING,
11944 pub UserFlags: u32,
11945}
11946#[cfg(feature = "Win32_Foundation")]
11947impl ::core::marker::Copy for MSV1_0_INTERACTIVE_PROFILE {}
11948#[cfg(feature = "Win32_Foundation")]
11949impl ::core::clone::Clone for MSV1_0_INTERACTIVE_PROFILE {
11950 fn clone(&self) -> Self {
11951 *self
11952 }
11953}
11954#[cfg(feature = "Win32_Foundation")]
11955impl ::core::fmt::Debug for MSV1_0_INTERACTIVE_PROFILE {
11956 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11957 f.debug_struct("MSV1_0_INTERACTIVE_PROFILE")
11958 .field("MessageType", &self.MessageType)
11959 .field("LogonCount", &self.LogonCount)
11960 .field("BadPasswordCount", &self.BadPasswordCount)
11961 .field("LogonTime", &self.LogonTime)
11962 .field("LogoffTime", &self.LogoffTime)
11963 .field("KickOffTime", &self.KickOffTime)
11964 .field("PasswordLastSet", &self.PasswordLastSet)
11965 .field("PasswordCanChange", &self.PasswordCanChange)
11966 .field("PasswordMustChange", &self.PasswordMustChange)
11967 .field("LogonScript", &self.LogonScript)
11968 .field("HomeDirectory", &self.HomeDirectory)
11969 .field("FullName", &self.FullName)
11970 .field("ProfilePath", &self.ProfilePath)
11971 .field("HomeDirectoryDrive", &self.HomeDirectoryDrive)
11972 .field("LogonServer", &self.LogonServer)
11973 .field("UserFlags", &self.UserFlags)
11974 .finish()
11975 }
11976}
11977#[cfg(feature = "Win32_Foundation")]
11978impl ::windows::core::TypeKind for MSV1_0_INTERACTIVE_PROFILE {
11979 type TypeKind = ::windows::core::CopyType;
11980}
11981#[cfg(feature = "Win32_Foundation")]
11982impl ::core::cmp::PartialEq for MSV1_0_INTERACTIVE_PROFILE {
11983 fn eq(&self, other: &Self) -> bool {
11984 self.MessageType == other.MessageType && self.LogonCount == other.LogonCount && self.BadPasswordCount == other.BadPasswordCount && self.LogonTime == other.LogonTime && self.LogoffTime == other.LogoffTime && self.KickOffTime == other.KickOffTime && self.PasswordLastSet == other.PasswordLastSet && self.PasswordCanChange == other.PasswordCanChange && self.PasswordMustChange == other.PasswordMustChange && self.LogonScript == other.LogonScript && self.HomeDirectory == other.HomeDirectory && self.FullName == other.FullName && self.ProfilePath == other.ProfilePath && self.HomeDirectoryDrive == other.HomeDirectoryDrive && self.LogonServer == other.LogonServer && self.UserFlags == other.UserFlags
11985 }
11986}
11987#[cfg(feature = "Win32_Foundation")]
11988impl ::core::cmp::Eq for MSV1_0_INTERACTIVE_PROFILE {}
11989#[cfg(feature = "Win32_Foundation")]
11990impl ::core::default::Default for MSV1_0_INTERACTIVE_PROFILE {
11991 fn default() -> Self {
11992 unsafe { ::core::mem::zeroed() }
11993 }
11994}
11995#[repr(C)]
11996#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
11997pub struct MSV1_0_IUM_SUPPLEMENTAL_CREDENTIAL {
11998 pub Version: u32,
11999 pub EncryptedCredsSize: u32,
12000 pub EncryptedCreds: [u8; 1],
12001}
12002impl ::core::marker::Copy for MSV1_0_IUM_SUPPLEMENTAL_CREDENTIAL {}
12003impl ::core::clone::Clone for MSV1_0_IUM_SUPPLEMENTAL_CREDENTIAL {
12004 fn clone(&self) -> Self {
12005 *self
12006 }
12007}
12008impl ::core::fmt::Debug for MSV1_0_IUM_SUPPLEMENTAL_CREDENTIAL {
12009 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12010 f.debug_struct("MSV1_0_IUM_SUPPLEMENTAL_CREDENTIAL").field("Version", &self.Version).field("EncryptedCredsSize", &self.EncryptedCredsSize).field("EncryptedCreds", &self.EncryptedCreds).finish()
12011 }
12012}
12013impl ::windows::core::TypeKind for MSV1_0_IUM_SUPPLEMENTAL_CREDENTIAL {
12014 type TypeKind = ::windows::core::CopyType;
12015}
12016impl ::core::cmp::PartialEq for MSV1_0_IUM_SUPPLEMENTAL_CREDENTIAL {
12017 fn eq(&self, other: &Self) -> bool {
12018 self.Version == other.Version && self.EncryptedCredsSize == other.EncryptedCredsSize && self.EncryptedCreds == other.EncryptedCreds
12019 }
12020}
12021impl ::core::cmp::Eq for MSV1_0_IUM_SUPPLEMENTAL_CREDENTIAL {}
12022impl ::core::default::Default for MSV1_0_IUM_SUPPLEMENTAL_CREDENTIAL {
12023 fn default() -> Self {
12024 unsafe { ::core::mem::zeroed() }
12025 }
12026}
12027#[repr(C)]
12028#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`*"]
12029#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12030pub struct MSV1_0_LM20_LOGON {
12031 pub MessageType: MSV1_0_LOGON_SUBMIT_TYPE,
12032 pub LogonDomainName: super::super::super::Foundation::UNICODE_STRING,
12033 pub UserName: super::super::super::Foundation::UNICODE_STRING,
12034 pub Workstation: super::super::super::Foundation::UNICODE_STRING,
12035 pub ChallengeToClient: [u8; 8],
12036 pub CaseSensitiveChallengeResponse: super::super::super::System::Kernel::STRING,
12037 pub CaseInsensitiveChallengeResponse: super::super::super::System::Kernel::STRING,
12038 pub ParameterControl: u32,
12039}
12040#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12041impl ::core::marker::Copy for MSV1_0_LM20_LOGON {}
12042#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12043impl ::core::clone::Clone for MSV1_0_LM20_LOGON {
12044 fn clone(&self) -> Self {
12045 *self
12046 }
12047}
12048#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12049impl ::core::fmt::Debug for MSV1_0_LM20_LOGON {
12050 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12051 f.debug_struct("MSV1_0_LM20_LOGON").field("MessageType", &self.MessageType).field("LogonDomainName", &self.LogonDomainName).field("UserName", &self.UserName).field("Workstation", &self.Workstation).field("ChallengeToClient", &self.ChallengeToClient).field("CaseSensitiveChallengeResponse", &self.CaseSensitiveChallengeResponse).field("CaseInsensitiveChallengeResponse", &self.CaseInsensitiveChallengeResponse).field("ParameterControl", &self.ParameterControl).finish()
12052 }
12053}
12054#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12055impl ::windows::core::TypeKind for MSV1_0_LM20_LOGON {
12056 type TypeKind = ::windows::core::CopyType;
12057}
12058#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12059impl ::core::cmp::PartialEq for MSV1_0_LM20_LOGON {
12060 fn eq(&self, other: &Self) -> bool {
12061 self.MessageType == other.MessageType && self.LogonDomainName == other.LogonDomainName && self.UserName == other.UserName && self.Workstation == other.Workstation && self.ChallengeToClient == other.ChallengeToClient && self.CaseSensitiveChallengeResponse == other.CaseSensitiveChallengeResponse && self.CaseInsensitiveChallengeResponse == other.CaseInsensitiveChallengeResponse && self.ParameterControl == other.ParameterControl
12062 }
12063}
12064#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12065impl ::core::cmp::Eq for MSV1_0_LM20_LOGON {}
12066#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12067impl ::core::default::Default for MSV1_0_LM20_LOGON {
12068 fn default() -> Self {
12069 unsafe { ::core::mem::zeroed() }
12070 }
12071}
12072#[repr(C)]
12073#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
12074#[cfg(feature = "Win32_Foundation")]
12075pub struct MSV1_0_LM20_LOGON_PROFILE {
12076 pub MessageType: MSV1_0_PROFILE_BUFFER_TYPE,
12077 pub KickOffTime: i64,
12078 pub LogoffTime: i64,
12079 pub UserFlags: MSV_SUB_AUTHENTICATION_FILTER,
12080 pub UserSessionKey: [u8; 16],
12081 pub LogonDomainName: super::super::super::Foundation::UNICODE_STRING,
12082 pub LanmanSessionKey: [u8; 8],
12083 pub LogonServer: super::super::super::Foundation::UNICODE_STRING,
12084 pub UserParameters: super::super::super::Foundation::UNICODE_STRING,
12085}
12086#[cfg(feature = "Win32_Foundation")]
12087impl ::core::marker::Copy for MSV1_0_LM20_LOGON_PROFILE {}
12088#[cfg(feature = "Win32_Foundation")]
12089impl ::core::clone::Clone for MSV1_0_LM20_LOGON_PROFILE {
12090 fn clone(&self) -> Self {
12091 *self
12092 }
12093}
12094#[cfg(feature = "Win32_Foundation")]
12095impl ::core::fmt::Debug for MSV1_0_LM20_LOGON_PROFILE {
12096 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12097 f.debug_struct("MSV1_0_LM20_LOGON_PROFILE").field("MessageType", &self.MessageType).field("KickOffTime", &self.KickOffTime).field("LogoffTime", &self.LogoffTime).field("UserFlags", &self.UserFlags).field("UserSessionKey", &self.UserSessionKey).field("LogonDomainName", &self.LogonDomainName).field("LanmanSessionKey", &self.LanmanSessionKey).field("LogonServer", &self.LogonServer).field("UserParameters", &self.UserParameters).finish()
12098 }
12099}
12100#[cfg(feature = "Win32_Foundation")]
12101impl ::windows::core::TypeKind for MSV1_0_LM20_LOGON_PROFILE {
12102 type TypeKind = ::windows::core::CopyType;
12103}
12104#[cfg(feature = "Win32_Foundation")]
12105impl ::core::cmp::PartialEq for MSV1_0_LM20_LOGON_PROFILE {
12106 fn eq(&self, other: &Self) -> bool {
12107 self.MessageType == other.MessageType && self.KickOffTime == other.KickOffTime && self.LogoffTime == other.LogoffTime && self.UserFlags == other.UserFlags && self.UserSessionKey == other.UserSessionKey && self.LogonDomainName == other.LogonDomainName && self.LanmanSessionKey == other.LanmanSessionKey && self.LogonServer == other.LogonServer && self.UserParameters == other.UserParameters
12108 }
12109}
12110#[cfg(feature = "Win32_Foundation")]
12111impl ::core::cmp::Eq for MSV1_0_LM20_LOGON_PROFILE {}
12112#[cfg(feature = "Win32_Foundation")]
12113impl ::core::default::Default for MSV1_0_LM20_LOGON_PROFILE {
12114 fn default() -> Self {
12115 unsafe { ::core::mem::zeroed() }
12116 }
12117}
12118#[repr(C)]
12119#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
12120pub struct MSV1_0_NTLM3_RESPONSE {
12121 pub Response: [u8; 16],
12122 pub RespType: u8,
12123 pub HiRespType: u8,
12124 pub Flags: u16,
12125 pub MsgWord: u32,
12126 pub TimeStamp: u64,
12127 pub ChallengeFromClient: [u8; 8],
12128 pub AvPairsOff: u32,
12129 pub Buffer: [u8; 1],
12130}
12131impl ::core::marker::Copy for MSV1_0_NTLM3_RESPONSE {}
12132impl ::core::clone::Clone for MSV1_0_NTLM3_RESPONSE {
12133 fn clone(&self) -> Self {
12134 *self
12135 }
12136}
12137impl ::core::fmt::Debug for MSV1_0_NTLM3_RESPONSE {
12138 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12139 f.debug_struct("MSV1_0_NTLM3_RESPONSE").field("Response", &self.Response).field("RespType", &self.RespType).field("HiRespType", &self.HiRespType).field("Flags", &self.Flags).field("MsgWord", &self.MsgWord).field("TimeStamp", &self.TimeStamp).field("ChallengeFromClient", &self.ChallengeFromClient).field("AvPairsOff", &self.AvPairsOff).field("Buffer", &self.Buffer).finish()
12140 }
12141}
12142impl ::windows::core::TypeKind for MSV1_0_NTLM3_RESPONSE {
12143 type TypeKind = ::windows::core::CopyType;
12144}
12145impl ::core::cmp::PartialEq for MSV1_0_NTLM3_RESPONSE {
12146 fn eq(&self, other: &Self) -> bool {
12147 self.Response == other.Response && self.RespType == other.RespType && self.HiRespType == other.HiRespType && self.Flags == other.Flags && self.MsgWord == other.MsgWord && self.TimeStamp == other.TimeStamp && self.ChallengeFromClient == other.ChallengeFromClient && self.AvPairsOff == other.AvPairsOff && self.Buffer == other.Buffer
12148 }
12149}
12150impl ::core::cmp::Eq for MSV1_0_NTLM3_RESPONSE {}
12151impl ::core::default::Default for MSV1_0_NTLM3_RESPONSE {
12152 fn default() -> Self {
12153 unsafe { ::core::mem::zeroed() }
12154 }
12155}
12156#[repr(C)]
12157#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
12158#[cfg(feature = "Win32_Foundation")]
12159pub struct MSV1_0_PASSTHROUGH_REQUEST {
12160 pub MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE,
12161 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
12162 pub PackageName: super::super::super::Foundation::UNICODE_STRING,
12163 pub DataLength: u32,
12164 pub LogonData: *mut u8,
12165 pub Pad: u32,
12166}
12167#[cfg(feature = "Win32_Foundation")]
12168impl ::core::marker::Copy for MSV1_0_PASSTHROUGH_REQUEST {}
12169#[cfg(feature = "Win32_Foundation")]
12170impl ::core::clone::Clone for MSV1_0_PASSTHROUGH_REQUEST {
12171 fn clone(&self) -> Self {
12172 *self
12173 }
12174}
12175#[cfg(feature = "Win32_Foundation")]
12176impl ::core::fmt::Debug for MSV1_0_PASSTHROUGH_REQUEST {
12177 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12178 f.debug_struct("MSV1_0_PASSTHROUGH_REQUEST").field("MessageType", &self.MessageType).field("DomainName", &self.DomainName).field("PackageName", &self.PackageName).field("DataLength", &self.DataLength).field("LogonData", &self.LogonData).field("Pad", &self.Pad).finish()
12179 }
12180}
12181#[cfg(feature = "Win32_Foundation")]
12182impl ::windows::core::TypeKind for MSV1_0_PASSTHROUGH_REQUEST {
12183 type TypeKind = ::windows::core::CopyType;
12184}
12185#[cfg(feature = "Win32_Foundation")]
12186impl ::core::cmp::PartialEq for MSV1_0_PASSTHROUGH_REQUEST {
12187 fn eq(&self, other: &Self) -> bool {
12188 self.MessageType == other.MessageType && self.DomainName == other.DomainName && self.PackageName == other.PackageName && self.DataLength == other.DataLength && self.LogonData == other.LogonData && self.Pad == other.Pad
12189 }
12190}
12191#[cfg(feature = "Win32_Foundation")]
12192impl ::core::cmp::Eq for MSV1_0_PASSTHROUGH_REQUEST {}
12193#[cfg(feature = "Win32_Foundation")]
12194impl ::core::default::Default for MSV1_0_PASSTHROUGH_REQUEST {
12195 fn default() -> Self {
12196 unsafe { ::core::mem::zeroed() }
12197 }
12198}
12199#[repr(C)]
12200#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
12201pub struct MSV1_0_PASSTHROUGH_RESPONSE {
12202 pub MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE,
12203 pub Pad: u32,
12204 pub DataLength: u32,
12205 pub ValidationData: *mut u8,
12206}
12207impl ::core::marker::Copy for MSV1_0_PASSTHROUGH_RESPONSE {}
12208impl ::core::clone::Clone for MSV1_0_PASSTHROUGH_RESPONSE {
12209 fn clone(&self) -> Self {
12210 *self
12211 }
12212}
12213impl ::core::fmt::Debug for MSV1_0_PASSTHROUGH_RESPONSE {
12214 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12215 f.debug_struct("MSV1_0_PASSTHROUGH_RESPONSE").field("MessageType", &self.MessageType).field("Pad", &self.Pad).field("DataLength", &self.DataLength).field("ValidationData", &self.ValidationData).finish()
12216 }
12217}
12218impl ::windows::core::TypeKind for MSV1_0_PASSTHROUGH_RESPONSE {
12219 type TypeKind = ::windows::core::CopyType;
12220}
12221impl ::core::cmp::PartialEq for MSV1_0_PASSTHROUGH_RESPONSE {
12222 fn eq(&self, other: &Self) -> bool {
12223 self.MessageType == other.MessageType && self.Pad == other.Pad && self.DataLength == other.DataLength && self.ValidationData == other.ValidationData
12224 }
12225}
12226impl ::core::cmp::Eq for MSV1_0_PASSTHROUGH_RESPONSE {}
12227impl ::core::default::Default for MSV1_0_PASSTHROUGH_RESPONSE {
12228 fn default() -> Self {
12229 unsafe { ::core::mem::zeroed() }
12230 }
12231}
12232#[repr(C, packed(1))]
12233#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
12234pub struct MSV1_0_REMOTE_SUPPLEMENTAL_CREDENTIAL {
12235 pub Version: u32,
12236 pub Flags: u32,
12237 pub CredentialKey: MSV1_0_CREDENTIAL_KEY,
12238 pub CredentialKeyType: MSV1_0_CREDENTIAL_KEY_TYPE,
12239 pub EncryptedCredsSize: u32,
12240 pub EncryptedCreds: [u8; 1],
12241}
12242impl ::core::marker::Copy for MSV1_0_REMOTE_SUPPLEMENTAL_CREDENTIAL {}
12243impl ::core::clone::Clone for MSV1_0_REMOTE_SUPPLEMENTAL_CREDENTIAL {
12244 fn clone(&self) -> Self {
12245 *self
12246 }
12247}
12248impl ::windows::core::TypeKind for MSV1_0_REMOTE_SUPPLEMENTAL_CREDENTIAL {
12249 type TypeKind = ::windows::core::CopyType;
12250}
12251impl ::core::default::Default for MSV1_0_REMOTE_SUPPLEMENTAL_CREDENTIAL {
12252 fn default() -> Self {
12253 unsafe { ::core::mem::zeroed() }
12254 }
12255}
12256#[repr(C)]
12257#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
12258#[cfg(feature = "Win32_Foundation")]
12259pub struct MSV1_0_S4U_LOGON {
12260 pub MessageType: MSV1_0_LOGON_SUBMIT_TYPE,
12261 pub Flags: u32,
12262 pub UserPrincipalName: super::super::super::Foundation::UNICODE_STRING,
12263 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
12264}
12265#[cfg(feature = "Win32_Foundation")]
12266impl ::core::marker::Copy for MSV1_0_S4U_LOGON {}
12267#[cfg(feature = "Win32_Foundation")]
12268impl ::core::clone::Clone for MSV1_0_S4U_LOGON {
12269 fn clone(&self) -> Self {
12270 *self
12271 }
12272}
12273#[cfg(feature = "Win32_Foundation")]
12274impl ::core::fmt::Debug for MSV1_0_S4U_LOGON {
12275 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12276 f.debug_struct("MSV1_0_S4U_LOGON").field("MessageType", &self.MessageType).field("Flags", &self.Flags).field("UserPrincipalName", &self.UserPrincipalName).field("DomainName", &self.DomainName).finish()
12277 }
12278}
12279#[cfg(feature = "Win32_Foundation")]
12280impl ::windows::core::TypeKind for MSV1_0_S4U_LOGON {
12281 type TypeKind = ::windows::core::CopyType;
12282}
12283#[cfg(feature = "Win32_Foundation")]
12284impl ::core::cmp::PartialEq for MSV1_0_S4U_LOGON {
12285 fn eq(&self, other: &Self) -> bool {
12286 self.MessageType == other.MessageType && self.Flags == other.Flags && self.UserPrincipalName == other.UserPrincipalName && self.DomainName == other.DomainName
12287 }
12288}
12289#[cfg(feature = "Win32_Foundation")]
12290impl ::core::cmp::Eq for MSV1_0_S4U_LOGON {}
12291#[cfg(feature = "Win32_Foundation")]
12292impl ::core::default::Default for MSV1_0_S4U_LOGON {
12293 fn default() -> Self {
12294 unsafe { ::core::mem::zeroed() }
12295 }
12296}
12297#[repr(C)]
12298#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`*"]
12299#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12300pub struct MSV1_0_SUBAUTH_LOGON {
12301 pub MessageType: MSV1_0_LOGON_SUBMIT_TYPE,
12302 pub LogonDomainName: super::super::super::Foundation::UNICODE_STRING,
12303 pub UserName: super::super::super::Foundation::UNICODE_STRING,
12304 pub Workstation: super::super::super::Foundation::UNICODE_STRING,
12305 pub ChallengeToClient: [u8; 8],
12306 pub AuthenticationInfo1: super::super::super::System::Kernel::STRING,
12307 pub AuthenticationInfo2: super::super::super::System::Kernel::STRING,
12308 pub ParameterControl: MSV_SUBAUTH_LOGON_PARAMETER_CONTROL,
12309 pub SubAuthPackageId: u32,
12310}
12311#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12312impl ::core::marker::Copy for MSV1_0_SUBAUTH_LOGON {}
12313#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12314impl ::core::clone::Clone for MSV1_0_SUBAUTH_LOGON {
12315 fn clone(&self) -> Self {
12316 *self
12317 }
12318}
12319#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12320impl ::core::fmt::Debug for MSV1_0_SUBAUTH_LOGON {
12321 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12322 f.debug_struct("MSV1_0_SUBAUTH_LOGON").field("MessageType", &self.MessageType).field("LogonDomainName", &self.LogonDomainName).field("UserName", &self.UserName).field("Workstation", &self.Workstation).field("ChallengeToClient", &self.ChallengeToClient).field("AuthenticationInfo1", &self.AuthenticationInfo1).field("AuthenticationInfo2", &self.AuthenticationInfo2).field("ParameterControl", &self.ParameterControl).field("SubAuthPackageId", &self.SubAuthPackageId).finish()
12323 }
12324}
12325#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12326impl ::windows::core::TypeKind for MSV1_0_SUBAUTH_LOGON {
12327 type TypeKind = ::windows::core::CopyType;
12328}
12329#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12330impl ::core::cmp::PartialEq for MSV1_0_SUBAUTH_LOGON {
12331 fn eq(&self, other: &Self) -> bool {
12332 self.MessageType == other.MessageType && self.LogonDomainName == other.LogonDomainName && self.UserName == other.UserName && self.Workstation == other.Workstation && self.ChallengeToClient == other.ChallengeToClient && self.AuthenticationInfo1 == other.AuthenticationInfo1 && self.AuthenticationInfo2 == other.AuthenticationInfo2 && self.ParameterControl == other.ParameterControl && self.SubAuthPackageId == other.SubAuthPackageId
12333 }
12334}
12335#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12336impl ::core::cmp::Eq for MSV1_0_SUBAUTH_LOGON {}
12337#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12338impl ::core::default::Default for MSV1_0_SUBAUTH_LOGON {
12339 fn default() -> Self {
12340 unsafe { ::core::mem::zeroed() }
12341 }
12342}
12343#[repr(C)]
12344#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
12345pub struct MSV1_0_SUBAUTH_REQUEST {
12346 pub MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE,
12347 pub SubAuthPackageId: u32,
12348 pub SubAuthInfoLength: u32,
12349 pub SubAuthSubmitBuffer: *mut u8,
12350}
12351impl ::core::marker::Copy for MSV1_0_SUBAUTH_REQUEST {}
12352impl ::core::clone::Clone for MSV1_0_SUBAUTH_REQUEST {
12353 fn clone(&self) -> Self {
12354 *self
12355 }
12356}
12357impl ::core::fmt::Debug for MSV1_0_SUBAUTH_REQUEST {
12358 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12359 f.debug_struct("MSV1_0_SUBAUTH_REQUEST").field("MessageType", &self.MessageType).field("SubAuthPackageId", &self.SubAuthPackageId).field("SubAuthInfoLength", &self.SubAuthInfoLength).field("SubAuthSubmitBuffer", &self.SubAuthSubmitBuffer).finish()
12360 }
12361}
12362impl ::windows::core::TypeKind for MSV1_0_SUBAUTH_REQUEST {
12363 type TypeKind = ::windows::core::CopyType;
12364}
12365impl ::core::cmp::PartialEq for MSV1_0_SUBAUTH_REQUEST {
12366 fn eq(&self, other: &Self) -> bool {
12367 self.MessageType == other.MessageType && self.SubAuthPackageId == other.SubAuthPackageId && self.SubAuthInfoLength == other.SubAuthInfoLength && self.SubAuthSubmitBuffer == other.SubAuthSubmitBuffer
12368 }
12369}
12370impl ::core::cmp::Eq for MSV1_0_SUBAUTH_REQUEST {}
12371impl ::core::default::Default for MSV1_0_SUBAUTH_REQUEST {
12372 fn default() -> Self {
12373 unsafe { ::core::mem::zeroed() }
12374 }
12375}
12376#[repr(C)]
12377#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
12378pub struct MSV1_0_SUBAUTH_RESPONSE {
12379 pub MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE,
12380 pub SubAuthInfoLength: u32,
12381 pub SubAuthReturnBuffer: *mut u8,
12382}
12383impl ::core::marker::Copy for MSV1_0_SUBAUTH_RESPONSE {}
12384impl ::core::clone::Clone for MSV1_0_SUBAUTH_RESPONSE {
12385 fn clone(&self) -> Self {
12386 *self
12387 }
12388}
12389impl ::core::fmt::Debug for MSV1_0_SUBAUTH_RESPONSE {
12390 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12391 f.debug_struct("MSV1_0_SUBAUTH_RESPONSE").field("MessageType", &self.MessageType).field("SubAuthInfoLength", &self.SubAuthInfoLength).field("SubAuthReturnBuffer", &self.SubAuthReturnBuffer).finish()
12392 }
12393}
12394impl ::windows::core::TypeKind for MSV1_0_SUBAUTH_RESPONSE {
12395 type TypeKind = ::windows::core::CopyType;
12396}
12397impl ::core::cmp::PartialEq for MSV1_0_SUBAUTH_RESPONSE {
12398 fn eq(&self, other: &Self) -> bool {
12399 self.MessageType == other.MessageType && self.SubAuthInfoLength == other.SubAuthInfoLength && self.SubAuthReturnBuffer == other.SubAuthReturnBuffer
12400 }
12401}
12402impl ::core::cmp::Eq for MSV1_0_SUBAUTH_RESPONSE {}
12403impl ::core::default::Default for MSV1_0_SUBAUTH_RESPONSE {
12404 fn default() -> Self {
12405 unsafe { ::core::mem::zeroed() }
12406 }
12407}
12408#[repr(C)]
12409#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
12410pub struct MSV1_0_SUPPLEMENTAL_CREDENTIAL {
12411 pub Version: u32,
12412 pub Flags: MSV_SUPPLEMENTAL_CREDENTIAL_FLAGS,
12413 pub LmPassword: [u8; 16],
12414 pub NtPassword: [u8; 16],
12415}
12416impl ::core::marker::Copy for MSV1_0_SUPPLEMENTAL_CREDENTIAL {}
12417impl ::core::clone::Clone for MSV1_0_SUPPLEMENTAL_CREDENTIAL {
12418 fn clone(&self) -> Self {
12419 *self
12420 }
12421}
12422impl ::core::fmt::Debug for MSV1_0_SUPPLEMENTAL_CREDENTIAL {
12423 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12424 f.debug_struct("MSV1_0_SUPPLEMENTAL_CREDENTIAL").field("Version", &self.Version).field("Flags", &self.Flags).field("LmPassword", &self.LmPassword).field("NtPassword", &self.NtPassword).finish()
12425 }
12426}
12427impl ::windows::core::TypeKind for MSV1_0_SUPPLEMENTAL_CREDENTIAL {
12428 type TypeKind = ::windows::core::CopyType;
12429}
12430impl ::core::cmp::PartialEq for MSV1_0_SUPPLEMENTAL_CREDENTIAL {
12431 fn eq(&self, other: &Self) -> bool {
12432 self.Version == other.Version && self.Flags == other.Flags && self.LmPassword == other.LmPassword && self.NtPassword == other.NtPassword
12433 }
12434}
12435impl ::core::cmp::Eq for MSV1_0_SUPPLEMENTAL_CREDENTIAL {}
12436impl ::core::default::Default for MSV1_0_SUPPLEMENTAL_CREDENTIAL {
12437 fn default() -> Self {
12438 unsafe { ::core::mem::zeroed() }
12439 }
12440}
12441#[repr(C)]
12442#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
12443pub struct MSV1_0_SUPPLEMENTAL_CREDENTIAL_V2 {
12444 pub Version: u32,
12445 pub Flags: u32,
12446 pub NtPassword: [u8; 16],
12447 pub CredentialKey: MSV1_0_CREDENTIAL_KEY,
12448}
12449impl ::core::marker::Copy for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V2 {}
12450impl ::core::clone::Clone for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V2 {
12451 fn clone(&self) -> Self {
12452 *self
12453 }
12454}
12455impl ::core::fmt::Debug for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V2 {
12456 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12457 f.debug_struct("MSV1_0_SUPPLEMENTAL_CREDENTIAL_V2").field("Version", &self.Version).field("Flags", &self.Flags).field("NtPassword", &self.NtPassword).field("CredentialKey", &self.CredentialKey).finish()
12458 }
12459}
12460impl ::windows::core::TypeKind for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V2 {
12461 type TypeKind = ::windows::core::CopyType;
12462}
12463impl ::core::cmp::PartialEq for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V2 {
12464 fn eq(&self, other: &Self) -> bool {
12465 self.Version == other.Version && self.Flags == other.Flags && self.NtPassword == other.NtPassword && self.CredentialKey == other.CredentialKey
12466 }
12467}
12468impl ::core::cmp::Eq for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V2 {}
12469impl ::core::default::Default for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V2 {
12470 fn default() -> Self {
12471 unsafe { ::core::mem::zeroed() }
12472 }
12473}
12474#[repr(C)]
12475#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
12476pub struct MSV1_0_SUPPLEMENTAL_CREDENTIAL_V3 {
12477 pub Version: u32,
12478 pub Flags: u32,
12479 pub CredentialKeyType: MSV1_0_CREDENTIAL_KEY_TYPE,
12480 pub NtPassword: [u8; 16],
12481 pub CredentialKey: MSV1_0_CREDENTIAL_KEY,
12482 pub ShaPassword: [u8; 20],
12483}
12484impl ::core::marker::Copy for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V3 {}
12485impl ::core::clone::Clone for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V3 {
12486 fn clone(&self) -> Self {
12487 *self
12488 }
12489}
12490impl ::core::fmt::Debug for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V3 {
12491 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12492 f.debug_struct("MSV1_0_SUPPLEMENTAL_CREDENTIAL_V3").field("Version", &self.Version).field("Flags", &self.Flags).field("CredentialKeyType", &self.CredentialKeyType).field("NtPassword", &self.NtPassword).field("CredentialKey", &self.CredentialKey).field("ShaPassword", &self.ShaPassword).finish()
12493 }
12494}
12495impl ::windows::core::TypeKind for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V3 {
12496 type TypeKind = ::windows::core::CopyType;
12497}
12498impl ::core::cmp::PartialEq for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V3 {
12499 fn eq(&self, other: &Self) -> bool {
12500 self.Version == other.Version && self.Flags == other.Flags && self.CredentialKeyType == other.CredentialKeyType && self.NtPassword == other.NtPassword && self.CredentialKey == other.CredentialKey && self.ShaPassword == other.ShaPassword
12501 }
12502}
12503impl ::core::cmp::Eq for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V3 {}
12504impl ::core::default::Default for MSV1_0_SUPPLEMENTAL_CREDENTIAL_V3 {
12505 fn default() -> Self {
12506 unsafe { ::core::mem::zeroed() }
12507 }
12508}
12509#[repr(C)]
12510#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_System_PasswordManagement\"`*"]
12511#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12512pub struct MSV1_0_VALIDATION_INFO {
12513 pub LogoffTime: i64,
12514 pub KickoffTime: i64,
12515 pub LogonServer: super::super::super::Foundation::UNICODE_STRING,
12516 pub LogonDomainName: super::super::super::Foundation::UNICODE_STRING,
12517 pub SessionKey: USER_SESSION_KEY,
12518 pub Authoritative: super::super::super::Foundation::BOOLEAN,
12519 pub UserFlags: u32,
12520 pub WhichFields: u32,
12521 pub UserId: u32,
12522}
12523#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12524impl ::core::marker::Copy for MSV1_0_VALIDATION_INFO {}
12525#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12526impl ::core::clone::Clone for MSV1_0_VALIDATION_INFO {
12527 fn clone(&self) -> Self {
12528 *self
12529 }
12530}
12531#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12532impl ::core::fmt::Debug for MSV1_0_VALIDATION_INFO {
12533 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12534 f.debug_struct("MSV1_0_VALIDATION_INFO").field("LogoffTime", &self.LogoffTime).field("KickoffTime", &self.KickoffTime).field("LogonServer", &self.LogonServer).field("LogonDomainName", &self.LogonDomainName).field("SessionKey", &self.SessionKey).field("Authoritative", &self.Authoritative).field("UserFlags", &self.UserFlags).field("WhichFields", &self.WhichFields).field("UserId", &self.UserId).finish()
12535 }
12536}
12537#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12538impl ::windows::core::TypeKind for MSV1_0_VALIDATION_INFO {
12539 type TypeKind = ::windows::core::CopyType;
12540}
12541#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12542impl ::core::cmp::PartialEq for MSV1_0_VALIDATION_INFO {
12543 fn eq(&self, other: &Self) -> bool {
12544 self.LogoffTime == other.LogoffTime && self.KickoffTime == other.KickoffTime && self.LogonServer == other.LogonServer && self.LogonDomainName == other.LogonDomainName && self.SessionKey == other.SessionKey && self.Authoritative == other.Authoritative && self.UserFlags == other.UserFlags && self.WhichFields == other.WhichFields && self.UserId == other.UserId
12545 }
12546}
12547#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12548impl ::core::cmp::Eq for MSV1_0_VALIDATION_INFO {}
12549#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12550impl ::core::default::Default for MSV1_0_VALIDATION_INFO {
12551 fn default() -> Self {
12552 unsafe { ::core::mem::zeroed() }
12553 }
12554}
12555#[repr(C)]
12556#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
12557#[cfg(feature = "Win32_Foundation")]
12558pub struct NEGOTIATE_CALLER_NAME_REQUEST {
12559 pub MessageType: u32,
12560 pub LogonId: super::super::super::Foundation::LUID,
12561}
12562#[cfg(feature = "Win32_Foundation")]
12563impl ::core::marker::Copy for NEGOTIATE_CALLER_NAME_REQUEST {}
12564#[cfg(feature = "Win32_Foundation")]
12565impl ::core::clone::Clone for NEGOTIATE_CALLER_NAME_REQUEST {
12566 fn clone(&self) -> Self {
12567 *self
12568 }
12569}
12570#[cfg(feature = "Win32_Foundation")]
12571impl ::core::fmt::Debug for NEGOTIATE_CALLER_NAME_REQUEST {
12572 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12573 f.debug_struct("NEGOTIATE_CALLER_NAME_REQUEST").field("MessageType", &self.MessageType).field("LogonId", &self.LogonId).finish()
12574 }
12575}
12576#[cfg(feature = "Win32_Foundation")]
12577impl ::windows::core::TypeKind for NEGOTIATE_CALLER_NAME_REQUEST {
12578 type TypeKind = ::windows::core::CopyType;
12579}
12580#[cfg(feature = "Win32_Foundation")]
12581impl ::core::cmp::PartialEq for NEGOTIATE_CALLER_NAME_REQUEST {
12582 fn eq(&self, other: &Self) -> bool {
12583 self.MessageType == other.MessageType && self.LogonId == other.LogonId
12584 }
12585}
12586#[cfg(feature = "Win32_Foundation")]
12587impl ::core::cmp::Eq for NEGOTIATE_CALLER_NAME_REQUEST {}
12588#[cfg(feature = "Win32_Foundation")]
12589impl ::core::default::Default for NEGOTIATE_CALLER_NAME_REQUEST {
12590 fn default() -> Self {
12591 unsafe { ::core::mem::zeroed() }
12592 }
12593}
12594#[repr(C)]
12595#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
12596pub struct NEGOTIATE_CALLER_NAME_RESPONSE {
12597 pub MessageType: u32,
12598 pub CallerName: ::windows::core::PWSTR,
12599}
12600impl ::core::marker::Copy for NEGOTIATE_CALLER_NAME_RESPONSE {}
12601impl ::core::clone::Clone for NEGOTIATE_CALLER_NAME_RESPONSE {
12602 fn clone(&self) -> Self {
12603 *self
12604 }
12605}
12606impl ::core::fmt::Debug for NEGOTIATE_CALLER_NAME_RESPONSE {
12607 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12608 f.debug_struct("NEGOTIATE_CALLER_NAME_RESPONSE").field("MessageType", &self.MessageType).field("CallerName", &self.CallerName).finish()
12609 }
12610}
12611impl ::windows::core::TypeKind for NEGOTIATE_CALLER_NAME_RESPONSE {
12612 type TypeKind = ::windows::core::CopyType;
12613}
12614impl ::core::cmp::PartialEq for NEGOTIATE_CALLER_NAME_RESPONSE {
12615 fn eq(&self, other: &Self) -> bool {
12616 self.MessageType == other.MessageType && self.CallerName == other.CallerName
12617 }
12618}
12619impl ::core::cmp::Eq for NEGOTIATE_CALLER_NAME_RESPONSE {}
12620impl ::core::default::Default for NEGOTIATE_CALLER_NAME_RESPONSE {
12621 fn default() -> Self {
12622 unsafe { ::core::mem::zeroed() }
12623 }
12624}
12625#[repr(C)]
12626#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
12627pub struct NEGOTIATE_PACKAGE_PREFIX {
12628 pub PackageId: usize,
12629 pub PackageDataA: *mut ::core::ffi::c_void,
12630 pub PackageDataW: *mut ::core::ffi::c_void,
12631 pub PrefixLen: usize,
12632 pub Prefix: [u8; 32],
12633}
12634impl ::core::marker::Copy for NEGOTIATE_PACKAGE_PREFIX {}
12635impl ::core::clone::Clone for NEGOTIATE_PACKAGE_PREFIX {
12636 fn clone(&self) -> Self {
12637 *self
12638 }
12639}
12640impl ::core::fmt::Debug for NEGOTIATE_PACKAGE_PREFIX {
12641 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12642 f.debug_struct("NEGOTIATE_PACKAGE_PREFIX").field("PackageId", &self.PackageId).field("PackageDataA", &self.PackageDataA).field("PackageDataW", &self.PackageDataW).field("PrefixLen", &self.PrefixLen).field("Prefix", &self.Prefix).finish()
12643 }
12644}
12645impl ::windows::core::TypeKind for NEGOTIATE_PACKAGE_PREFIX {
12646 type TypeKind = ::windows::core::CopyType;
12647}
12648impl ::core::cmp::PartialEq for NEGOTIATE_PACKAGE_PREFIX {
12649 fn eq(&self, other: &Self) -> bool {
12650 self.PackageId == other.PackageId && self.PackageDataA == other.PackageDataA && self.PackageDataW == other.PackageDataW && self.PrefixLen == other.PrefixLen && self.Prefix == other.Prefix
12651 }
12652}
12653impl ::core::cmp::Eq for NEGOTIATE_PACKAGE_PREFIX {}
12654impl ::core::default::Default for NEGOTIATE_PACKAGE_PREFIX {
12655 fn default() -> Self {
12656 unsafe { ::core::mem::zeroed() }
12657 }
12658}
12659#[repr(C)]
12660#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
12661pub struct NEGOTIATE_PACKAGE_PREFIXES {
12662 pub MessageType: u32,
12663 pub PrefixCount: u32,
12664 pub Offset: u32,
12665 pub Pad: u32,
12666}
12667impl ::core::marker::Copy for NEGOTIATE_PACKAGE_PREFIXES {}
12668impl ::core::clone::Clone for NEGOTIATE_PACKAGE_PREFIXES {
12669 fn clone(&self) -> Self {
12670 *self
12671 }
12672}
12673impl ::core::fmt::Debug for NEGOTIATE_PACKAGE_PREFIXES {
12674 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12675 f.debug_struct("NEGOTIATE_PACKAGE_PREFIXES").field("MessageType", &self.MessageType).field("PrefixCount", &self.PrefixCount).field("Offset", &self.Offset).field("Pad", &self.Pad).finish()
12676 }
12677}
12678impl ::windows::core::TypeKind for NEGOTIATE_PACKAGE_PREFIXES {
12679 type TypeKind = ::windows::core::CopyType;
12680}
12681impl ::core::cmp::PartialEq for NEGOTIATE_PACKAGE_PREFIXES {
12682 fn eq(&self, other: &Self) -> bool {
12683 self.MessageType == other.MessageType && self.PrefixCount == other.PrefixCount && self.Offset == other.Offset && self.Pad == other.Pad
12684 }
12685}
12686impl ::core::cmp::Eq for NEGOTIATE_PACKAGE_PREFIXES {}
12687impl ::core::default::Default for NEGOTIATE_PACKAGE_PREFIXES {
12688 fn default() -> Self {
12689 unsafe { ::core::mem::zeroed() }
12690 }
12691}
12692#[repr(C)]
12693#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
12694#[cfg(feature = "Win32_Foundation")]
12695pub struct NETLOGON_GENERIC_INFO {
12696 pub Identity: NETLOGON_LOGON_IDENTITY_INFO,
12697 pub PackageName: super::super::super::Foundation::UNICODE_STRING,
12698 pub DataLength: u32,
12699 pub LogonData: *mut u8,
12700}
12701#[cfg(feature = "Win32_Foundation")]
12702impl ::core::marker::Copy for NETLOGON_GENERIC_INFO {}
12703#[cfg(feature = "Win32_Foundation")]
12704impl ::core::clone::Clone for NETLOGON_GENERIC_INFO {
12705 fn clone(&self) -> Self {
12706 *self
12707 }
12708}
12709#[cfg(feature = "Win32_Foundation")]
12710impl ::core::fmt::Debug for NETLOGON_GENERIC_INFO {
12711 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12712 f.debug_struct("NETLOGON_GENERIC_INFO").field("Identity", &self.Identity).field("PackageName", &self.PackageName).field("DataLength", &self.DataLength).field("LogonData", &self.LogonData).finish()
12713 }
12714}
12715#[cfg(feature = "Win32_Foundation")]
12716impl ::windows::core::TypeKind for NETLOGON_GENERIC_INFO {
12717 type TypeKind = ::windows::core::CopyType;
12718}
12719#[cfg(feature = "Win32_Foundation")]
12720impl ::core::cmp::PartialEq for NETLOGON_GENERIC_INFO {
12721 fn eq(&self, other: &Self) -> bool {
12722 self.Identity == other.Identity && self.PackageName == other.PackageName && self.DataLength == other.DataLength && self.LogonData == other.LogonData
12723 }
12724}
12725#[cfg(feature = "Win32_Foundation")]
12726impl ::core::cmp::Eq for NETLOGON_GENERIC_INFO {}
12727#[cfg(feature = "Win32_Foundation")]
12728impl ::core::default::Default for NETLOGON_GENERIC_INFO {
12729 fn default() -> Self {
12730 unsafe { ::core::mem::zeroed() }
12731 }
12732}
12733#[repr(C)]
12734#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_System_PasswordManagement\"`*"]
12735#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12736pub struct NETLOGON_INTERACTIVE_INFO {
12737 pub Identity: NETLOGON_LOGON_IDENTITY_INFO,
12738 pub LmOwfPassword: super::super::super::System::PasswordManagement::LM_OWF_PASSWORD,
12739 pub NtOwfPassword: super::super::super::System::PasswordManagement::LM_OWF_PASSWORD,
12740}
12741#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12742impl ::core::marker::Copy for NETLOGON_INTERACTIVE_INFO {}
12743#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12744impl ::core::clone::Clone for NETLOGON_INTERACTIVE_INFO {
12745 fn clone(&self) -> Self {
12746 *self
12747 }
12748}
12749#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12750impl ::core::fmt::Debug for NETLOGON_INTERACTIVE_INFO {
12751 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12752 f.debug_struct("NETLOGON_INTERACTIVE_INFO").field("Identity", &self.Identity).field("LmOwfPassword", &self.LmOwfPassword).field("NtOwfPassword", &self.NtOwfPassword).finish()
12753 }
12754}
12755#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12756impl ::windows::core::TypeKind for NETLOGON_INTERACTIVE_INFO {
12757 type TypeKind = ::windows::core::CopyType;
12758}
12759#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12760impl ::core::cmp::PartialEq for NETLOGON_INTERACTIVE_INFO {
12761 fn eq(&self, other: &Self) -> bool {
12762 self.Identity == other.Identity && self.LmOwfPassword == other.LmOwfPassword && self.NtOwfPassword == other.NtOwfPassword
12763 }
12764}
12765#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12766impl ::core::cmp::Eq for NETLOGON_INTERACTIVE_INFO {}
12767#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12768impl ::core::default::Default for NETLOGON_INTERACTIVE_INFO {
12769 fn default() -> Self {
12770 unsafe { ::core::mem::zeroed() }
12771 }
12772}
12773#[repr(C)]
12774#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
12775#[cfg(feature = "Win32_Foundation")]
12776pub struct NETLOGON_LOGON_IDENTITY_INFO {
12777 pub LogonDomainName: super::super::super::Foundation::UNICODE_STRING,
12778 pub ParameterControl: u32,
12779 pub LogonId: i64,
12780 pub UserName: super::super::super::Foundation::UNICODE_STRING,
12781 pub Workstation: super::super::super::Foundation::UNICODE_STRING,
12782}
12783#[cfg(feature = "Win32_Foundation")]
12784impl ::core::marker::Copy for NETLOGON_LOGON_IDENTITY_INFO {}
12785#[cfg(feature = "Win32_Foundation")]
12786impl ::core::clone::Clone for NETLOGON_LOGON_IDENTITY_INFO {
12787 fn clone(&self) -> Self {
12788 *self
12789 }
12790}
12791#[cfg(feature = "Win32_Foundation")]
12792impl ::core::fmt::Debug for NETLOGON_LOGON_IDENTITY_INFO {
12793 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12794 f.debug_struct("NETLOGON_LOGON_IDENTITY_INFO").field("LogonDomainName", &self.LogonDomainName).field("ParameterControl", &self.ParameterControl).field("LogonId", &self.LogonId).field("UserName", &self.UserName).field("Workstation", &self.Workstation).finish()
12795 }
12796}
12797#[cfg(feature = "Win32_Foundation")]
12798impl ::windows::core::TypeKind for NETLOGON_LOGON_IDENTITY_INFO {
12799 type TypeKind = ::windows::core::CopyType;
12800}
12801#[cfg(feature = "Win32_Foundation")]
12802impl ::core::cmp::PartialEq for NETLOGON_LOGON_IDENTITY_INFO {
12803 fn eq(&self, other: &Self) -> bool {
12804 self.LogonDomainName == other.LogonDomainName && self.ParameterControl == other.ParameterControl && self.LogonId == other.LogonId && self.UserName == other.UserName && self.Workstation == other.Workstation
12805 }
12806}
12807#[cfg(feature = "Win32_Foundation")]
12808impl ::core::cmp::Eq for NETLOGON_LOGON_IDENTITY_INFO {}
12809#[cfg(feature = "Win32_Foundation")]
12810impl ::core::default::Default for NETLOGON_LOGON_IDENTITY_INFO {
12811 fn default() -> Self {
12812 unsafe { ::core::mem::zeroed() }
12813 }
12814}
12815#[repr(C)]
12816#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`*"]
12817#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12818pub struct NETLOGON_NETWORK_INFO {
12819 pub Identity: NETLOGON_LOGON_IDENTITY_INFO,
12820 pub LmChallenge: CLEAR_BLOCK,
12821 pub NtChallengeResponse: super::super::super::System::Kernel::STRING,
12822 pub LmChallengeResponse: super::super::super::System::Kernel::STRING,
12823}
12824#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12825impl ::core::marker::Copy for NETLOGON_NETWORK_INFO {}
12826#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12827impl ::core::clone::Clone for NETLOGON_NETWORK_INFO {
12828 fn clone(&self) -> Self {
12829 *self
12830 }
12831}
12832#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12833impl ::core::fmt::Debug for NETLOGON_NETWORK_INFO {
12834 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12835 f.debug_struct("NETLOGON_NETWORK_INFO").field("Identity", &self.Identity).field("LmChallenge", &self.LmChallenge).field("NtChallengeResponse", &self.NtChallengeResponse).field("LmChallengeResponse", &self.LmChallengeResponse).finish()
12836 }
12837}
12838#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12839impl ::windows::core::TypeKind for NETLOGON_NETWORK_INFO {
12840 type TypeKind = ::windows::core::CopyType;
12841}
12842#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12843impl ::core::cmp::PartialEq for NETLOGON_NETWORK_INFO {
12844 fn eq(&self, other: &Self) -> bool {
12845 self.Identity == other.Identity && self.LmChallenge == other.LmChallenge && self.NtChallengeResponse == other.NtChallengeResponse && self.LmChallengeResponse == other.LmChallengeResponse
12846 }
12847}
12848#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12849impl ::core::cmp::Eq for NETLOGON_NETWORK_INFO {}
12850#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
12851impl ::core::default::Default for NETLOGON_NETWORK_INFO {
12852 fn default() -> Self {
12853 unsafe { ::core::mem::zeroed() }
12854 }
12855}
12856#[repr(C)]
12857#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_System_PasswordManagement\"`*"]
12858#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12859pub struct NETLOGON_SERVICE_INFO {
12860 pub Identity: NETLOGON_LOGON_IDENTITY_INFO,
12861 pub LmOwfPassword: super::super::super::System::PasswordManagement::LM_OWF_PASSWORD,
12862 pub NtOwfPassword: super::super::super::System::PasswordManagement::LM_OWF_PASSWORD,
12863}
12864#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12865impl ::core::marker::Copy for NETLOGON_SERVICE_INFO {}
12866#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12867impl ::core::clone::Clone for NETLOGON_SERVICE_INFO {
12868 fn clone(&self) -> Self {
12869 *self
12870 }
12871}
12872#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12873impl ::core::fmt::Debug for NETLOGON_SERVICE_INFO {
12874 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12875 f.debug_struct("NETLOGON_SERVICE_INFO").field("Identity", &self.Identity).field("LmOwfPassword", &self.LmOwfPassword).field("NtOwfPassword", &self.NtOwfPassword).finish()
12876 }
12877}
12878#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12879impl ::windows::core::TypeKind for NETLOGON_SERVICE_INFO {
12880 type TypeKind = ::windows::core::CopyType;
12881}
12882#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12883impl ::core::cmp::PartialEq for NETLOGON_SERVICE_INFO {
12884 fn eq(&self, other: &Self) -> bool {
12885 self.Identity == other.Identity && self.LmOwfPassword == other.LmOwfPassword && self.NtOwfPassword == other.NtOwfPassword
12886 }
12887}
12888#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12889impl ::core::cmp::Eq for NETLOGON_SERVICE_INFO {}
12890#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_PasswordManagement"))]
12891impl ::core::default::Default for NETLOGON_SERVICE_INFO {
12892 fn default() -> Self {
12893 unsafe { ::core::mem::zeroed() }
12894 }
12895}
12896#[repr(C)]
12897#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
12898#[cfg(feature = "Win32_Foundation")]
12899pub struct PKU2U_CERTIFICATE_S4U_LOGON {
12900 pub MessageType: PKU2U_LOGON_SUBMIT_TYPE,
12901 pub Flags: u32,
12902 pub UserPrincipalName: super::super::super::Foundation::UNICODE_STRING,
12903 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
12904 pub CertificateLength: u32,
12905 pub Certificate: *mut u8,
12906}
12907#[cfg(feature = "Win32_Foundation")]
12908impl ::core::marker::Copy for PKU2U_CERTIFICATE_S4U_LOGON {}
12909#[cfg(feature = "Win32_Foundation")]
12910impl ::core::clone::Clone for PKU2U_CERTIFICATE_S4U_LOGON {
12911 fn clone(&self) -> Self {
12912 *self
12913 }
12914}
12915#[cfg(feature = "Win32_Foundation")]
12916impl ::core::fmt::Debug for PKU2U_CERTIFICATE_S4U_LOGON {
12917 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12918 f.debug_struct("PKU2U_CERTIFICATE_S4U_LOGON").field("MessageType", &self.MessageType).field("Flags", &self.Flags).field("UserPrincipalName", &self.UserPrincipalName).field("DomainName", &self.DomainName).field("CertificateLength", &self.CertificateLength).field("Certificate", &self.Certificate).finish()
12919 }
12920}
12921#[cfg(feature = "Win32_Foundation")]
12922impl ::windows::core::TypeKind for PKU2U_CERTIFICATE_S4U_LOGON {
12923 type TypeKind = ::windows::core::CopyType;
12924}
12925#[cfg(feature = "Win32_Foundation")]
12926impl ::core::cmp::PartialEq for PKU2U_CERTIFICATE_S4U_LOGON {
12927 fn eq(&self, other: &Self) -> bool {
12928 self.MessageType == other.MessageType && self.Flags == other.Flags && self.UserPrincipalName == other.UserPrincipalName && self.DomainName == other.DomainName && self.CertificateLength == other.CertificateLength && self.Certificate == other.Certificate
12929 }
12930}
12931#[cfg(feature = "Win32_Foundation")]
12932impl ::core::cmp::Eq for PKU2U_CERTIFICATE_S4U_LOGON {}
12933#[cfg(feature = "Win32_Foundation")]
12934impl ::core::default::Default for PKU2U_CERTIFICATE_S4U_LOGON {
12935 fn default() -> Self {
12936 unsafe { ::core::mem::zeroed() }
12937 }
12938}
12939#[repr(C)]
12940#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
12941pub struct PKU2U_CERT_BLOB {
12942 pub CertOffset: u32,
12943 pub CertLength: u16,
12944}
12945impl ::core::marker::Copy for PKU2U_CERT_BLOB {}
12946impl ::core::clone::Clone for PKU2U_CERT_BLOB {
12947 fn clone(&self) -> Self {
12948 *self
12949 }
12950}
12951impl ::core::fmt::Debug for PKU2U_CERT_BLOB {
12952 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12953 f.debug_struct("PKU2U_CERT_BLOB").field("CertOffset", &self.CertOffset).field("CertLength", &self.CertLength).finish()
12954 }
12955}
12956impl ::windows::core::TypeKind for PKU2U_CERT_BLOB {
12957 type TypeKind = ::windows::core::CopyType;
12958}
12959impl ::core::cmp::PartialEq for PKU2U_CERT_BLOB {
12960 fn eq(&self, other: &Self) -> bool {
12961 self.CertOffset == other.CertOffset && self.CertLength == other.CertLength
12962 }
12963}
12964impl ::core::cmp::Eq for PKU2U_CERT_BLOB {}
12965impl ::core::default::Default for PKU2U_CERT_BLOB {
12966 fn default() -> Self {
12967 unsafe { ::core::mem::zeroed() }
12968 }
12969}
12970#[repr(C)]
12971#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
12972pub struct PKU2U_CREDUI_CONTEXT {
12973 pub Version: u64,
12974 pub cbHeaderLength: u16,
12975 pub cbStructureLength: u32,
12976 pub CertArrayCount: u16,
12977 pub CertArrayOffset: u32,
12978}
12979impl ::core::marker::Copy for PKU2U_CREDUI_CONTEXT {}
12980impl ::core::clone::Clone for PKU2U_CREDUI_CONTEXT {
12981 fn clone(&self) -> Self {
12982 *self
12983 }
12984}
12985impl ::core::fmt::Debug for PKU2U_CREDUI_CONTEXT {
12986 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12987 f.debug_struct("PKU2U_CREDUI_CONTEXT").field("Version", &self.Version).field("cbHeaderLength", &self.cbHeaderLength).field("cbStructureLength", &self.cbStructureLength).field("CertArrayCount", &self.CertArrayCount).field("CertArrayOffset", &self.CertArrayOffset).finish()
12988 }
12989}
12990impl ::windows::core::TypeKind for PKU2U_CREDUI_CONTEXT {
12991 type TypeKind = ::windows::core::CopyType;
12992}
12993impl ::core::cmp::PartialEq for PKU2U_CREDUI_CONTEXT {
12994 fn eq(&self, other: &Self) -> bool {
12995 self.Version == other.Version && self.cbHeaderLength == other.cbHeaderLength && self.cbStructureLength == other.cbStructureLength && self.CertArrayCount == other.CertArrayCount && self.CertArrayOffset == other.CertArrayOffset
12996 }
12997}
12998impl ::core::cmp::Eq for PKU2U_CREDUI_CONTEXT {}
12999impl ::core::default::Default for PKU2U_CREDUI_CONTEXT {
13000 fn default() -> Self {
13001 unsafe { ::core::mem::zeroed() }
13002 }
13003}
13004#[repr(C)]
13005#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
13006#[cfg(feature = "Win32_Foundation")]
13007pub struct POLICY_ACCOUNT_DOMAIN_INFO {
13008 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
13009 pub DomainSid: super::super::super::Foundation::PSID,
13010}
13011#[cfg(feature = "Win32_Foundation")]
13012impl ::core::marker::Copy for POLICY_ACCOUNT_DOMAIN_INFO {}
13013#[cfg(feature = "Win32_Foundation")]
13014impl ::core::clone::Clone for POLICY_ACCOUNT_DOMAIN_INFO {
13015 fn clone(&self) -> Self {
13016 *self
13017 }
13018}
13019#[cfg(feature = "Win32_Foundation")]
13020impl ::core::fmt::Debug for POLICY_ACCOUNT_DOMAIN_INFO {
13021 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13022 f.debug_struct("POLICY_ACCOUNT_DOMAIN_INFO").field("DomainName", &self.DomainName).field("DomainSid", &self.DomainSid).finish()
13023 }
13024}
13025#[cfg(feature = "Win32_Foundation")]
13026impl ::windows::core::TypeKind for POLICY_ACCOUNT_DOMAIN_INFO {
13027 type TypeKind = ::windows::core::CopyType;
13028}
13029#[cfg(feature = "Win32_Foundation")]
13030impl ::core::cmp::PartialEq for POLICY_ACCOUNT_DOMAIN_INFO {
13031 fn eq(&self, other: &Self) -> bool {
13032 self.DomainName == other.DomainName && self.DomainSid == other.DomainSid
13033 }
13034}
13035#[cfg(feature = "Win32_Foundation")]
13036impl ::core::cmp::Eq for POLICY_ACCOUNT_DOMAIN_INFO {}
13037#[cfg(feature = "Win32_Foundation")]
13038impl ::core::default::Default for POLICY_ACCOUNT_DOMAIN_INFO {
13039 fn default() -> Self {
13040 unsafe { ::core::mem::zeroed() }
13041 }
13042}
13043#[repr(C)]
13044#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
13045pub struct POLICY_AUDIT_CATEGORIES_INFO {
13046 pub MaximumCategoryCount: u32,
13047 pub SubCategoriesInfo: *mut POLICY_AUDIT_SUBCATEGORIES_INFO,
13048}
13049impl ::core::marker::Copy for POLICY_AUDIT_CATEGORIES_INFO {}
13050impl ::core::clone::Clone for POLICY_AUDIT_CATEGORIES_INFO {
13051 fn clone(&self) -> Self {
13052 *self
13053 }
13054}
13055impl ::core::fmt::Debug for POLICY_AUDIT_CATEGORIES_INFO {
13056 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13057 f.debug_struct("POLICY_AUDIT_CATEGORIES_INFO").field("MaximumCategoryCount", &self.MaximumCategoryCount).field("SubCategoriesInfo", &self.SubCategoriesInfo).finish()
13058 }
13059}
13060impl ::windows::core::TypeKind for POLICY_AUDIT_CATEGORIES_INFO {
13061 type TypeKind = ::windows::core::CopyType;
13062}
13063impl ::core::cmp::PartialEq for POLICY_AUDIT_CATEGORIES_INFO {
13064 fn eq(&self, other: &Self) -> bool {
13065 self.MaximumCategoryCount == other.MaximumCategoryCount && self.SubCategoriesInfo == other.SubCategoriesInfo
13066 }
13067}
13068impl ::core::cmp::Eq for POLICY_AUDIT_CATEGORIES_INFO {}
13069impl ::core::default::Default for POLICY_AUDIT_CATEGORIES_INFO {
13070 fn default() -> Self {
13071 unsafe { ::core::mem::zeroed() }
13072 }
13073}
13074#[repr(C)]
13075#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
13076#[cfg(feature = "Win32_Foundation")]
13077pub struct POLICY_AUDIT_EVENTS_INFO {
13078 pub AuditingMode: super::super::super::Foundation::BOOLEAN,
13079 pub EventAuditingOptions: *mut u32,
13080 pub MaximumAuditEventCount: u32,
13081}
13082#[cfg(feature = "Win32_Foundation")]
13083impl ::core::marker::Copy for POLICY_AUDIT_EVENTS_INFO {}
13084#[cfg(feature = "Win32_Foundation")]
13085impl ::core::clone::Clone for POLICY_AUDIT_EVENTS_INFO {
13086 fn clone(&self) -> Self {
13087 *self
13088 }
13089}
13090#[cfg(feature = "Win32_Foundation")]
13091impl ::core::fmt::Debug for POLICY_AUDIT_EVENTS_INFO {
13092 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13093 f.debug_struct("POLICY_AUDIT_EVENTS_INFO").field("AuditingMode", &self.AuditingMode).field("EventAuditingOptions", &self.EventAuditingOptions).field("MaximumAuditEventCount", &self.MaximumAuditEventCount).finish()
13094 }
13095}
13096#[cfg(feature = "Win32_Foundation")]
13097impl ::windows::core::TypeKind for POLICY_AUDIT_EVENTS_INFO {
13098 type TypeKind = ::windows::core::CopyType;
13099}
13100#[cfg(feature = "Win32_Foundation")]
13101impl ::core::cmp::PartialEq for POLICY_AUDIT_EVENTS_INFO {
13102 fn eq(&self, other: &Self) -> bool {
13103 self.AuditingMode == other.AuditingMode && self.EventAuditingOptions == other.EventAuditingOptions && self.MaximumAuditEventCount == other.MaximumAuditEventCount
13104 }
13105}
13106#[cfg(feature = "Win32_Foundation")]
13107impl ::core::cmp::Eq for POLICY_AUDIT_EVENTS_INFO {}
13108#[cfg(feature = "Win32_Foundation")]
13109impl ::core::default::Default for POLICY_AUDIT_EVENTS_INFO {
13110 fn default() -> Self {
13111 unsafe { ::core::mem::zeroed() }
13112 }
13113}
13114#[repr(C)]
13115#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
13116#[cfg(feature = "Win32_Foundation")]
13117pub struct POLICY_AUDIT_FULL_QUERY_INFO {
13118 pub ShutDownOnFull: super::super::super::Foundation::BOOLEAN,
13119 pub LogIsFull: super::super::super::Foundation::BOOLEAN,
13120}
13121#[cfg(feature = "Win32_Foundation")]
13122impl ::core::marker::Copy for POLICY_AUDIT_FULL_QUERY_INFO {}
13123#[cfg(feature = "Win32_Foundation")]
13124impl ::core::clone::Clone for POLICY_AUDIT_FULL_QUERY_INFO {
13125 fn clone(&self) -> Self {
13126 *self
13127 }
13128}
13129#[cfg(feature = "Win32_Foundation")]
13130impl ::core::fmt::Debug for POLICY_AUDIT_FULL_QUERY_INFO {
13131 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13132 f.debug_struct("POLICY_AUDIT_FULL_QUERY_INFO").field("ShutDownOnFull", &self.ShutDownOnFull).field("LogIsFull", &self.LogIsFull).finish()
13133 }
13134}
13135#[cfg(feature = "Win32_Foundation")]
13136impl ::windows::core::TypeKind for POLICY_AUDIT_FULL_QUERY_INFO {
13137 type TypeKind = ::windows::core::CopyType;
13138}
13139#[cfg(feature = "Win32_Foundation")]
13140impl ::core::cmp::PartialEq for POLICY_AUDIT_FULL_QUERY_INFO {
13141 fn eq(&self, other: &Self) -> bool {
13142 self.ShutDownOnFull == other.ShutDownOnFull && self.LogIsFull == other.LogIsFull
13143 }
13144}
13145#[cfg(feature = "Win32_Foundation")]
13146impl ::core::cmp::Eq for POLICY_AUDIT_FULL_QUERY_INFO {}
13147#[cfg(feature = "Win32_Foundation")]
13148impl ::core::default::Default for POLICY_AUDIT_FULL_QUERY_INFO {
13149 fn default() -> Self {
13150 unsafe { ::core::mem::zeroed() }
13151 }
13152}
13153#[repr(C)]
13154#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
13155#[cfg(feature = "Win32_Foundation")]
13156pub struct POLICY_AUDIT_FULL_SET_INFO {
13157 pub ShutDownOnFull: super::super::super::Foundation::BOOLEAN,
13158}
13159#[cfg(feature = "Win32_Foundation")]
13160impl ::core::marker::Copy for POLICY_AUDIT_FULL_SET_INFO {}
13161#[cfg(feature = "Win32_Foundation")]
13162impl ::core::clone::Clone for POLICY_AUDIT_FULL_SET_INFO {
13163 fn clone(&self) -> Self {
13164 *self
13165 }
13166}
13167#[cfg(feature = "Win32_Foundation")]
13168impl ::core::fmt::Debug for POLICY_AUDIT_FULL_SET_INFO {
13169 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13170 f.debug_struct("POLICY_AUDIT_FULL_SET_INFO").field("ShutDownOnFull", &self.ShutDownOnFull).finish()
13171 }
13172}
13173#[cfg(feature = "Win32_Foundation")]
13174impl ::windows::core::TypeKind for POLICY_AUDIT_FULL_SET_INFO {
13175 type TypeKind = ::windows::core::CopyType;
13176}
13177#[cfg(feature = "Win32_Foundation")]
13178impl ::core::cmp::PartialEq for POLICY_AUDIT_FULL_SET_INFO {
13179 fn eq(&self, other: &Self) -> bool {
13180 self.ShutDownOnFull == other.ShutDownOnFull
13181 }
13182}
13183#[cfg(feature = "Win32_Foundation")]
13184impl ::core::cmp::Eq for POLICY_AUDIT_FULL_SET_INFO {}
13185#[cfg(feature = "Win32_Foundation")]
13186impl ::core::default::Default for POLICY_AUDIT_FULL_SET_INFO {
13187 fn default() -> Self {
13188 unsafe { ::core::mem::zeroed() }
13189 }
13190}
13191#[repr(C)]
13192#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
13193#[cfg(feature = "Win32_Foundation")]
13194pub struct POLICY_AUDIT_LOG_INFO {
13195 pub AuditLogPercentFull: u32,
13196 pub MaximumLogSize: u32,
13197 pub AuditRetentionPeriod: i64,
13198 pub AuditLogFullShutdownInProgress: super::super::super::Foundation::BOOLEAN,
13199 pub TimeToShutdown: i64,
13200 pub NextAuditRecordId: u32,
13201}
13202#[cfg(feature = "Win32_Foundation")]
13203impl ::core::marker::Copy for POLICY_AUDIT_LOG_INFO {}
13204#[cfg(feature = "Win32_Foundation")]
13205impl ::core::clone::Clone for POLICY_AUDIT_LOG_INFO {
13206 fn clone(&self) -> Self {
13207 *self
13208 }
13209}
13210#[cfg(feature = "Win32_Foundation")]
13211impl ::core::fmt::Debug for POLICY_AUDIT_LOG_INFO {
13212 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13213 f.debug_struct("POLICY_AUDIT_LOG_INFO").field("AuditLogPercentFull", &self.AuditLogPercentFull).field("MaximumLogSize", &self.MaximumLogSize).field("AuditRetentionPeriod", &self.AuditRetentionPeriod).field("AuditLogFullShutdownInProgress", &self.AuditLogFullShutdownInProgress).field("TimeToShutdown", &self.TimeToShutdown).field("NextAuditRecordId", &self.NextAuditRecordId).finish()
13214 }
13215}
13216#[cfg(feature = "Win32_Foundation")]
13217impl ::windows::core::TypeKind for POLICY_AUDIT_LOG_INFO {
13218 type TypeKind = ::windows::core::CopyType;
13219}
13220#[cfg(feature = "Win32_Foundation")]
13221impl ::core::cmp::PartialEq for POLICY_AUDIT_LOG_INFO {
13222 fn eq(&self, other: &Self) -> bool {
13223 self.AuditLogPercentFull == other.AuditLogPercentFull && self.MaximumLogSize == other.MaximumLogSize && self.AuditRetentionPeriod == other.AuditRetentionPeriod && self.AuditLogFullShutdownInProgress == other.AuditLogFullShutdownInProgress && self.TimeToShutdown == other.TimeToShutdown && self.NextAuditRecordId == other.NextAuditRecordId
13224 }
13225}
13226#[cfg(feature = "Win32_Foundation")]
13227impl ::core::cmp::Eq for POLICY_AUDIT_LOG_INFO {}
13228#[cfg(feature = "Win32_Foundation")]
13229impl ::core::default::Default for POLICY_AUDIT_LOG_INFO {
13230 fn default() -> Self {
13231 unsafe { ::core::mem::zeroed() }
13232 }
13233}
13234#[repr(C)]
13235#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
13236#[cfg(feature = "Win32_Foundation")]
13237pub struct POLICY_AUDIT_SID_ARRAY {
13238 pub UsersCount: u32,
13239 pub UserSidArray: *mut super::super::super::Foundation::PSID,
13240}
13241#[cfg(feature = "Win32_Foundation")]
13242impl ::core::marker::Copy for POLICY_AUDIT_SID_ARRAY {}
13243#[cfg(feature = "Win32_Foundation")]
13244impl ::core::clone::Clone for POLICY_AUDIT_SID_ARRAY {
13245 fn clone(&self) -> Self {
13246 *self
13247 }
13248}
13249#[cfg(feature = "Win32_Foundation")]
13250impl ::core::fmt::Debug for POLICY_AUDIT_SID_ARRAY {
13251 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13252 f.debug_struct("POLICY_AUDIT_SID_ARRAY").field("UsersCount", &self.UsersCount).field("UserSidArray", &self.UserSidArray).finish()
13253 }
13254}
13255#[cfg(feature = "Win32_Foundation")]
13256impl ::windows::core::TypeKind for POLICY_AUDIT_SID_ARRAY {
13257 type TypeKind = ::windows::core::CopyType;
13258}
13259#[cfg(feature = "Win32_Foundation")]
13260impl ::core::cmp::PartialEq for POLICY_AUDIT_SID_ARRAY {
13261 fn eq(&self, other: &Self) -> bool {
13262 self.UsersCount == other.UsersCount && self.UserSidArray == other.UserSidArray
13263 }
13264}
13265#[cfg(feature = "Win32_Foundation")]
13266impl ::core::cmp::Eq for POLICY_AUDIT_SID_ARRAY {}
13267#[cfg(feature = "Win32_Foundation")]
13268impl ::core::default::Default for POLICY_AUDIT_SID_ARRAY {
13269 fn default() -> Self {
13270 unsafe { ::core::mem::zeroed() }
13271 }
13272}
13273#[repr(C)]
13274#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
13275pub struct POLICY_AUDIT_SUBCATEGORIES_INFO {
13276 pub MaximumSubCategoryCount: u32,
13277 pub EventAuditingOptions: *mut u32,
13278}
13279impl ::core::marker::Copy for POLICY_AUDIT_SUBCATEGORIES_INFO {}
13280impl ::core::clone::Clone for POLICY_AUDIT_SUBCATEGORIES_INFO {
13281 fn clone(&self) -> Self {
13282 *self
13283 }
13284}
13285impl ::core::fmt::Debug for POLICY_AUDIT_SUBCATEGORIES_INFO {
13286 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13287 f.debug_struct("POLICY_AUDIT_SUBCATEGORIES_INFO").field("MaximumSubCategoryCount", &self.MaximumSubCategoryCount).field("EventAuditingOptions", &self.EventAuditingOptions).finish()
13288 }
13289}
13290impl ::windows::core::TypeKind for POLICY_AUDIT_SUBCATEGORIES_INFO {
13291 type TypeKind = ::windows::core::CopyType;
13292}
13293impl ::core::cmp::PartialEq for POLICY_AUDIT_SUBCATEGORIES_INFO {
13294 fn eq(&self, other: &Self) -> bool {
13295 self.MaximumSubCategoryCount == other.MaximumSubCategoryCount && self.EventAuditingOptions == other.EventAuditingOptions
13296 }
13297}
13298impl ::core::cmp::Eq for POLICY_AUDIT_SUBCATEGORIES_INFO {}
13299impl ::core::default::Default for POLICY_AUDIT_SUBCATEGORIES_INFO {
13300 fn default() -> Self {
13301 unsafe { ::core::mem::zeroed() }
13302 }
13303}
13304#[repr(C)]
13305#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
13306pub struct POLICY_DEFAULT_QUOTA_INFO {
13307 pub QuotaLimits: super::super::QUOTA_LIMITS,
13308}
13309impl ::core::marker::Copy for POLICY_DEFAULT_QUOTA_INFO {}
13310impl ::core::clone::Clone for POLICY_DEFAULT_QUOTA_INFO {
13311 fn clone(&self) -> Self {
13312 *self
13313 }
13314}
13315impl ::core::fmt::Debug for POLICY_DEFAULT_QUOTA_INFO {
13316 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13317 f.debug_struct("POLICY_DEFAULT_QUOTA_INFO").field("QuotaLimits", &self.QuotaLimits).finish()
13318 }
13319}
13320impl ::windows::core::TypeKind for POLICY_DEFAULT_QUOTA_INFO {
13321 type TypeKind = ::windows::core::CopyType;
13322}
13323impl ::core::cmp::PartialEq for POLICY_DEFAULT_QUOTA_INFO {
13324 fn eq(&self, other: &Self) -> bool {
13325 self.QuotaLimits == other.QuotaLimits
13326 }
13327}
13328impl ::core::cmp::Eq for POLICY_DEFAULT_QUOTA_INFO {}
13329impl ::core::default::Default for POLICY_DEFAULT_QUOTA_INFO {
13330 fn default() -> Self {
13331 unsafe { ::core::mem::zeroed() }
13332 }
13333}
13334#[repr(C)]
13335#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
13336#[cfg(feature = "Win32_Foundation")]
13337pub struct POLICY_DNS_DOMAIN_INFO {
13338 pub Name: super::super::super::Foundation::UNICODE_STRING,
13339 pub DnsDomainName: super::super::super::Foundation::UNICODE_STRING,
13340 pub DnsForestName: super::super::super::Foundation::UNICODE_STRING,
13341 pub DomainGuid: ::windows::core::GUID,
13342 pub Sid: super::super::super::Foundation::PSID,
13343}
13344#[cfg(feature = "Win32_Foundation")]
13345impl ::core::marker::Copy for POLICY_DNS_DOMAIN_INFO {}
13346#[cfg(feature = "Win32_Foundation")]
13347impl ::core::clone::Clone for POLICY_DNS_DOMAIN_INFO {
13348 fn clone(&self) -> Self {
13349 *self
13350 }
13351}
13352#[cfg(feature = "Win32_Foundation")]
13353impl ::core::fmt::Debug for POLICY_DNS_DOMAIN_INFO {
13354 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13355 f.debug_struct("POLICY_DNS_DOMAIN_INFO").field("Name", &self.Name).field("DnsDomainName", &self.DnsDomainName).field("DnsForestName", &self.DnsForestName).field("DomainGuid", &self.DomainGuid).field("Sid", &self.Sid).finish()
13356 }
13357}
13358#[cfg(feature = "Win32_Foundation")]
13359impl ::windows::core::TypeKind for POLICY_DNS_DOMAIN_INFO {
13360 type TypeKind = ::windows::core::CopyType;
13361}
13362#[cfg(feature = "Win32_Foundation")]
13363impl ::core::cmp::PartialEq for POLICY_DNS_DOMAIN_INFO {
13364 fn eq(&self, other: &Self) -> bool {
13365 self.Name == other.Name && self.DnsDomainName == other.DnsDomainName && self.DnsForestName == other.DnsForestName && self.DomainGuid == other.DomainGuid && self.Sid == other.Sid
13366 }
13367}
13368#[cfg(feature = "Win32_Foundation")]
13369impl ::core::cmp::Eq for POLICY_DNS_DOMAIN_INFO {}
13370#[cfg(feature = "Win32_Foundation")]
13371impl ::core::default::Default for POLICY_DNS_DOMAIN_INFO {
13372 fn default() -> Self {
13373 unsafe { ::core::mem::zeroed() }
13374 }
13375}
13376#[repr(C)]
13377#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
13378pub struct POLICY_DOMAIN_EFS_INFO {
13379 pub InfoLength: u32,
13380 pub EfsBlob: *mut u8,
13381}
13382impl ::core::marker::Copy for POLICY_DOMAIN_EFS_INFO {}
13383impl ::core::clone::Clone for POLICY_DOMAIN_EFS_INFO {
13384 fn clone(&self) -> Self {
13385 *self
13386 }
13387}
13388impl ::core::fmt::Debug for POLICY_DOMAIN_EFS_INFO {
13389 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13390 f.debug_struct("POLICY_DOMAIN_EFS_INFO").field("InfoLength", &self.InfoLength).field("EfsBlob", &self.EfsBlob).finish()
13391 }
13392}
13393impl ::windows::core::TypeKind for POLICY_DOMAIN_EFS_INFO {
13394 type TypeKind = ::windows::core::CopyType;
13395}
13396impl ::core::cmp::PartialEq for POLICY_DOMAIN_EFS_INFO {
13397 fn eq(&self, other: &Self) -> bool {
13398 self.InfoLength == other.InfoLength && self.EfsBlob == other.EfsBlob
13399 }
13400}
13401impl ::core::cmp::Eq for POLICY_DOMAIN_EFS_INFO {}
13402impl ::core::default::Default for POLICY_DOMAIN_EFS_INFO {
13403 fn default() -> Self {
13404 unsafe { ::core::mem::zeroed() }
13405 }
13406}
13407#[repr(C)]
13408#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
13409pub struct POLICY_DOMAIN_KERBEROS_TICKET_INFO {
13410 pub AuthenticationOptions: u32,
13411 pub MaxServiceTicketAge: i64,
13412 pub MaxTicketAge: i64,
13413 pub MaxRenewAge: i64,
13414 pub MaxClockSkew: i64,
13415 pub Reserved: i64,
13416}
13417impl ::core::marker::Copy for POLICY_DOMAIN_KERBEROS_TICKET_INFO {}
13418impl ::core::clone::Clone for POLICY_DOMAIN_KERBEROS_TICKET_INFO {
13419 fn clone(&self) -> Self {
13420 *self
13421 }
13422}
13423impl ::core::fmt::Debug for POLICY_DOMAIN_KERBEROS_TICKET_INFO {
13424 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13425 f.debug_struct("POLICY_DOMAIN_KERBEROS_TICKET_INFO").field("AuthenticationOptions", &self.AuthenticationOptions).field("MaxServiceTicketAge", &self.MaxServiceTicketAge).field("MaxTicketAge", &self.MaxTicketAge).field("MaxRenewAge", &self.MaxRenewAge).field("MaxClockSkew", &self.MaxClockSkew).field("Reserved", &self.Reserved).finish()
13426 }
13427}
13428impl ::windows::core::TypeKind for POLICY_DOMAIN_KERBEROS_TICKET_INFO {
13429 type TypeKind = ::windows::core::CopyType;
13430}
13431impl ::core::cmp::PartialEq for POLICY_DOMAIN_KERBEROS_TICKET_INFO {
13432 fn eq(&self, other: &Self) -> bool {
13433 self.AuthenticationOptions == other.AuthenticationOptions && self.MaxServiceTicketAge == other.MaxServiceTicketAge && self.MaxTicketAge == other.MaxTicketAge && self.MaxRenewAge == other.MaxRenewAge && self.MaxClockSkew == other.MaxClockSkew && self.Reserved == other.Reserved
13434 }
13435}
13436impl ::core::cmp::Eq for POLICY_DOMAIN_KERBEROS_TICKET_INFO {}
13437impl ::core::default::Default for POLICY_DOMAIN_KERBEROS_TICKET_INFO {
13438 fn default() -> Self {
13439 unsafe { ::core::mem::zeroed() }
13440 }
13441}
13442#[repr(C)]
13443#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
13444pub struct POLICY_LSA_SERVER_ROLE_INFO {
13445 pub LsaServerRole: POLICY_LSA_SERVER_ROLE,
13446}
13447impl ::core::marker::Copy for POLICY_LSA_SERVER_ROLE_INFO {}
13448impl ::core::clone::Clone for POLICY_LSA_SERVER_ROLE_INFO {
13449 fn clone(&self) -> Self {
13450 *self
13451 }
13452}
13453impl ::core::fmt::Debug for POLICY_LSA_SERVER_ROLE_INFO {
13454 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13455 f.debug_struct("POLICY_LSA_SERVER_ROLE_INFO").field("LsaServerRole", &self.LsaServerRole).finish()
13456 }
13457}
13458impl ::windows::core::TypeKind for POLICY_LSA_SERVER_ROLE_INFO {
13459 type TypeKind = ::windows::core::CopyType;
13460}
13461impl ::core::cmp::PartialEq for POLICY_LSA_SERVER_ROLE_INFO {
13462 fn eq(&self, other: &Self) -> bool {
13463 self.LsaServerRole == other.LsaServerRole
13464 }
13465}
13466impl ::core::cmp::Eq for POLICY_LSA_SERVER_ROLE_INFO {}
13467impl ::core::default::Default for POLICY_LSA_SERVER_ROLE_INFO {
13468 fn default() -> Self {
13469 unsafe { ::core::mem::zeroed() }
13470 }
13471}
13472#[repr(C)]
13473#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
13474#[cfg(feature = "Win32_Foundation")]
13475pub struct POLICY_MACHINE_ACCT_INFO {
13476 pub Rid: u32,
13477 pub Sid: super::super::super::Foundation::PSID,
13478}
13479#[cfg(feature = "Win32_Foundation")]
13480impl ::core::marker::Copy for POLICY_MACHINE_ACCT_INFO {}
13481#[cfg(feature = "Win32_Foundation")]
13482impl ::core::clone::Clone for POLICY_MACHINE_ACCT_INFO {
13483 fn clone(&self) -> Self {
13484 *self
13485 }
13486}
13487#[cfg(feature = "Win32_Foundation")]
13488impl ::core::fmt::Debug for POLICY_MACHINE_ACCT_INFO {
13489 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13490 f.debug_struct("POLICY_MACHINE_ACCT_INFO").field("Rid", &self.Rid).field("Sid", &self.Sid).finish()
13491 }
13492}
13493#[cfg(feature = "Win32_Foundation")]
13494impl ::windows::core::TypeKind for POLICY_MACHINE_ACCT_INFO {
13495 type TypeKind = ::windows::core::CopyType;
13496}
13497#[cfg(feature = "Win32_Foundation")]
13498impl ::core::cmp::PartialEq for POLICY_MACHINE_ACCT_INFO {
13499 fn eq(&self, other: &Self) -> bool {
13500 self.Rid == other.Rid && self.Sid == other.Sid
13501 }
13502}
13503#[cfg(feature = "Win32_Foundation")]
13504impl ::core::cmp::Eq for POLICY_MACHINE_ACCT_INFO {}
13505#[cfg(feature = "Win32_Foundation")]
13506impl ::core::default::Default for POLICY_MACHINE_ACCT_INFO {
13507 fn default() -> Self {
13508 unsafe { ::core::mem::zeroed() }
13509 }
13510}
13511#[repr(C)]
13512#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
13513pub struct POLICY_MODIFICATION_INFO {
13514 pub ModifiedId: i64,
13515 pub DatabaseCreationTime: i64,
13516}
13517impl ::core::marker::Copy for POLICY_MODIFICATION_INFO {}
13518impl ::core::clone::Clone for POLICY_MODIFICATION_INFO {
13519 fn clone(&self) -> Self {
13520 *self
13521 }
13522}
13523impl ::core::fmt::Debug for POLICY_MODIFICATION_INFO {
13524 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13525 f.debug_struct("POLICY_MODIFICATION_INFO").field("ModifiedId", &self.ModifiedId).field("DatabaseCreationTime", &self.DatabaseCreationTime).finish()
13526 }
13527}
13528impl ::windows::core::TypeKind for POLICY_MODIFICATION_INFO {
13529 type TypeKind = ::windows::core::CopyType;
13530}
13531impl ::core::cmp::PartialEq for POLICY_MODIFICATION_INFO {
13532 fn eq(&self, other: &Self) -> bool {
13533 self.ModifiedId == other.ModifiedId && self.DatabaseCreationTime == other.DatabaseCreationTime
13534 }
13535}
13536impl ::core::cmp::Eq for POLICY_MODIFICATION_INFO {}
13537impl ::core::default::Default for POLICY_MODIFICATION_INFO {
13538 fn default() -> Self {
13539 unsafe { ::core::mem::zeroed() }
13540 }
13541}
13542#[repr(C)]
13543#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
13544#[cfg(feature = "Win32_Foundation")]
13545pub struct POLICY_PD_ACCOUNT_INFO {
13546 pub Name: super::super::super::Foundation::UNICODE_STRING,
13547}
13548#[cfg(feature = "Win32_Foundation")]
13549impl ::core::marker::Copy for POLICY_PD_ACCOUNT_INFO {}
13550#[cfg(feature = "Win32_Foundation")]
13551impl ::core::clone::Clone for POLICY_PD_ACCOUNT_INFO {
13552 fn clone(&self) -> Self {
13553 *self
13554 }
13555}
13556#[cfg(feature = "Win32_Foundation")]
13557impl ::core::fmt::Debug for POLICY_PD_ACCOUNT_INFO {
13558 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13559 f.debug_struct("POLICY_PD_ACCOUNT_INFO").field("Name", &self.Name).finish()
13560 }
13561}
13562#[cfg(feature = "Win32_Foundation")]
13563impl ::windows::core::TypeKind for POLICY_PD_ACCOUNT_INFO {
13564 type TypeKind = ::windows::core::CopyType;
13565}
13566#[cfg(feature = "Win32_Foundation")]
13567impl ::core::cmp::PartialEq for POLICY_PD_ACCOUNT_INFO {
13568 fn eq(&self, other: &Self) -> bool {
13569 self.Name == other.Name
13570 }
13571}
13572#[cfg(feature = "Win32_Foundation")]
13573impl ::core::cmp::Eq for POLICY_PD_ACCOUNT_INFO {}
13574#[cfg(feature = "Win32_Foundation")]
13575impl ::core::default::Default for POLICY_PD_ACCOUNT_INFO {
13576 fn default() -> Self {
13577 unsafe { ::core::mem::zeroed() }
13578 }
13579}
13580#[repr(C)]
13581#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
13582#[cfg(feature = "Win32_Foundation")]
13583pub struct POLICY_PRIMARY_DOMAIN_INFO {
13584 pub Name: super::super::super::Foundation::UNICODE_STRING,
13585 pub Sid: super::super::super::Foundation::PSID,
13586}
13587#[cfg(feature = "Win32_Foundation")]
13588impl ::core::marker::Copy for POLICY_PRIMARY_DOMAIN_INFO {}
13589#[cfg(feature = "Win32_Foundation")]
13590impl ::core::clone::Clone for POLICY_PRIMARY_DOMAIN_INFO {
13591 fn clone(&self) -> Self {
13592 *self
13593 }
13594}
13595#[cfg(feature = "Win32_Foundation")]
13596impl ::core::fmt::Debug for POLICY_PRIMARY_DOMAIN_INFO {
13597 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13598 f.debug_struct("POLICY_PRIMARY_DOMAIN_INFO").field("Name", &self.Name).field("Sid", &self.Sid).finish()
13599 }
13600}
13601#[cfg(feature = "Win32_Foundation")]
13602impl ::windows::core::TypeKind for POLICY_PRIMARY_DOMAIN_INFO {
13603 type TypeKind = ::windows::core::CopyType;
13604}
13605#[cfg(feature = "Win32_Foundation")]
13606impl ::core::cmp::PartialEq for POLICY_PRIMARY_DOMAIN_INFO {
13607 fn eq(&self, other: &Self) -> bool {
13608 self.Name == other.Name && self.Sid == other.Sid
13609 }
13610}
13611#[cfg(feature = "Win32_Foundation")]
13612impl ::core::cmp::Eq for POLICY_PRIMARY_DOMAIN_INFO {}
13613#[cfg(feature = "Win32_Foundation")]
13614impl ::core::default::Default for POLICY_PRIMARY_DOMAIN_INFO {
13615 fn default() -> Self {
13616 unsafe { ::core::mem::zeroed() }
13617 }
13618}
13619#[repr(C)]
13620#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
13621#[cfg(feature = "Win32_Foundation")]
13622pub struct POLICY_REPLICA_SOURCE_INFO {
13623 pub ReplicaSource: super::super::super::Foundation::UNICODE_STRING,
13624 pub ReplicaAccountName: super::super::super::Foundation::UNICODE_STRING,
13625}
13626#[cfg(feature = "Win32_Foundation")]
13627impl ::core::marker::Copy for POLICY_REPLICA_SOURCE_INFO {}
13628#[cfg(feature = "Win32_Foundation")]
13629impl ::core::clone::Clone for POLICY_REPLICA_SOURCE_INFO {
13630 fn clone(&self) -> Self {
13631 *self
13632 }
13633}
13634#[cfg(feature = "Win32_Foundation")]
13635impl ::core::fmt::Debug for POLICY_REPLICA_SOURCE_INFO {
13636 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13637 f.debug_struct("POLICY_REPLICA_SOURCE_INFO").field("ReplicaSource", &self.ReplicaSource).field("ReplicaAccountName", &self.ReplicaAccountName).finish()
13638 }
13639}
13640#[cfg(feature = "Win32_Foundation")]
13641impl ::windows::core::TypeKind for POLICY_REPLICA_SOURCE_INFO {
13642 type TypeKind = ::windows::core::CopyType;
13643}
13644#[cfg(feature = "Win32_Foundation")]
13645impl ::core::cmp::PartialEq for POLICY_REPLICA_SOURCE_INFO {
13646 fn eq(&self, other: &Self) -> bool {
13647 self.ReplicaSource == other.ReplicaSource && self.ReplicaAccountName == other.ReplicaAccountName
13648 }
13649}
13650#[cfg(feature = "Win32_Foundation")]
13651impl ::core::cmp::Eq for POLICY_REPLICA_SOURCE_INFO {}
13652#[cfg(feature = "Win32_Foundation")]
13653impl ::core::default::Default for POLICY_REPLICA_SOURCE_INFO {
13654 fn default() -> Self {
13655 unsafe { ::core::mem::zeroed() }
13656 }
13657}
13658#[repr(C)]
13659#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
13660pub struct PctPublicKey {
13661 pub Type: u32,
13662 pub cbKey: u32,
13663 pub pKey: [u8; 1],
13664}
13665impl ::core::marker::Copy for PctPublicKey {}
13666impl ::core::clone::Clone for PctPublicKey {
13667 fn clone(&self) -> Self {
13668 *self
13669 }
13670}
13671impl ::core::fmt::Debug for PctPublicKey {
13672 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13673 f.debug_struct("PctPublicKey").field("Type", &self.Type).field("cbKey", &self.cbKey).field("pKey", &self.pKey).finish()
13674 }
13675}
13676impl ::windows::core::TypeKind for PctPublicKey {
13677 type TypeKind = ::windows::core::CopyType;
13678}
13679impl ::core::cmp::PartialEq for PctPublicKey {
13680 fn eq(&self, other: &Self) -> bool {
13681 self.Type == other.Type && self.cbKey == other.cbKey && self.pKey == other.pKey
13682 }
13683}
13684impl ::core::cmp::Eq for PctPublicKey {}
13685impl ::core::default::Default for PctPublicKey {
13686 fn default() -> Self {
13687 unsafe { ::core::mem::zeroed() }
13688 }
13689}
13690#[repr(C)]
13691#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
13692#[cfg(feature = "Win32_Foundation")]
13693pub struct SAM_REGISTER_MAPPING_ELEMENT {
13694 pub Original: ::windows::core::PSTR,
13695 pub Mapped: ::windows::core::PSTR,
13696 pub Continuable: super::super::super::Foundation::BOOLEAN,
13697}
13698#[cfg(feature = "Win32_Foundation")]
13699impl ::core::marker::Copy for SAM_REGISTER_MAPPING_ELEMENT {}
13700#[cfg(feature = "Win32_Foundation")]
13701impl ::core::clone::Clone for SAM_REGISTER_MAPPING_ELEMENT {
13702 fn clone(&self) -> Self {
13703 *self
13704 }
13705}
13706#[cfg(feature = "Win32_Foundation")]
13707impl ::core::fmt::Debug for SAM_REGISTER_MAPPING_ELEMENT {
13708 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13709 f.debug_struct("SAM_REGISTER_MAPPING_ELEMENT").field("Original", &self.Original).field("Mapped", &self.Mapped).field("Continuable", &self.Continuable).finish()
13710 }
13711}
13712#[cfg(feature = "Win32_Foundation")]
13713impl ::windows::core::TypeKind for SAM_REGISTER_MAPPING_ELEMENT {
13714 type TypeKind = ::windows::core::CopyType;
13715}
13716#[cfg(feature = "Win32_Foundation")]
13717impl ::core::cmp::PartialEq for SAM_REGISTER_MAPPING_ELEMENT {
13718 fn eq(&self, other: &Self) -> bool {
13719 self.Original == other.Original && self.Mapped == other.Mapped && self.Continuable == other.Continuable
13720 }
13721}
13722#[cfg(feature = "Win32_Foundation")]
13723impl ::core::cmp::Eq for SAM_REGISTER_MAPPING_ELEMENT {}
13724#[cfg(feature = "Win32_Foundation")]
13725impl ::core::default::Default for SAM_REGISTER_MAPPING_ELEMENT {
13726 fn default() -> Self {
13727 unsafe { ::core::mem::zeroed() }
13728 }
13729}
13730#[repr(C)]
13731#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
13732#[cfg(feature = "Win32_Foundation")]
13733pub struct SAM_REGISTER_MAPPING_LIST {
13734 pub Count: u32,
13735 pub Elements: *mut SAM_REGISTER_MAPPING_ELEMENT,
13736}
13737#[cfg(feature = "Win32_Foundation")]
13738impl ::core::marker::Copy for SAM_REGISTER_MAPPING_LIST {}
13739#[cfg(feature = "Win32_Foundation")]
13740impl ::core::clone::Clone for SAM_REGISTER_MAPPING_LIST {
13741 fn clone(&self) -> Self {
13742 *self
13743 }
13744}
13745#[cfg(feature = "Win32_Foundation")]
13746impl ::core::fmt::Debug for SAM_REGISTER_MAPPING_LIST {
13747 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13748 f.debug_struct("SAM_REGISTER_MAPPING_LIST").field("Count", &self.Count).field("Elements", &self.Elements).finish()
13749 }
13750}
13751#[cfg(feature = "Win32_Foundation")]
13752impl ::windows::core::TypeKind for SAM_REGISTER_MAPPING_LIST {
13753 type TypeKind = ::windows::core::CopyType;
13754}
13755#[cfg(feature = "Win32_Foundation")]
13756impl ::core::cmp::PartialEq for SAM_REGISTER_MAPPING_LIST {
13757 fn eq(&self, other: &Self) -> bool {
13758 self.Count == other.Count && self.Elements == other.Elements
13759 }
13760}
13761#[cfg(feature = "Win32_Foundation")]
13762impl ::core::cmp::Eq for SAM_REGISTER_MAPPING_LIST {}
13763#[cfg(feature = "Win32_Foundation")]
13764impl ::core::default::Default for SAM_REGISTER_MAPPING_LIST {
13765 fn default() -> Self {
13766 unsafe { ::core::mem::zeroed() }
13767 }
13768}
13769#[repr(C)]
13770#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
13771#[cfg(feature = "Win32_Foundation")]
13772pub struct SAM_REGISTER_MAPPING_TABLE {
13773 pub Count: u32,
13774 pub Lists: *mut SAM_REGISTER_MAPPING_LIST,
13775}
13776#[cfg(feature = "Win32_Foundation")]
13777impl ::core::marker::Copy for SAM_REGISTER_MAPPING_TABLE {}
13778#[cfg(feature = "Win32_Foundation")]
13779impl ::core::clone::Clone for SAM_REGISTER_MAPPING_TABLE {
13780 fn clone(&self) -> Self {
13781 *self
13782 }
13783}
13784#[cfg(feature = "Win32_Foundation")]
13785impl ::core::fmt::Debug for SAM_REGISTER_MAPPING_TABLE {
13786 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13787 f.debug_struct("SAM_REGISTER_MAPPING_TABLE").field("Count", &self.Count).field("Lists", &self.Lists).finish()
13788 }
13789}
13790#[cfg(feature = "Win32_Foundation")]
13791impl ::windows::core::TypeKind for SAM_REGISTER_MAPPING_TABLE {
13792 type TypeKind = ::windows::core::CopyType;
13793}
13794#[cfg(feature = "Win32_Foundation")]
13795impl ::core::cmp::PartialEq for SAM_REGISTER_MAPPING_TABLE {
13796 fn eq(&self, other: &Self) -> bool {
13797 self.Count == other.Count && self.Lists == other.Lists
13798 }
13799}
13800#[cfg(feature = "Win32_Foundation")]
13801impl ::core::cmp::Eq for SAM_REGISTER_MAPPING_TABLE {}
13802#[cfg(feature = "Win32_Foundation")]
13803impl ::core::default::Default for SAM_REGISTER_MAPPING_TABLE {
13804 fn default() -> Self {
13805 unsafe { ::core::mem::zeroed() }
13806 }
13807}
13808#[repr(C)]
13809#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
13810pub struct SCHANNEL_ALERT_TOKEN {
13811 pub dwTokenType: u32,
13812 pub dwAlertType: SCHANNEL_ALERT_TOKEN_ALERT_TYPE,
13813 pub dwAlertNumber: u32,
13814}
13815impl ::core::marker::Copy for SCHANNEL_ALERT_TOKEN {}
13816impl ::core::clone::Clone for SCHANNEL_ALERT_TOKEN {
13817 fn clone(&self) -> Self {
13818 *self
13819 }
13820}
13821impl ::core::fmt::Debug for SCHANNEL_ALERT_TOKEN {
13822 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13823 f.debug_struct("SCHANNEL_ALERT_TOKEN").field("dwTokenType", &self.dwTokenType).field("dwAlertType", &self.dwAlertType).field("dwAlertNumber", &self.dwAlertNumber).finish()
13824 }
13825}
13826impl ::windows::core::TypeKind for SCHANNEL_ALERT_TOKEN {
13827 type TypeKind = ::windows::core::CopyType;
13828}
13829impl ::core::cmp::PartialEq for SCHANNEL_ALERT_TOKEN {
13830 fn eq(&self, other: &Self) -> bool {
13831 self.dwTokenType == other.dwTokenType && self.dwAlertType == other.dwAlertType && self.dwAlertNumber == other.dwAlertNumber
13832 }
13833}
13834impl ::core::cmp::Eq for SCHANNEL_ALERT_TOKEN {}
13835impl ::core::default::Default for SCHANNEL_ALERT_TOKEN {
13836 fn default() -> Self {
13837 unsafe { ::core::mem::zeroed() }
13838 }
13839}
13840#[repr(C)]
13841#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
13842pub struct SCHANNEL_CERT_HASH {
13843 pub dwLength: u32,
13844 pub dwFlags: u32,
13845 pub hProv: usize,
13846 pub ShaHash: [u8; 20],
13847}
13848impl ::core::marker::Copy for SCHANNEL_CERT_HASH {}
13849impl ::core::clone::Clone for SCHANNEL_CERT_HASH {
13850 fn clone(&self) -> Self {
13851 *self
13852 }
13853}
13854impl ::core::fmt::Debug for SCHANNEL_CERT_HASH {
13855 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13856 f.debug_struct("SCHANNEL_CERT_HASH").field("dwLength", &self.dwLength).field("dwFlags", &self.dwFlags).field("hProv", &self.hProv).field("ShaHash", &self.ShaHash).finish()
13857 }
13858}
13859impl ::windows::core::TypeKind for SCHANNEL_CERT_HASH {
13860 type TypeKind = ::windows::core::CopyType;
13861}
13862impl ::core::cmp::PartialEq for SCHANNEL_CERT_HASH {
13863 fn eq(&self, other: &Self) -> bool {
13864 self.dwLength == other.dwLength && self.dwFlags == other.dwFlags && self.hProv == other.hProv && self.ShaHash == other.ShaHash
13865 }
13866}
13867impl ::core::cmp::Eq for SCHANNEL_CERT_HASH {}
13868impl ::core::default::Default for SCHANNEL_CERT_HASH {
13869 fn default() -> Self {
13870 unsafe { ::core::mem::zeroed() }
13871 }
13872}
13873#[repr(C)]
13874#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
13875pub struct SCHANNEL_CERT_HASH_STORE {
13876 pub dwLength: u32,
13877 pub dwFlags: u32,
13878 pub hProv: usize,
13879 pub ShaHash: [u8; 20],
13880 pub pwszStoreName: [u16; 128],
13881}
13882impl ::core::marker::Copy for SCHANNEL_CERT_HASH_STORE {}
13883impl ::core::clone::Clone for SCHANNEL_CERT_HASH_STORE {
13884 fn clone(&self) -> Self {
13885 *self
13886 }
13887}
13888impl ::core::fmt::Debug for SCHANNEL_CERT_HASH_STORE {
13889 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13890 f.debug_struct("SCHANNEL_CERT_HASH_STORE").field("dwLength", &self.dwLength).field("dwFlags", &self.dwFlags).field("hProv", &self.hProv).field("ShaHash", &self.ShaHash).field("pwszStoreName", &self.pwszStoreName).finish()
13891 }
13892}
13893impl ::windows::core::TypeKind for SCHANNEL_CERT_HASH_STORE {
13894 type TypeKind = ::windows::core::CopyType;
13895}
13896impl ::core::cmp::PartialEq for SCHANNEL_CERT_HASH_STORE {
13897 fn eq(&self, other: &Self) -> bool {
13898 self.dwLength == other.dwLength && self.dwFlags == other.dwFlags && self.hProv == other.hProv && self.ShaHash == other.ShaHash && self.pwszStoreName == other.pwszStoreName
13899 }
13900}
13901impl ::core::cmp::Eq for SCHANNEL_CERT_HASH_STORE {}
13902impl ::core::default::Default for SCHANNEL_CERT_HASH_STORE {
13903 fn default() -> Self {
13904 unsafe { ::core::mem::zeroed() }
13905 }
13906}
13907#[repr(C)]
13908#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
13909pub struct SCHANNEL_CLIENT_SIGNATURE {
13910 pub cbLength: u32,
13911 pub aiHash: u32,
13912 pub cbHash: u32,
13913 pub HashValue: [u8; 36],
13914 pub CertThumbprint: [u8; 20],
13915}
13916impl ::core::marker::Copy for SCHANNEL_CLIENT_SIGNATURE {}
13917impl ::core::clone::Clone for SCHANNEL_CLIENT_SIGNATURE {
13918 fn clone(&self) -> Self {
13919 *self
13920 }
13921}
13922impl ::core::fmt::Debug for SCHANNEL_CLIENT_SIGNATURE {
13923 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13924 f.debug_struct("SCHANNEL_CLIENT_SIGNATURE").field("cbLength", &self.cbLength).field("aiHash", &self.aiHash).field("cbHash", &self.cbHash).field("HashValue", &self.HashValue).field("CertThumbprint", &self.CertThumbprint).finish()
13925 }
13926}
13927impl ::windows::core::TypeKind for SCHANNEL_CLIENT_SIGNATURE {
13928 type TypeKind = ::windows::core::CopyType;
13929}
13930impl ::core::cmp::PartialEq for SCHANNEL_CLIENT_SIGNATURE {
13931 fn eq(&self, other: &Self) -> bool {
13932 self.cbLength == other.cbLength && self.aiHash == other.aiHash && self.cbHash == other.cbHash && self.HashValue == other.HashValue && self.CertThumbprint == other.CertThumbprint
13933 }
13934}
13935impl ::core::cmp::Eq for SCHANNEL_CLIENT_SIGNATURE {}
13936impl ::core::default::Default for SCHANNEL_CLIENT_SIGNATURE {
13937 fn default() -> Self {
13938 unsafe { ::core::mem::zeroed() }
13939 }
13940}
13941#[repr(C)]
13942#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_Security_Cryptography\"`*"]
13943#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Cryptography"))]
13944pub struct SCHANNEL_CRED {
13945 pub dwVersion: u32,
13946 pub cCreds: u32,
13947 pub paCred: *mut *mut super::super::Cryptography::CERT_CONTEXT,
13948 pub hRootStore: super::super::Cryptography::HCERTSTORE,
13949 pub cMappers: u32,
13950 pub aphMappers: *mut *mut _HMAPPER,
13951 pub cSupportedAlgs: u32,
13952 pub palgSupportedAlgs: *mut u32,
13953 pub grbitEnabledProtocols: u32,
13954 pub dwMinimumCipherStrength: u32,
13955 pub dwMaximumCipherStrength: u32,
13956 pub dwSessionLifespan: u32,
13957 pub dwFlags: SCHANNEL_CRED_FLAGS,
13958 pub dwCredFormat: u32,
13959}
13960#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Cryptography"))]
13961impl ::core::marker::Copy for SCHANNEL_CRED {}
13962#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Cryptography"))]
13963impl ::core::clone::Clone for SCHANNEL_CRED {
13964 fn clone(&self) -> Self {
13965 *self
13966 }
13967}
13968#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Cryptography"))]
13969impl ::core::fmt::Debug for SCHANNEL_CRED {
13970 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13971 f.debug_struct("SCHANNEL_CRED")
13972 .field("dwVersion", &self.dwVersion)
13973 .field("cCreds", &self.cCreds)
13974 .field("paCred", &self.paCred)
13975 .field("hRootStore", &self.hRootStore)
13976 .field("cMappers", &self.cMappers)
13977 .field("aphMappers", &self.aphMappers)
13978 .field("cSupportedAlgs", &self.cSupportedAlgs)
13979 .field("palgSupportedAlgs", &self.palgSupportedAlgs)
13980 .field("grbitEnabledProtocols", &self.grbitEnabledProtocols)
13981 .field("dwMinimumCipherStrength", &self.dwMinimumCipherStrength)
13982 .field("dwMaximumCipherStrength", &self.dwMaximumCipherStrength)
13983 .field("dwSessionLifespan", &self.dwSessionLifespan)
13984 .field("dwFlags", &self.dwFlags)
13985 .field("dwCredFormat", &self.dwCredFormat)
13986 .finish()
13987 }
13988}
13989#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Cryptography"))]
13990impl ::windows::core::TypeKind for SCHANNEL_CRED {
13991 type TypeKind = ::windows::core::CopyType;
13992}
13993#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Cryptography"))]
13994impl ::core::cmp::PartialEq for SCHANNEL_CRED {
13995 fn eq(&self, other: &Self) -> bool {
13996 self.dwVersion == other.dwVersion && self.cCreds == other.cCreds && self.paCred == other.paCred && self.hRootStore == other.hRootStore && self.cMappers == other.cMappers && self.aphMappers == other.aphMappers && self.cSupportedAlgs == other.cSupportedAlgs && self.palgSupportedAlgs == other.palgSupportedAlgs && self.grbitEnabledProtocols == other.grbitEnabledProtocols && self.dwMinimumCipherStrength == other.dwMinimumCipherStrength && self.dwMaximumCipherStrength == other.dwMaximumCipherStrength && self.dwSessionLifespan == other.dwSessionLifespan && self.dwFlags == other.dwFlags && self.dwCredFormat == other.dwCredFormat
13997 }
13998}
13999#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Cryptography"))]
14000impl ::core::cmp::Eq for SCHANNEL_CRED {}
14001#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Cryptography"))]
14002impl ::core::default::Default for SCHANNEL_CRED {
14003 fn default() -> Self {
14004 unsafe { ::core::mem::zeroed() }
14005 }
14006}
14007#[repr(C)]
14008#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
14009pub struct SCHANNEL_SESSION_TOKEN {
14010 pub dwTokenType: u32,
14011 pub dwFlags: SCHANNEL_SESSION_TOKEN_FLAGS,
14012}
14013impl ::core::marker::Copy for SCHANNEL_SESSION_TOKEN {}
14014impl ::core::clone::Clone for SCHANNEL_SESSION_TOKEN {
14015 fn clone(&self) -> Self {
14016 *self
14017 }
14018}
14019impl ::core::fmt::Debug for SCHANNEL_SESSION_TOKEN {
14020 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14021 f.debug_struct("SCHANNEL_SESSION_TOKEN").field("dwTokenType", &self.dwTokenType).field("dwFlags", &self.dwFlags).finish()
14022 }
14023}
14024impl ::windows::core::TypeKind for SCHANNEL_SESSION_TOKEN {
14025 type TypeKind = ::windows::core::CopyType;
14026}
14027impl ::core::cmp::PartialEq for SCHANNEL_SESSION_TOKEN {
14028 fn eq(&self, other: &Self) -> bool {
14029 self.dwTokenType == other.dwTokenType && self.dwFlags == other.dwFlags
14030 }
14031}
14032impl ::core::cmp::Eq for SCHANNEL_SESSION_TOKEN {}
14033impl ::core::default::Default for SCHANNEL_SESSION_TOKEN {
14034 fn default() -> Self {
14035 unsafe { ::core::mem::zeroed() }
14036 }
14037}
14038#[repr(C)]
14039#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
14040pub struct SCH_CRED {
14041 pub dwVersion: u32,
14042 pub cCreds: u32,
14043 pub paSecret: *mut *mut ::core::ffi::c_void,
14044 pub paPublic: *mut *mut ::core::ffi::c_void,
14045 pub cMappers: u32,
14046 pub aphMappers: *mut *mut _HMAPPER,
14047}
14048impl ::core::marker::Copy for SCH_CRED {}
14049impl ::core::clone::Clone for SCH_CRED {
14050 fn clone(&self) -> Self {
14051 *self
14052 }
14053}
14054impl ::core::fmt::Debug for SCH_CRED {
14055 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14056 f.debug_struct("SCH_CRED").field("dwVersion", &self.dwVersion).field("cCreds", &self.cCreds).field("paSecret", &self.paSecret).field("paPublic", &self.paPublic).field("cMappers", &self.cMappers).field("aphMappers", &self.aphMappers).finish()
14057 }
14058}
14059impl ::windows::core::TypeKind for SCH_CRED {
14060 type TypeKind = ::windows::core::CopyType;
14061}
14062impl ::core::cmp::PartialEq for SCH_CRED {
14063 fn eq(&self, other: &Self) -> bool {
14064 self.dwVersion == other.dwVersion && self.cCreds == other.cCreds && self.paSecret == other.paSecret && self.paPublic == other.paPublic && self.cMappers == other.cMappers && self.aphMappers == other.aphMappers
14065 }
14066}
14067impl ::core::cmp::Eq for SCH_CRED {}
14068impl ::core::default::Default for SCH_CRED {
14069 fn default() -> Self {
14070 unsafe { ::core::mem::zeroed() }
14071 }
14072}
14073#[repr(C)]
14074#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
14075pub struct SCH_CRED_PUBLIC_CERTCHAIN {
14076 pub dwType: u32,
14077 pub cbCertChain: u32,
14078 pub pCertChain: *mut u8,
14079}
14080impl ::core::marker::Copy for SCH_CRED_PUBLIC_CERTCHAIN {}
14081impl ::core::clone::Clone for SCH_CRED_PUBLIC_CERTCHAIN {
14082 fn clone(&self) -> Self {
14083 *self
14084 }
14085}
14086impl ::core::fmt::Debug for SCH_CRED_PUBLIC_CERTCHAIN {
14087 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14088 f.debug_struct("SCH_CRED_PUBLIC_CERTCHAIN").field("dwType", &self.dwType).field("cbCertChain", &self.cbCertChain).field("pCertChain", &self.pCertChain).finish()
14089 }
14090}
14091impl ::windows::core::TypeKind for SCH_CRED_PUBLIC_CERTCHAIN {
14092 type TypeKind = ::windows::core::CopyType;
14093}
14094impl ::core::cmp::PartialEq for SCH_CRED_PUBLIC_CERTCHAIN {
14095 fn eq(&self, other: &Self) -> bool {
14096 self.dwType == other.dwType && self.cbCertChain == other.cbCertChain && self.pCertChain == other.pCertChain
14097 }
14098}
14099impl ::core::cmp::Eq for SCH_CRED_PUBLIC_CERTCHAIN {}
14100impl ::core::default::Default for SCH_CRED_PUBLIC_CERTCHAIN {
14101 fn default() -> Self {
14102 unsafe { ::core::mem::zeroed() }
14103 }
14104}
14105#[repr(C)]
14106#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
14107pub struct SCH_CRED_SECRET_CAPI {
14108 pub dwType: u32,
14109 pub hProv: usize,
14110}
14111impl ::core::marker::Copy for SCH_CRED_SECRET_CAPI {}
14112impl ::core::clone::Clone for SCH_CRED_SECRET_CAPI {
14113 fn clone(&self) -> Self {
14114 *self
14115 }
14116}
14117impl ::core::fmt::Debug for SCH_CRED_SECRET_CAPI {
14118 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14119 f.debug_struct("SCH_CRED_SECRET_CAPI").field("dwType", &self.dwType).field("hProv", &self.hProv).finish()
14120 }
14121}
14122impl ::windows::core::TypeKind for SCH_CRED_SECRET_CAPI {
14123 type TypeKind = ::windows::core::CopyType;
14124}
14125impl ::core::cmp::PartialEq for SCH_CRED_SECRET_CAPI {
14126 fn eq(&self, other: &Self) -> bool {
14127 self.dwType == other.dwType && self.hProv == other.hProv
14128 }
14129}
14130impl ::core::cmp::Eq for SCH_CRED_SECRET_CAPI {}
14131impl ::core::default::Default for SCH_CRED_SECRET_CAPI {
14132 fn default() -> Self {
14133 unsafe { ::core::mem::zeroed() }
14134 }
14135}
14136#[repr(C)]
14137#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
14138pub struct SCH_CRED_SECRET_PRIVKEY {
14139 pub dwType: u32,
14140 pub pPrivateKey: *mut u8,
14141 pub cbPrivateKey: u32,
14142 pub pszPassword: ::windows::core::PSTR,
14143}
14144impl ::core::marker::Copy for SCH_CRED_SECRET_PRIVKEY {}
14145impl ::core::clone::Clone for SCH_CRED_SECRET_PRIVKEY {
14146 fn clone(&self) -> Self {
14147 *self
14148 }
14149}
14150impl ::core::fmt::Debug for SCH_CRED_SECRET_PRIVKEY {
14151 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14152 f.debug_struct("SCH_CRED_SECRET_PRIVKEY").field("dwType", &self.dwType).field("pPrivateKey", &self.pPrivateKey).field("cbPrivateKey", &self.cbPrivateKey).field("pszPassword", &self.pszPassword).finish()
14153 }
14154}
14155impl ::windows::core::TypeKind for SCH_CRED_SECRET_PRIVKEY {
14156 type TypeKind = ::windows::core::CopyType;
14157}
14158impl ::core::cmp::PartialEq for SCH_CRED_SECRET_PRIVKEY {
14159 fn eq(&self, other: &Self) -> bool {
14160 self.dwType == other.dwType && self.pPrivateKey == other.pPrivateKey && self.cbPrivateKey == other.cbPrivateKey && self.pszPassword == other.pszPassword
14161 }
14162}
14163impl ::core::cmp::Eq for SCH_CRED_SECRET_PRIVKEY {}
14164impl ::core::default::Default for SCH_CRED_SECRET_PRIVKEY {
14165 fn default() -> Self {
14166 unsafe { ::core::mem::zeroed() }
14167 }
14168}
14169#[repr(C)]
14170#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
14171pub struct SCH_EXTENSION_DATA {
14172 pub ExtensionType: u16,
14173 pub pExtData: *const u8,
14174 pub cbExtData: u32,
14175}
14176impl ::core::marker::Copy for SCH_EXTENSION_DATA {}
14177impl ::core::clone::Clone for SCH_EXTENSION_DATA {
14178 fn clone(&self) -> Self {
14179 *self
14180 }
14181}
14182impl ::core::fmt::Debug for SCH_EXTENSION_DATA {
14183 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14184 f.debug_struct("SCH_EXTENSION_DATA").field("ExtensionType", &self.ExtensionType).field("pExtData", &self.pExtData).field("cbExtData", &self.cbExtData).finish()
14185 }
14186}
14187impl ::windows::core::TypeKind for SCH_EXTENSION_DATA {
14188 type TypeKind = ::windows::core::CopyType;
14189}
14190impl ::core::cmp::PartialEq for SCH_EXTENSION_DATA {
14191 fn eq(&self, other: &Self) -> bool {
14192 self.ExtensionType == other.ExtensionType && self.pExtData == other.pExtData && self.cbExtData == other.cbExtData
14193 }
14194}
14195impl ::core::cmp::Eq for SCH_EXTENSION_DATA {}
14196impl ::core::default::Default for SCH_EXTENSION_DATA {
14197 fn default() -> Self {
14198 unsafe { ::core::mem::zeroed() }
14199 }
14200}
14201#[repr(C)]
14202#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
14203#[cfg(feature = "Win32_Foundation")]
14204pub struct SECPKG_APP_MODE_INFO {
14205 pub UserFunction: u32,
14206 pub Argument1: usize,
14207 pub Argument2: usize,
14208 pub UserData: SecBuffer,
14209 pub ReturnToLsa: super::super::super::Foundation::BOOLEAN,
14210}
14211#[cfg(feature = "Win32_Foundation")]
14212impl ::core::marker::Copy for SECPKG_APP_MODE_INFO {}
14213#[cfg(feature = "Win32_Foundation")]
14214impl ::core::clone::Clone for SECPKG_APP_MODE_INFO {
14215 fn clone(&self) -> Self {
14216 *self
14217 }
14218}
14219#[cfg(feature = "Win32_Foundation")]
14220impl ::core::fmt::Debug for SECPKG_APP_MODE_INFO {
14221 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14222 f.debug_struct("SECPKG_APP_MODE_INFO").field("UserFunction", &self.UserFunction).field("Argument1", &self.Argument1).field("Argument2", &self.Argument2).field("UserData", &self.UserData).field("ReturnToLsa", &self.ReturnToLsa).finish()
14223 }
14224}
14225#[cfg(feature = "Win32_Foundation")]
14226impl ::windows::core::TypeKind for SECPKG_APP_MODE_INFO {
14227 type TypeKind = ::windows::core::CopyType;
14228}
14229#[cfg(feature = "Win32_Foundation")]
14230impl ::core::cmp::PartialEq for SECPKG_APP_MODE_INFO {
14231 fn eq(&self, other: &Self) -> bool {
14232 self.UserFunction == other.UserFunction && self.Argument1 == other.Argument1 && self.Argument2 == other.Argument2 && self.UserData == other.UserData && self.ReturnToLsa == other.ReturnToLsa
14233 }
14234}
14235#[cfg(feature = "Win32_Foundation")]
14236impl ::core::cmp::Eq for SECPKG_APP_MODE_INFO {}
14237#[cfg(feature = "Win32_Foundation")]
14238impl ::core::default::Default for SECPKG_APP_MODE_INFO {
14239 fn default() -> Self {
14240 unsafe { ::core::mem::zeroed() }
14241 }
14242}
14243#[repr(C)]
14244#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
14245pub struct SECPKG_BYTE_VECTOR {
14246 pub ByteArrayOffset: u32,
14247 pub ByteArrayLength: u16,
14248}
14249impl ::core::marker::Copy for SECPKG_BYTE_VECTOR {}
14250impl ::core::clone::Clone for SECPKG_BYTE_VECTOR {
14251 fn clone(&self) -> Self {
14252 *self
14253 }
14254}
14255impl ::core::fmt::Debug for SECPKG_BYTE_VECTOR {
14256 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14257 f.debug_struct("SECPKG_BYTE_VECTOR").field("ByteArrayOffset", &self.ByteArrayOffset).field("ByteArrayLength", &self.ByteArrayLength).finish()
14258 }
14259}
14260impl ::windows::core::TypeKind for SECPKG_BYTE_VECTOR {
14261 type TypeKind = ::windows::core::CopyType;
14262}
14263impl ::core::cmp::PartialEq for SECPKG_BYTE_VECTOR {
14264 fn eq(&self, other: &Self) -> bool {
14265 self.ByteArrayOffset == other.ByteArrayOffset && self.ByteArrayLength == other.ByteArrayLength
14266 }
14267}
14268impl ::core::cmp::Eq for SECPKG_BYTE_VECTOR {}
14269impl ::core::default::Default for SECPKG_BYTE_VECTOR {
14270 fn default() -> Self {
14271 unsafe { ::core::mem::zeroed() }
14272 }
14273}
14274#[repr(C)]
14275#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
14276pub struct SECPKG_CALL_INFO {
14277 pub ProcessId: u32,
14278 pub ThreadId: u32,
14279 pub Attributes: u32,
14280 pub CallCount: u32,
14281 pub MechOid: *mut ::core::ffi::c_void,
14282}
14283impl ::core::marker::Copy for SECPKG_CALL_INFO {}
14284impl ::core::clone::Clone for SECPKG_CALL_INFO {
14285 fn clone(&self) -> Self {
14286 *self
14287 }
14288}
14289impl ::core::fmt::Debug for SECPKG_CALL_INFO {
14290 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14291 f.debug_struct("SECPKG_CALL_INFO").field("ProcessId", &self.ProcessId).field("ThreadId", &self.ThreadId).field("Attributes", &self.Attributes).field("CallCount", &self.CallCount).field("MechOid", &self.MechOid).finish()
14292 }
14293}
14294impl ::windows::core::TypeKind for SECPKG_CALL_INFO {
14295 type TypeKind = ::windows::core::CopyType;
14296}
14297impl ::core::cmp::PartialEq for SECPKG_CALL_INFO {
14298 fn eq(&self, other: &Self) -> bool {
14299 self.ProcessId == other.ProcessId && self.ThreadId == other.ThreadId && self.Attributes == other.Attributes && self.CallCount == other.CallCount && self.MechOid == other.MechOid
14300 }
14301}
14302impl ::core::cmp::Eq for SECPKG_CALL_INFO {}
14303impl ::core::default::Default for SECPKG_CALL_INFO {
14304 fn default() -> Self {
14305 unsafe { ::core::mem::zeroed() }
14306 }
14307}
14308#[repr(C)]
14309#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
14310#[cfg(feature = "Win32_Foundation")]
14311pub struct SECPKG_CALL_PACKAGE_PIN_DC_REQUEST {
14312 pub MessageType: u32,
14313 pub Flags: u32,
14314 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
14315 pub DcName: super::super::super::Foundation::UNICODE_STRING,
14316 pub DcFlags: u32,
14317}
14318#[cfg(feature = "Win32_Foundation")]
14319impl ::core::marker::Copy for SECPKG_CALL_PACKAGE_PIN_DC_REQUEST {}
14320#[cfg(feature = "Win32_Foundation")]
14321impl ::core::clone::Clone for SECPKG_CALL_PACKAGE_PIN_DC_REQUEST {
14322 fn clone(&self) -> Self {
14323 *self
14324 }
14325}
14326#[cfg(feature = "Win32_Foundation")]
14327impl ::core::fmt::Debug for SECPKG_CALL_PACKAGE_PIN_DC_REQUEST {
14328 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14329 f.debug_struct("SECPKG_CALL_PACKAGE_PIN_DC_REQUEST").field("MessageType", &self.MessageType).field("Flags", &self.Flags).field("DomainName", &self.DomainName).field("DcName", &self.DcName).field("DcFlags", &self.DcFlags).finish()
14330 }
14331}
14332#[cfg(feature = "Win32_Foundation")]
14333impl ::windows::core::TypeKind for SECPKG_CALL_PACKAGE_PIN_DC_REQUEST {
14334 type TypeKind = ::windows::core::CopyType;
14335}
14336#[cfg(feature = "Win32_Foundation")]
14337impl ::core::cmp::PartialEq for SECPKG_CALL_PACKAGE_PIN_DC_REQUEST {
14338 fn eq(&self, other: &Self) -> bool {
14339 self.MessageType == other.MessageType && self.Flags == other.Flags && self.DomainName == other.DomainName && self.DcName == other.DcName && self.DcFlags == other.DcFlags
14340 }
14341}
14342#[cfg(feature = "Win32_Foundation")]
14343impl ::core::cmp::Eq for SECPKG_CALL_PACKAGE_PIN_DC_REQUEST {}
14344#[cfg(feature = "Win32_Foundation")]
14345impl ::core::default::Default for SECPKG_CALL_PACKAGE_PIN_DC_REQUEST {
14346 fn default() -> Self {
14347 unsafe { ::core::mem::zeroed() }
14348 }
14349}
14350#[repr(C)]
14351#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
14352#[cfg(feature = "Win32_Foundation")]
14353pub struct SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST {
14354 pub MessageType: u32,
14355 pub OriginLogonId: super::super::super::Foundation::LUID,
14356 pub DestinationLogonId: super::super::super::Foundation::LUID,
14357 pub Flags: u32,
14358}
14359#[cfg(feature = "Win32_Foundation")]
14360impl ::core::marker::Copy for SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST {}
14361#[cfg(feature = "Win32_Foundation")]
14362impl ::core::clone::Clone for SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST {
14363 fn clone(&self) -> Self {
14364 *self
14365 }
14366}
14367#[cfg(feature = "Win32_Foundation")]
14368impl ::core::fmt::Debug for SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST {
14369 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14370 f.debug_struct("SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST").field("MessageType", &self.MessageType).field("OriginLogonId", &self.OriginLogonId).field("DestinationLogonId", &self.DestinationLogonId).field("Flags", &self.Flags).finish()
14371 }
14372}
14373#[cfg(feature = "Win32_Foundation")]
14374impl ::windows::core::TypeKind for SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST {
14375 type TypeKind = ::windows::core::CopyType;
14376}
14377#[cfg(feature = "Win32_Foundation")]
14378impl ::core::cmp::PartialEq for SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST {
14379 fn eq(&self, other: &Self) -> bool {
14380 self.MessageType == other.MessageType && self.OriginLogonId == other.OriginLogonId && self.DestinationLogonId == other.DestinationLogonId && self.Flags == other.Flags
14381 }
14382}
14383#[cfg(feature = "Win32_Foundation")]
14384impl ::core::cmp::Eq for SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST {}
14385#[cfg(feature = "Win32_Foundation")]
14386impl ::core::default::Default for SECPKG_CALL_PACKAGE_TRANSFER_CRED_REQUEST {
14387 fn default() -> Self {
14388 unsafe { ::core::mem::zeroed() }
14389 }
14390}
14391#[repr(C)]
14392#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
14393pub struct SECPKG_CALL_PACKAGE_UNPIN_ALL_DCS_REQUEST {
14394 pub MessageType: u32,
14395 pub Flags: u32,
14396}
14397impl ::core::marker::Copy for SECPKG_CALL_PACKAGE_UNPIN_ALL_DCS_REQUEST {}
14398impl ::core::clone::Clone for SECPKG_CALL_PACKAGE_UNPIN_ALL_DCS_REQUEST {
14399 fn clone(&self) -> Self {
14400 *self
14401 }
14402}
14403impl ::core::fmt::Debug for SECPKG_CALL_PACKAGE_UNPIN_ALL_DCS_REQUEST {
14404 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14405 f.debug_struct("SECPKG_CALL_PACKAGE_UNPIN_ALL_DCS_REQUEST").field("MessageType", &self.MessageType).field("Flags", &self.Flags).finish()
14406 }
14407}
14408impl ::windows::core::TypeKind for SECPKG_CALL_PACKAGE_UNPIN_ALL_DCS_REQUEST {
14409 type TypeKind = ::windows::core::CopyType;
14410}
14411impl ::core::cmp::PartialEq for SECPKG_CALL_PACKAGE_UNPIN_ALL_DCS_REQUEST {
14412 fn eq(&self, other: &Self) -> bool {
14413 self.MessageType == other.MessageType && self.Flags == other.Flags
14414 }
14415}
14416impl ::core::cmp::Eq for SECPKG_CALL_PACKAGE_UNPIN_ALL_DCS_REQUEST {}
14417impl ::core::default::Default for SECPKG_CALL_PACKAGE_UNPIN_ALL_DCS_REQUEST {
14418 fn default() -> Self {
14419 unsafe { ::core::mem::zeroed() }
14420 }
14421}
14422#[repr(C)]
14423#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
14424#[cfg(feature = "Win32_Foundation")]
14425pub struct SECPKG_CLIENT_INFO {
14426 pub LogonId: super::super::super::Foundation::LUID,
14427 pub ProcessID: u32,
14428 pub ThreadID: u32,
14429 pub HasTcbPrivilege: super::super::super::Foundation::BOOLEAN,
14430 pub Impersonating: super::super::super::Foundation::BOOLEAN,
14431 pub Restricted: super::super::super::Foundation::BOOLEAN,
14432 pub ClientFlags: u8,
14433 pub ImpersonationLevel: super::super::SECURITY_IMPERSONATION_LEVEL,
14434 pub ClientToken: super::super::super::Foundation::HANDLE,
14435}
14436#[cfg(feature = "Win32_Foundation")]
14437impl ::core::marker::Copy for SECPKG_CLIENT_INFO {}
14438#[cfg(feature = "Win32_Foundation")]
14439impl ::core::clone::Clone for SECPKG_CLIENT_INFO {
14440 fn clone(&self) -> Self {
14441 *self
14442 }
14443}
14444#[cfg(feature = "Win32_Foundation")]
14445impl ::core::fmt::Debug for SECPKG_CLIENT_INFO {
14446 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14447 f.debug_struct("SECPKG_CLIENT_INFO").field("LogonId", &self.LogonId).field("ProcessID", &self.ProcessID).field("ThreadID", &self.ThreadID).field("HasTcbPrivilege", &self.HasTcbPrivilege).field("Impersonating", &self.Impersonating).field("Restricted", &self.Restricted).field("ClientFlags", &self.ClientFlags).field("ImpersonationLevel", &self.ImpersonationLevel).field("ClientToken", &self.ClientToken).finish()
14448 }
14449}
14450#[cfg(feature = "Win32_Foundation")]
14451impl ::windows::core::TypeKind for SECPKG_CLIENT_INFO {
14452 type TypeKind = ::windows::core::CopyType;
14453}
14454#[cfg(feature = "Win32_Foundation")]
14455impl ::core::cmp::PartialEq for SECPKG_CLIENT_INFO {
14456 fn eq(&self, other: &Self) -> bool {
14457 self.LogonId == other.LogonId && self.ProcessID == other.ProcessID && self.ThreadID == other.ThreadID && self.HasTcbPrivilege == other.HasTcbPrivilege && self.Impersonating == other.Impersonating && self.Restricted == other.Restricted && self.ClientFlags == other.ClientFlags && self.ImpersonationLevel == other.ImpersonationLevel && self.ClientToken == other.ClientToken
14458 }
14459}
14460#[cfg(feature = "Win32_Foundation")]
14461impl ::core::cmp::Eq for SECPKG_CLIENT_INFO {}
14462#[cfg(feature = "Win32_Foundation")]
14463impl ::core::default::Default for SECPKG_CLIENT_INFO {
14464 fn default() -> Self {
14465 unsafe { ::core::mem::zeroed() }
14466 }
14467}
14468#[repr(C)]
14469#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
14470pub struct SECPKG_CONTEXT_THUNKS {
14471 pub InfoLevelCount: u32,
14472 pub Levels: [u32; 1],
14473}
14474impl ::core::marker::Copy for SECPKG_CONTEXT_THUNKS {}
14475impl ::core::clone::Clone for SECPKG_CONTEXT_THUNKS {
14476 fn clone(&self) -> Self {
14477 *self
14478 }
14479}
14480impl ::core::fmt::Debug for SECPKG_CONTEXT_THUNKS {
14481 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14482 f.debug_struct("SECPKG_CONTEXT_THUNKS").field("InfoLevelCount", &self.InfoLevelCount).field("Levels", &self.Levels).finish()
14483 }
14484}
14485impl ::windows::core::TypeKind for SECPKG_CONTEXT_THUNKS {
14486 type TypeKind = ::windows::core::CopyType;
14487}
14488impl ::core::cmp::PartialEq for SECPKG_CONTEXT_THUNKS {
14489 fn eq(&self, other: &Self) -> bool {
14490 self.InfoLevelCount == other.InfoLevelCount && self.Levels == other.Levels
14491 }
14492}
14493impl ::core::cmp::Eq for SECPKG_CONTEXT_THUNKS {}
14494impl ::core::default::Default for SECPKG_CONTEXT_THUNKS {
14495 fn default() -> Self {
14496 unsafe { ::core::mem::zeroed() }
14497 }
14498}
14499#[repr(C)]
14500#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
14501#[cfg(feature = "Win32_Foundation")]
14502pub struct SECPKG_CREDENTIAL {
14503 pub Version: u64,
14504 pub cbHeaderLength: u16,
14505 pub cbStructureLength: u32,
14506 pub ClientProcess: u32,
14507 pub ClientThread: u32,
14508 pub LogonId: super::super::super::Foundation::LUID,
14509 pub ClientToken: super::super::super::Foundation::HANDLE,
14510 pub SessionId: u32,
14511 pub ModifiedId: super::super::super::Foundation::LUID,
14512 pub fCredentials: u32,
14513 pub Flags: u32,
14514 pub PrincipalName: SECPKG_BYTE_VECTOR,
14515 pub PackageList: SECPKG_BYTE_VECTOR,
14516 pub MarshaledSuppliedCreds: SECPKG_BYTE_VECTOR,
14517}
14518#[cfg(feature = "Win32_Foundation")]
14519impl ::core::marker::Copy for SECPKG_CREDENTIAL {}
14520#[cfg(feature = "Win32_Foundation")]
14521impl ::core::clone::Clone for SECPKG_CREDENTIAL {
14522 fn clone(&self) -> Self {
14523 *self
14524 }
14525}
14526#[cfg(feature = "Win32_Foundation")]
14527impl ::core::fmt::Debug for SECPKG_CREDENTIAL {
14528 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14529 f.debug_struct("SECPKG_CREDENTIAL")
14530 .field("Version", &self.Version)
14531 .field("cbHeaderLength", &self.cbHeaderLength)
14532 .field("cbStructureLength", &self.cbStructureLength)
14533 .field("ClientProcess", &self.ClientProcess)
14534 .field("ClientThread", &self.ClientThread)
14535 .field("LogonId", &self.LogonId)
14536 .field("ClientToken", &self.ClientToken)
14537 .field("SessionId", &self.SessionId)
14538 .field("ModifiedId", &self.ModifiedId)
14539 .field("fCredentials", &self.fCredentials)
14540 .field("Flags", &self.Flags)
14541 .field("PrincipalName", &self.PrincipalName)
14542 .field("PackageList", &self.PackageList)
14543 .field("MarshaledSuppliedCreds", &self.MarshaledSuppliedCreds)
14544 .finish()
14545 }
14546}
14547#[cfg(feature = "Win32_Foundation")]
14548impl ::windows::core::TypeKind for SECPKG_CREDENTIAL {
14549 type TypeKind = ::windows::core::CopyType;
14550}
14551#[cfg(feature = "Win32_Foundation")]
14552impl ::core::cmp::PartialEq for SECPKG_CREDENTIAL {
14553 fn eq(&self, other: &Self) -> bool {
14554 self.Version == other.Version && self.cbHeaderLength == other.cbHeaderLength && self.cbStructureLength == other.cbStructureLength && self.ClientProcess == other.ClientProcess && self.ClientThread == other.ClientThread && self.LogonId == other.LogonId && self.ClientToken == other.ClientToken && self.SessionId == other.SessionId && self.ModifiedId == other.ModifiedId && self.fCredentials == other.fCredentials && self.Flags == other.Flags && self.PrincipalName == other.PrincipalName && self.PackageList == other.PackageList && self.MarshaledSuppliedCreds == other.MarshaledSuppliedCreds
14555 }
14556}
14557#[cfg(feature = "Win32_Foundation")]
14558impl ::core::cmp::Eq for SECPKG_CREDENTIAL {}
14559#[cfg(feature = "Win32_Foundation")]
14560impl ::core::default::Default for SECPKG_CREDENTIAL {
14561 fn default() -> Self {
14562 unsafe { ::core::mem::zeroed() }
14563 }
14564}
14565#[repr(C)]
14566#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
14567#[cfg(feature = "Win32_Foundation")]
14568pub struct SECPKG_DLL_FUNCTIONS {
14569 pub AllocateHeap: PLSA_ALLOCATE_LSA_HEAP,
14570 pub FreeHeap: PLSA_FREE_LSA_HEAP,
14571 pub RegisterCallback: PLSA_REGISTER_CALLBACK,
14572 pub LocatePackageById: PLSA_LOCATE_PKG_BY_ID,
14573}
14574#[cfg(feature = "Win32_Foundation")]
14575impl ::core::marker::Copy for SECPKG_DLL_FUNCTIONS {}
14576#[cfg(feature = "Win32_Foundation")]
14577impl ::core::clone::Clone for SECPKG_DLL_FUNCTIONS {
14578 fn clone(&self) -> Self {
14579 *self
14580 }
14581}
14582#[cfg(feature = "Win32_Foundation")]
14583impl ::core::fmt::Debug for SECPKG_DLL_FUNCTIONS {
14584 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14585 f.debug_struct("SECPKG_DLL_FUNCTIONS").finish()
14586 }
14587}
14588#[cfg(feature = "Win32_Foundation")]
14589impl ::windows::core::TypeKind for SECPKG_DLL_FUNCTIONS {
14590 type TypeKind = ::windows::core::CopyType;
14591}
14592#[cfg(feature = "Win32_Foundation")]
14593impl ::core::default::Default for SECPKG_DLL_FUNCTIONS {
14594 fn default() -> Self {
14595 unsafe { ::core::mem::zeroed() }
14596 }
14597}
14598#[repr(C)]
14599#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
14600pub struct SECPKG_EVENT_NOTIFY {
14601 pub EventClass: u32,
14602 pub Reserved: u32,
14603 pub EventDataSize: u32,
14604 pub EventData: *mut ::core::ffi::c_void,
14605 pub PackageParameter: *mut ::core::ffi::c_void,
14606}
14607impl ::core::marker::Copy for SECPKG_EVENT_NOTIFY {}
14608impl ::core::clone::Clone for SECPKG_EVENT_NOTIFY {
14609 fn clone(&self) -> Self {
14610 *self
14611 }
14612}
14613impl ::core::fmt::Debug for SECPKG_EVENT_NOTIFY {
14614 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14615 f.debug_struct("SECPKG_EVENT_NOTIFY").field("EventClass", &self.EventClass).field("Reserved", &self.Reserved).field("EventDataSize", &self.EventDataSize).field("EventData", &self.EventData).field("PackageParameter", &self.PackageParameter).finish()
14616 }
14617}
14618impl ::windows::core::TypeKind for SECPKG_EVENT_NOTIFY {
14619 type TypeKind = ::windows::core::CopyType;
14620}
14621impl ::core::cmp::PartialEq for SECPKG_EVENT_NOTIFY {
14622 fn eq(&self, other: &Self) -> bool {
14623 self.EventClass == other.EventClass && self.Reserved == other.Reserved && self.EventDataSize == other.EventDataSize && self.EventData == other.EventData && self.PackageParameter == other.PackageParameter
14624 }
14625}
14626impl ::core::cmp::Eq for SECPKG_EVENT_NOTIFY {}
14627impl ::core::default::Default for SECPKG_EVENT_NOTIFY {
14628 fn default() -> Self {
14629 unsafe { ::core::mem::zeroed() }
14630 }
14631}
14632#[repr(C)]
14633#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
14634#[cfg(feature = "Win32_Foundation")]
14635pub struct SECPKG_EVENT_PACKAGE_CHANGE {
14636 pub ChangeType: SECPKG_PACKAGE_CHANGE_TYPE,
14637 pub PackageId: usize,
14638 pub PackageName: super::super::super::Foundation::UNICODE_STRING,
14639}
14640#[cfg(feature = "Win32_Foundation")]
14641impl ::core::marker::Copy for SECPKG_EVENT_PACKAGE_CHANGE {}
14642#[cfg(feature = "Win32_Foundation")]
14643impl ::core::clone::Clone for SECPKG_EVENT_PACKAGE_CHANGE {
14644 fn clone(&self) -> Self {
14645 *self
14646 }
14647}
14648#[cfg(feature = "Win32_Foundation")]
14649impl ::core::fmt::Debug for SECPKG_EVENT_PACKAGE_CHANGE {
14650 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14651 f.debug_struct("SECPKG_EVENT_PACKAGE_CHANGE").field("ChangeType", &self.ChangeType).field("PackageId", &self.PackageId).field("PackageName", &self.PackageName).finish()
14652 }
14653}
14654#[cfg(feature = "Win32_Foundation")]
14655impl ::windows::core::TypeKind for SECPKG_EVENT_PACKAGE_CHANGE {
14656 type TypeKind = ::windows::core::CopyType;
14657}
14658#[cfg(feature = "Win32_Foundation")]
14659impl ::core::cmp::PartialEq for SECPKG_EVENT_PACKAGE_CHANGE {
14660 fn eq(&self, other: &Self) -> bool {
14661 self.ChangeType == other.ChangeType && self.PackageId == other.PackageId && self.PackageName == other.PackageName
14662 }
14663}
14664#[cfg(feature = "Win32_Foundation")]
14665impl ::core::cmp::Eq for SECPKG_EVENT_PACKAGE_CHANGE {}
14666#[cfg(feature = "Win32_Foundation")]
14667impl ::core::default::Default for SECPKG_EVENT_PACKAGE_CHANGE {
14668 fn default() -> Self {
14669 unsafe { ::core::mem::zeroed() }
14670 }
14671}
14672#[repr(C)]
14673#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
14674pub struct SECPKG_EVENT_ROLE_CHANGE {
14675 pub PreviousRole: u32,
14676 pub NewRole: u32,
14677}
14678impl ::core::marker::Copy for SECPKG_EVENT_ROLE_CHANGE {}
14679impl ::core::clone::Clone for SECPKG_EVENT_ROLE_CHANGE {
14680 fn clone(&self) -> Self {
14681 *self
14682 }
14683}
14684impl ::core::fmt::Debug for SECPKG_EVENT_ROLE_CHANGE {
14685 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14686 f.debug_struct("SECPKG_EVENT_ROLE_CHANGE").field("PreviousRole", &self.PreviousRole).field("NewRole", &self.NewRole).finish()
14687 }
14688}
14689impl ::windows::core::TypeKind for SECPKG_EVENT_ROLE_CHANGE {
14690 type TypeKind = ::windows::core::CopyType;
14691}
14692impl ::core::cmp::PartialEq for SECPKG_EVENT_ROLE_CHANGE {
14693 fn eq(&self, other: &Self) -> bool {
14694 self.PreviousRole == other.PreviousRole && self.NewRole == other.NewRole
14695 }
14696}
14697impl ::core::cmp::Eq for SECPKG_EVENT_ROLE_CHANGE {}
14698impl ::core::default::Default for SECPKG_EVENT_ROLE_CHANGE {
14699 fn default() -> Self {
14700 unsafe { ::core::mem::zeroed() }
14701 }
14702}
14703#[repr(C)]
14704#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
14705#[cfg(feature = "Win32_Foundation")]
14706pub struct SECPKG_EXTENDED_INFORMATION {
14707 pub Class: SECPKG_EXTENDED_INFORMATION_CLASS,
14708 pub Info: SECPKG_EXTENDED_INFORMATION_0,
14709}
14710#[cfg(feature = "Win32_Foundation")]
14711impl ::core::marker::Copy for SECPKG_EXTENDED_INFORMATION {}
14712#[cfg(feature = "Win32_Foundation")]
14713impl ::core::clone::Clone for SECPKG_EXTENDED_INFORMATION {
14714 fn clone(&self) -> Self {
14715 *self
14716 }
14717}
14718#[cfg(feature = "Win32_Foundation")]
14719impl ::windows::core::TypeKind for SECPKG_EXTENDED_INFORMATION {
14720 type TypeKind = ::windows::core::CopyType;
14721}
14722#[cfg(feature = "Win32_Foundation")]
14723impl ::core::default::Default for SECPKG_EXTENDED_INFORMATION {
14724 fn default() -> Self {
14725 unsafe { ::core::mem::zeroed() }
14726 }
14727}
14728#[repr(C)]
14729#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
14730#[cfg(feature = "Win32_Foundation")]
14731pub union SECPKG_EXTENDED_INFORMATION_0 {
14732 pub GssInfo: SECPKG_GSS_INFO,
14733 pub ContextThunks: SECPKG_CONTEXT_THUNKS,
14734 pub MutualAuthLevel: SECPKG_MUTUAL_AUTH_LEVEL,
14735 pub WowClientDll: SECPKG_WOW_CLIENT_DLL,
14736 pub ExtraOids: SECPKG_EXTRA_OIDS,
14737 pub Nego2Info: SECPKG_NEGO2_INFO,
14738}
14739#[cfg(feature = "Win32_Foundation")]
14740impl ::core::marker::Copy for SECPKG_EXTENDED_INFORMATION_0 {}
14741#[cfg(feature = "Win32_Foundation")]
14742impl ::core::clone::Clone for SECPKG_EXTENDED_INFORMATION_0 {
14743 fn clone(&self) -> Self {
14744 *self
14745 }
14746}
14747#[cfg(feature = "Win32_Foundation")]
14748impl ::windows::core::TypeKind for SECPKG_EXTENDED_INFORMATION_0 {
14749 type TypeKind = ::windows::core::CopyType;
14750}
14751#[cfg(feature = "Win32_Foundation")]
14752impl ::core::default::Default for SECPKG_EXTENDED_INFORMATION_0 {
14753 fn default() -> Self {
14754 unsafe { ::core::mem::zeroed() }
14755 }
14756}
14757#[repr(C)]
14758#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
14759pub struct SECPKG_EXTRA_OIDS {
14760 pub OidCount: u32,
14761 pub Oids: [SECPKG_SERIALIZED_OID; 1],
14762}
14763impl ::core::marker::Copy for SECPKG_EXTRA_OIDS {}
14764impl ::core::clone::Clone for SECPKG_EXTRA_OIDS {
14765 fn clone(&self) -> Self {
14766 *self
14767 }
14768}
14769impl ::core::fmt::Debug for SECPKG_EXTRA_OIDS {
14770 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14771 f.debug_struct("SECPKG_EXTRA_OIDS").field("OidCount", &self.OidCount).field("Oids", &self.Oids).finish()
14772 }
14773}
14774impl ::windows::core::TypeKind for SECPKG_EXTRA_OIDS {
14775 type TypeKind = ::windows::core::CopyType;
14776}
14777impl ::core::cmp::PartialEq for SECPKG_EXTRA_OIDS {
14778 fn eq(&self, other: &Self) -> bool {
14779 self.OidCount == other.OidCount && self.Oids == other.Oids
14780 }
14781}
14782impl ::core::cmp::Eq for SECPKG_EXTRA_OIDS {}
14783impl ::core::default::Default for SECPKG_EXTRA_OIDS {
14784 fn default() -> Self {
14785 unsafe { ::core::mem::zeroed() }
14786 }
14787}
14788#[repr(C)]
14789#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_Security_Credentials\"`, `\"Win32_System_Kernel\"`, `\"Win32_System_Threading\"`*"]
14790#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
14791pub struct SECPKG_FUNCTION_TABLE {
14792 pub InitializePackage: PLSA_AP_INITIALIZE_PACKAGE,
14793 pub LogonUserA: PLSA_AP_LOGON_USER,
14794 pub CallPackage: PLSA_AP_CALL_PACKAGE,
14795 pub LogonTerminated: PLSA_AP_LOGON_TERMINATED,
14796 pub CallPackageUntrusted: PLSA_AP_CALL_PACKAGE,
14797 pub CallPackagePassthrough: PLSA_AP_CALL_PACKAGE_PASSTHROUGH,
14798 pub LogonUserExA: PLSA_AP_LOGON_USER_EX,
14799 pub LogonUserEx2: PLSA_AP_LOGON_USER_EX2,
14800 pub Initialize: SpInitializeFn,
14801 pub Shutdown: SpShutdownFn,
14802 pub GetInfo: SpGetInfoFn,
14803 pub AcceptCredentials: SpAcceptCredentialsFn,
14804 pub AcquireCredentialsHandleA: SpAcquireCredentialsHandleFn,
14805 pub QueryCredentialsAttributesA: SpQueryCredentialsAttributesFn,
14806 pub FreeCredentialsHandle: SpFreeCredentialsHandleFn,
14807 pub SaveCredentials: SpSaveCredentialsFn,
14808 pub GetCredentials: SpGetCredentialsFn,
14809 pub DeleteCredentials: SpDeleteCredentialsFn,
14810 pub InitLsaModeContext: SpInitLsaModeContextFn,
14811 pub AcceptLsaModeContext: SpAcceptLsaModeContextFn,
14812 pub DeleteContext: SpDeleteContextFn,
14813 pub ApplyControlToken: SpApplyControlTokenFn,
14814 pub GetUserInfo: SpGetUserInfoFn,
14815 pub GetExtendedInformation: SpGetExtendedInformationFn,
14816 pub QueryContextAttributesA: SpQueryContextAttributesFn,
14817 pub AddCredentialsA: SpAddCredentialsFn,
14818 pub SetExtendedInformation: SpSetExtendedInformationFn,
14819 pub SetContextAttributesA: SpSetContextAttributesFn,
14820 pub SetCredentialsAttributesA: SpSetCredentialsAttributesFn,
14821 pub ChangeAccountPasswordA: SpChangeAccountPasswordFn,
14822 pub QueryMetaData: SpQueryMetaDataFn,
14823 pub ExchangeMetaData: SpExchangeMetaDataFn,
14824 pub GetCredUIContext: SpGetCredUIContextFn,
14825 pub UpdateCredentials: SpUpdateCredentialsFn,
14826 pub ValidateTargetInfo: SpValidateTargetInfoFn,
14827 pub PostLogonUser: LSA_AP_POST_LOGON_USER,
14828 pub GetRemoteCredGuardLogonBuffer: SpGetRemoteCredGuardLogonBufferFn,
14829 pub GetRemoteCredGuardSupplementalCreds: SpGetRemoteCredGuardSupplementalCredsFn,
14830 pub GetTbalSupplementalCreds: SpGetTbalSupplementalCredsFn,
14831 pub LogonUserEx3: PLSA_AP_LOGON_USER_EX3,
14832 pub PreLogonUserSurrogate: PLSA_AP_PRE_LOGON_USER_SURROGATE,
14833 pub PostLogonUserSurrogate: PLSA_AP_POST_LOGON_USER_SURROGATE,
14834}
14835#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
14836impl ::core::marker::Copy for SECPKG_FUNCTION_TABLE {}
14837#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
14838impl ::core::clone::Clone for SECPKG_FUNCTION_TABLE {
14839 fn clone(&self) -> Self {
14840 *self
14841 }
14842}
14843#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
14844impl ::core::fmt::Debug for SECPKG_FUNCTION_TABLE {
14845 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14846 f.debug_struct("SECPKG_FUNCTION_TABLE").finish()
14847 }
14848}
14849#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
14850impl ::windows::core::TypeKind for SECPKG_FUNCTION_TABLE {
14851 type TypeKind = ::windows::core::CopyType;
14852}
14853#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
14854impl ::core::default::Default for SECPKG_FUNCTION_TABLE {
14855 fn default() -> Self {
14856 unsafe { ::core::mem::zeroed() }
14857 }
14858}
14859#[repr(C)]
14860#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
14861pub struct SECPKG_GSS_INFO {
14862 pub EncodedIdLength: u32,
14863 pub EncodedId: [u8; 4],
14864}
14865impl ::core::marker::Copy for SECPKG_GSS_INFO {}
14866impl ::core::clone::Clone for SECPKG_GSS_INFO {
14867 fn clone(&self) -> Self {
14868 *self
14869 }
14870}
14871impl ::core::fmt::Debug for SECPKG_GSS_INFO {
14872 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14873 f.debug_struct("SECPKG_GSS_INFO").field("EncodedIdLength", &self.EncodedIdLength).field("EncodedId", &self.EncodedId).finish()
14874 }
14875}
14876impl ::windows::core::TypeKind for SECPKG_GSS_INFO {
14877 type TypeKind = ::windows::core::CopyType;
14878}
14879impl ::core::cmp::PartialEq for SECPKG_GSS_INFO {
14880 fn eq(&self, other: &Self) -> bool {
14881 self.EncodedIdLength == other.EncodedIdLength && self.EncodedId == other.EncodedId
14882 }
14883}
14884impl ::core::cmp::Eq for SECPKG_GSS_INFO {}
14885impl ::core::default::Default for SECPKG_GSS_INFO {
14886 fn default() -> Self {
14887 unsafe { ::core::mem::zeroed() }
14888 }
14889}
14890#[repr(C)]
14891#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`*"]
14892#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
14893pub struct SECPKG_KERNEL_FUNCTIONS {
14894 pub AllocateHeap: PLSA_ALLOCATE_LSA_HEAP,
14895 pub FreeHeap: PLSA_FREE_LSA_HEAP,
14896 pub CreateContextList: PKSEC_CREATE_CONTEXT_LIST,
14897 pub InsertListEntry: PKSEC_INSERT_LIST_ENTRY,
14898 pub ReferenceListEntry: PKSEC_REFERENCE_LIST_ENTRY,
14899 pub DereferenceListEntry: PKSEC_DEREFERENCE_LIST_ENTRY,
14900 pub SerializeWinntAuthData: PKSEC_SERIALIZE_WINNT_AUTH_DATA,
14901 pub SerializeSchannelAuthData: PKSEC_SERIALIZE_SCHANNEL_AUTH_DATA,
14902 pub LocatePackageById: PKSEC_LOCATE_PKG_BY_ID,
14903}
14904#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
14905impl ::core::marker::Copy for SECPKG_KERNEL_FUNCTIONS {}
14906#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
14907impl ::core::clone::Clone for SECPKG_KERNEL_FUNCTIONS {
14908 fn clone(&self) -> Self {
14909 *self
14910 }
14911}
14912#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
14913impl ::core::fmt::Debug for SECPKG_KERNEL_FUNCTIONS {
14914 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14915 f.debug_struct("SECPKG_KERNEL_FUNCTIONS").finish()
14916 }
14917}
14918#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
14919impl ::windows::core::TypeKind for SECPKG_KERNEL_FUNCTIONS {
14920 type TypeKind = ::windows::core::CopyType;
14921}
14922#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
14923impl ::core::default::Default for SECPKG_KERNEL_FUNCTIONS {
14924 fn default() -> Self {
14925 unsafe { ::core::mem::zeroed() }
14926 }
14927}
14928#[repr(C)]
14929#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`*"]
14930#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
14931pub struct SECPKG_KERNEL_FUNCTION_TABLE {
14932 pub Initialize: KspInitPackageFn,
14933 pub DeleteContext: KspDeleteContextFn,
14934 pub InitContext: KspInitContextFn,
14935 pub MapHandle: KspMapHandleFn,
14936 pub Sign: KspMakeSignatureFn,
14937 pub Verify: KspVerifySignatureFn,
14938 pub Seal: KspSealMessageFn,
14939 pub Unseal: KspUnsealMessageFn,
14940 pub GetToken: KspGetTokenFn,
14941 pub QueryAttributes: KspQueryAttributesFn,
14942 pub CompleteToken: KspCompleteTokenFn,
14943 pub ExportContext: SpExportSecurityContextFn,
14944 pub ImportContext: SpImportSecurityContextFn,
14945 pub SetPackagePagingMode: KspSetPagingModeFn,
14946 pub SerializeAuthData: KspSerializeAuthDataFn,
14947}
14948#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
14949impl ::core::marker::Copy for SECPKG_KERNEL_FUNCTION_TABLE {}
14950#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
14951impl ::core::clone::Clone for SECPKG_KERNEL_FUNCTION_TABLE {
14952 fn clone(&self) -> Self {
14953 *self
14954 }
14955}
14956#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
14957impl ::core::fmt::Debug for SECPKG_KERNEL_FUNCTION_TABLE {
14958 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14959 f.debug_struct("SECPKG_KERNEL_FUNCTION_TABLE").finish()
14960 }
14961}
14962#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
14963impl ::windows::core::TypeKind for SECPKG_KERNEL_FUNCTION_TABLE {
14964 type TypeKind = ::windows::core::CopyType;
14965}
14966#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
14967impl ::core::default::Default for SECPKG_KERNEL_FUNCTION_TABLE {
14968 fn default() -> Self {
14969 unsafe { ::core::mem::zeroed() }
14970 }
14971}
14972#[repr(C)]
14973#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
14974pub struct SECPKG_MUTUAL_AUTH_LEVEL {
14975 pub MutualAuthLevel: u32,
14976}
14977impl ::core::marker::Copy for SECPKG_MUTUAL_AUTH_LEVEL {}
14978impl ::core::clone::Clone for SECPKG_MUTUAL_AUTH_LEVEL {
14979 fn clone(&self) -> Self {
14980 *self
14981 }
14982}
14983impl ::core::fmt::Debug for SECPKG_MUTUAL_AUTH_LEVEL {
14984 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14985 f.debug_struct("SECPKG_MUTUAL_AUTH_LEVEL").field("MutualAuthLevel", &self.MutualAuthLevel).finish()
14986 }
14987}
14988impl ::windows::core::TypeKind for SECPKG_MUTUAL_AUTH_LEVEL {
14989 type TypeKind = ::windows::core::CopyType;
14990}
14991impl ::core::cmp::PartialEq for SECPKG_MUTUAL_AUTH_LEVEL {
14992 fn eq(&self, other: &Self) -> bool {
14993 self.MutualAuthLevel == other.MutualAuthLevel
14994 }
14995}
14996impl ::core::cmp::Eq for SECPKG_MUTUAL_AUTH_LEVEL {}
14997impl ::core::default::Default for SECPKG_MUTUAL_AUTH_LEVEL {
14998 fn default() -> Self {
14999 unsafe { ::core::mem::zeroed() }
15000 }
15001}
15002#[repr(C)]
15003#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
15004pub struct SECPKG_NEGO2_INFO {
15005 pub AuthScheme: [u8; 16],
15006 pub PackageFlags: u32,
15007}
15008impl ::core::marker::Copy for SECPKG_NEGO2_INFO {}
15009impl ::core::clone::Clone for SECPKG_NEGO2_INFO {
15010 fn clone(&self) -> Self {
15011 *self
15012 }
15013}
15014impl ::core::fmt::Debug for SECPKG_NEGO2_INFO {
15015 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15016 f.debug_struct("SECPKG_NEGO2_INFO").field("AuthScheme", &self.AuthScheme).field("PackageFlags", &self.PackageFlags).finish()
15017 }
15018}
15019impl ::windows::core::TypeKind for SECPKG_NEGO2_INFO {
15020 type TypeKind = ::windows::core::CopyType;
15021}
15022impl ::core::cmp::PartialEq for SECPKG_NEGO2_INFO {
15023 fn eq(&self, other: &Self) -> bool {
15024 self.AuthScheme == other.AuthScheme && self.PackageFlags == other.PackageFlags
15025 }
15026}
15027impl ::core::cmp::Eq for SECPKG_NEGO2_INFO {}
15028impl ::core::default::Default for SECPKG_NEGO2_INFO {
15029 fn default() -> Self {
15030 unsafe { ::core::mem::zeroed() }
15031 }
15032}
15033#[repr(C)]
15034#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
15035#[cfg(feature = "Win32_Foundation")]
15036pub struct SECPKG_PARAMETERS {
15037 pub Version: u32,
15038 pub MachineState: u32,
15039 pub SetupMode: u32,
15040 pub DomainSid: super::super::super::Foundation::PSID,
15041 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
15042 pub DnsDomainName: super::super::super::Foundation::UNICODE_STRING,
15043 pub DomainGuid: ::windows::core::GUID,
15044}
15045#[cfg(feature = "Win32_Foundation")]
15046impl ::core::marker::Copy for SECPKG_PARAMETERS {}
15047#[cfg(feature = "Win32_Foundation")]
15048impl ::core::clone::Clone for SECPKG_PARAMETERS {
15049 fn clone(&self) -> Self {
15050 *self
15051 }
15052}
15053#[cfg(feature = "Win32_Foundation")]
15054impl ::core::fmt::Debug for SECPKG_PARAMETERS {
15055 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15056 f.debug_struct("SECPKG_PARAMETERS").field("Version", &self.Version).field("MachineState", &self.MachineState).field("SetupMode", &self.SetupMode).field("DomainSid", &self.DomainSid).field("DomainName", &self.DomainName).field("DnsDomainName", &self.DnsDomainName).field("DomainGuid", &self.DomainGuid).finish()
15057 }
15058}
15059#[cfg(feature = "Win32_Foundation")]
15060impl ::windows::core::TypeKind for SECPKG_PARAMETERS {
15061 type TypeKind = ::windows::core::CopyType;
15062}
15063#[cfg(feature = "Win32_Foundation")]
15064impl ::core::cmp::PartialEq for SECPKG_PARAMETERS {
15065 fn eq(&self, other: &Self) -> bool {
15066 self.Version == other.Version && self.MachineState == other.MachineState && self.SetupMode == other.SetupMode && self.DomainSid == other.DomainSid && self.DomainName == other.DomainName && self.DnsDomainName == other.DnsDomainName && self.DomainGuid == other.DomainGuid
15067 }
15068}
15069#[cfg(feature = "Win32_Foundation")]
15070impl ::core::cmp::Eq for SECPKG_PARAMETERS {}
15071#[cfg(feature = "Win32_Foundation")]
15072impl ::core::default::Default for SECPKG_PARAMETERS {
15073 fn default() -> Self {
15074 unsafe { ::core::mem::zeroed() }
15075 }
15076}
15077#[repr(C)]
15078#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
15079#[cfg(feature = "Win32_Foundation")]
15080pub struct SECPKG_POST_LOGON_USER_INFO {
15081 pub Flags: u32,
15082 pub LogonId: super::super::super::Foundation::LUID,
15083 pub LinkedLogonId: super::super::super::Foundation::LUID,
15084}
15085#[cfg(feature = "Win32_Foundation")]
15086impl ::core::marker::Copy for SECPKG_POST_LOGON_USER_INFO {}
15087#[cfg(feature = "Win32_Foundation")]
15088impl ::core::clone::Clone for SECPKG_POST_LOGON_USER_INFO {
15089 fn clone(&self) -> Self {
15090 *self
15091 }
15092}
15093#[cfg(feature = "Win32_Foundation")]
15094impl ::core::fmt::Debug for SECPKG_POST_LOGON_USER_INFO {
15095 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15096 f.debug_struct("SECPKG_POST_LOGON_USER_INFO").field("Flags", &self.Flags).field("LogonId", &self.LogonId).field("LinkedLogonId", &self.LinkedLogonId).finish()
15097 }
15098}
15099#[cfg(feature = "Win32_Foundation")]
15100impl ::windows::core::TypeKind for SECPKG_POST_LOGON_USER_INFO {
15101 type TypeKind = ::windows::core::CopyType;
15102}
15103#[cfg(feature = "Win32_Foundation")]
15104impl ::core::cmp::PartialEq for SECPKG_POST_LOGON_USER_INFO {
15105 fn eq(&self, other: &Self) -> bool {
15106 self.Flags == other.Flags && self.LogonId == other.LogonId && self.LinkedLogonId == other.LinkedLogonId
15107 }
15108}
15109#[cfg(feature = "Win32_Foundation")]
15110impl ::core::cmp::Eq for SECPKG_POST_LOGON_USER_INFO {}
15111#[cfg(feature = "Win32_Foundation")]
15112impl ::core::default::Default for SECPKG_POST_LOGON_USER_INFO {
15113 fn default() -> Self {
15114 unsafe { ::core::mem::zeroed() }
15115 }
15116}
15117#[repr(C)]
15118#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
15119#[cfg(feature = "Win32_Foundation")]
15120pub struct SECPKG_PRIMARY_CRED {
15121 pub LogonId: super::super::super::Foundation::LUID,
15122 pub DownlevelName: super::super::super::Foundation::UNICODE_STRING,
15123 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
15124 pub Password: super::super::super::Foundation::UNICODE_STRING,
15125 pub OldPassword: super::super::super::Foundation::UNICODE_STRING,
15126 pub UserSid: super::super::super::Foundation::PSID,
15127 pub Flags: u32,
15128 pub DnsDomainName: super::super::super::Foundation::UNICODE_STRING,
15129 pub Upn: super::super::super::Foundation::UNICODE_STRING,
15130 pub LogonServer: super::super::super::Foundation::UNICODE_STRING,
15131 pub Spare1: super::super::super::Foundation::UNICODE_STRING,
15132 pub Spare2: super::super::super::Foundation::UNICODE_STRING,
15133 pub Spare3: super::super::super::Foundation::UNICODE_STRING,
15134 pub Spare4: super::super::super::Foundation::UNICODE_STRING,
15135}
15136#[cfg(feature = "Win32_Foundation")]
15137impl ::core::marker::Copy for SECPKG_PRIMARY_CRED {}
15138#[cfg(feature = "Win32_Foundation")]
15139impl ::core::clone::Clone for SECPKG_PRIMARY_CRED {
15140 fn clone(&self) -> Self {
15141 *self
15142 }
15143}
15144#[cfg(feature = "Win32_Foundation")]
15145impl ::core::fmt::Debug for SECPKG_PRIMARY_CRED {
15146 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15147 f.debug_struct("SECPKG_PRIMARY_CRED")
15148 .field("LogonId", &self.LogonId)
15149 .field("DownlevelName", &self.DownlevelName)
15150 .field("DomainName", &self.DomainName)
15151 .field("Password", &self.Password)
15152 .field("OldPassword", &self.OldPassword)
15153 .field("UserSid", &self.UserSid)
15154 .field("Flags", &self.Flags)
15155 .field("DnsDomainName", &self.DnsDomainName)
15156 .field("Upn", &self.Upn)
15157 .field("LogonServer", &self.LogonServer)
15158 .field("Spare1", &self.Spare1)
15159 .field("Spare2", &self.Spare2)
15160 .field("Spare3", &self.Spare3)
15161 .field("Spare4", &self.Spare4)
15162 .finish()
15163 }
15164}
15165#[cfg(feature = "Win32_Foundation")]
15166impl ::windows::core::TypeKind for SECPKG_PRIMARY_CRED {
15167 type TypeKind = ::windows::core::CopyType;
15168}
15169#[cfg(feature = "Win32_Foundation")]
15170impl ::core::cmp::PartialEq for SECPKG_PRIMARY_CRED {
15171 fn eq(&self, other: &Self) -> bool {
15172 self.LogonId == other.LogonId && self.DownlevelName == other.DownlevelName && self.DomainName == other.DomainName && self.Password == other.Password && self.OldPassword == other.OldPassword && self.UserSid == other.UserSid && self.Flags == other.Flags && self.DnsDomainName == other.DnsDomainName && self.Upn == other.Upn && self.LogonServer == other.LogonServer && self.Spare1 == other.Spare1 && self.Spare2 == other.Spare2 && self.Spare3 == other.Spare3 && self.Spare4 == other.Spare4
15173 }
15174}
15175#[cfg(feature = "Win32_Foundation")]
15176impl ::core::cmp::Eq for SECPKG_PRIMARY_CRED {}
15177#[cfg(feature = "Win32_Foundation")]
15178impl ::core::default::Default for SECPKG_PRIMARY_CRED {
15179 fn default() -> Self {
15180 unsafe { ::core::mem::zeroed() }
15181 }
15182}
15183#[repr(C)]
15184#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
15185#[cfg(feature = "Win32_Foundation")]
15186pub struct SECPKG_PRIMARY_CRED_EX {
15187 pub LogonId: super::super::super::Foundation::LUID,
15188 pub DownlevelName: super::super::super::Foundation::UNICODE_STRING,
15189 pub DomainName: super::super::super::Foundation::UNICODE_STRING,
15190 pub Password: super::super::super::Foundation::UNICODE_STRING,
15191 pub OldPassword: super::super::super::Foundation::UNICODE_STRING,
15192 pub UserSid: super::super::super::Foundation::PSID,
15193 pub Flags: u32,
15194 pub DnsDomainName: super::super::super::Foundation::UNICODE_STRING,
15195 pub Upn: super::super::super::Foundation::UNICODE_STRING,
15196 pub LogonServer: super::super::super::Foundation::UNICODE_STRING,
15197 pub Spare1: super::super::super::Foundation::UNICODE_STRING,
15198 pub Spare2: super::super::super::Foundation::UNICODE_STRING,
15199 pub Spare3: super::super::super::Foundation::UNICODE_STRING,
15200 pub Spare4: super::super::super::Foundation::UNICODE_STRING,
15201 pub PackageId: usize,
15202 pub PrevLogonId: super::super::super::Foundation::LUID,
15203 pub FlagsEx: u32,
15204}
15205#[cfg(feature = "Win32_Foundation")]
15206impl ::core::marker::Copy for SECPKG_PRIMARY_CRED_EX {}
15207#[cfg(feature = "Win32_Foundation")]
15208impl ::core::clone::Clone for SECPKG_PRIMARY_CRED_EX {
15209 fn clone(&self) -> Self {
15210 *self
15211 }
15212}
15213#[cfg(feature = "Win32_Foundation")]
15214impl ::core::fmt::Debug for SECPKG_PRIMARY_CRED_EX {
15215 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15216 f.debug_struct("SECPKG_PRIMARY_CRED_EX")
15217 .field("LogonId", &self.LogonId)
15218 .field("DownlevelName", &self.DownlevelName)
15219 .field("DomainName", &self.DomainName)
15220 .field("Password", &self.Password)
15221 .field("OldPassword", &self.OldPassword)
15222 .field("UserSid", &self.UserSid)
15223 .field("Flags", &self.Flags)
15224 .field("DnsDomainName", &self.DnsDomainName)
15225 .field("Upn", &self.Upn)
15226 .field("LogonServer", &self.LogonServer)
15227 .field("Spare1", &self.Spare1)
15228 .field("Spare2", &self.Spare2)
15229 .field("Spare3", &self.Spare3)
15230 .field("Spare4", &self.Spare4)
15231 .field("PackageId", &self.PackageId)
15232 .field("PrevLogonId", &self.PrevLogonId)
15233 .field("FlagsEx", &self.FlagsEx)
15234 .finish()
15235 }
15236}
15237#[cfg(feature = "Win32_Foundation")]
15238impl ::windows::core::TypeKind for SECPKG_PRIMARY_CRED_EX {
15239 type TypeKind = ::windows::core::CopyType;
15240}
15241#[cfg(feature = "Win32_Foundation")]
15242impl ::core::cmp::PartialEq for SECPKG_PRIMARY_CRED_EX {
15243 fn eq(&self, other: &Self) -> bool {
15244 self.LogonId == other.LogonId && self.DownlevelName == other.DownlevelName && self.DomainName == other.DomainName && self.Password == other.Password && self.OldPassword == other.OldPassword && self.UserSid == other.UserSid && self.Flags == other.Flags && self.DnsDomainName == other.DnsDomainName && self.Upn == other.Upn && self.LogonServer == other.LogonServer && self.Spare1 == other.Spare1 && self.Spare2 == other.Spare2 && self.Spare3 == other.Spare3 && self.Spare4 == other.Spare4 && self.PackageId == other.PackageId && self.PrevLogonId == other.PrevLogonId && self.FlagsEx == other.FlagsEx
15245 }
15246}
15247#[cfg(feature = "Win32_Foundation")]
15248impl ::core::cmp::Eq for SECPKG_PRIMARY_CRED_EX {}
15249#[cfg(feature = "Win32_Foundation")]
15250impl ::core::default::Default for SECPKG_PRIMARY_CRED_EX {
15251 fn default() -> Self {
15252 unsafe { ::core::mem::zeroed() }
15253 }
15254}
15255#[repr(C)]
15256#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
15257#[cfg(feature = "Win32_Foundation")]
15258pub struct SECPKG_REDIRECTED_LOGON_BUFFER {
15259 pub RedirectedLogonGuid: ::windows::core::GUID,
15260 pub RedirectedLogonHandle: super::super::super::Foundation::HANDLE,
15261 pub Init: PLSA_REDIRECTED_LOGON_INIT,
15262 pub Callback: PLSA_REDIRECTED_LOGON_CALLBACK,
15263 pub CleanupCallback: PLSA_REDIRECTED_LOGON_CLEANUP_CALLBACK,
15264 pub GetLogonCreds: PLSA_REDIRECTED_LOGON_GET_LOGON_CREDS,
15265 pub GetSupplementalCreds: PLSA_REDIRECTED_LOGON_GET_SUPP_CREDS,
15266}
15267#[cfg(feature = "Win32_Foundation")]
15268impl ::core::marker::Copy for SECPKG_REDIRECTED_LOGON_BUFFER {}
15269#[cfg(feature = "Win32_Foundation")]
15270impl ::core::clone::Clone for SECPKG_REDIRECTED_LOGON_BUFFER {
15271 fn clone(&self) -> Self {
15272 *self
15273 }
15274}
15275#[cfg(feature = "Win32_Foundation")]
15276impl ::core::fmt::Debug for SECPKG_REDIRECTED_LOGON_BUFFER {
15277 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15278 f.debug_struct("SECPKG_REDIRECTED_LOGON_BUFFER").field("RedirectedLogonGuid", &self.RedirectedLogonGuid).field("RedirectedLogonHandle", &self.RedirectedLogonHandle).finish()
15279 }
15280}
15281#[cfg(feature = "Win32_Foundation")]
15282impl ::windows::core::TypeKind for SECPKG_REDIRECTED_LOGON_BUFFER {
15283 type TypeKind = ::windows::core::CopyType;
15284}
15285#[cfg(feature = "Win32_Foundation")]
15286impl ::core::default::Default for SECPKG_REDIRECTED_LOGON_BUFFER {
15287 fn default() -> Self {
15288 unsafe { ::core::mem::zeroed() }
15289 }
15290}
15291#[repr(C)]
15292#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
15293pub struct SECPKG_SERIALIZED_OID {
15294 pub OidLength: u32,
15295 pub OidAttributes: u32,
15296 pub OidValue: [u8; 32],
15297}
15298impl ::core::marker::Copy for SECPKG_SERIALIZED_OID {}
15299impl ::core::clone::Clone for SECPKG_SERIALIZED_OID {
15300 fn clone(&self) -> Self {
15301 *self
15302 }
15303}
15304impl ::core::fmt::Debug for SECPKG_SERIALIZED_OID {
15305 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15306 f.debug_struct("SECPKG_SERIALIZED_OID").field("OidLength", &self.OidLength).field("OidAttributes", &self.OidAttributes).field("OidValue", &self.OidValue).finish()
15307 }
15308}
15309impl ::windows::core::TypeKind for SECPKG_SERIALIZED_OID {
15310 type TypeKind = ::windows::core::CopyType;
15311}
15312impl ::core::cmp::PartialEq for SECPKG_SERIALIZED_OID {
15313 fn eq(&self, other: &Self) -> bool {
15314 self.OidLength == other.OidLength && self.OidAttributes == other.OidAttributes && self.OidValue == other.OidValue
15315 }
15316}
15317impl ::core::cmp::Eq for SECPKG_SERIALIZED_OID {}
15318impl ::core::default::Default for SECPKG_SERIALIZED_OID {
15319 fn default() -> Self {
15320 unsafe { ::core::mem::zeroed() }
15321 }
15322}
15323#[repr(C)]
15324#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
15325pub struct SECPKG_SHORT_VECTOR {
15326 pub ShortArrayOffset: u32,
15327 pub ShortArrayCount: u16,
15328}
15329impl ::core::marker::Copy for SECPKG_SHORT_VECTOR {}
15330impl ::core::clone::Clone for SECPKG_SHORT_VECTOR {
15331 fn clone(&self) -> Self {
15332 *self
15333 }
15334}
15335impl ::core::fmt::Debug for SECPKG_SHORT_VECTOR {
15336 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15337 f.debug_struct("SECPKG_SHORT_VECTOR").field("ShortArrayOffset", &self.ShortArrayOffset).field("ShortArrayCount", &self.ShortArrayCount).finish()
15338 }
15339}
15340impl ::windows::core::TypeKind for SECPKG_SHORT_VECTOR {
15341 type TypeKind = ::windows::core::CopyType;
15342}
15343impl ::core::cmp::PartialEq for SECPKG_SHORT_VECTOR {
15344 fn eq(&self, other: &Self) -> bool {
15345 self.ShortArrayOffset == other.ShortArrayOffset && self.ShortArrayCount == other.ShortArrayCount
15346 }
15347}
15348impl ::core::cmp::Eq for SECPKG_SHORT_VECTOR {}
15349impl ::core::default::Default for SECPKG_SHORT_VECTOR {
15350 fn default() -> Self {
15351 unsafe { ::core::mem::zeroed() }
15352 }
15353}
15354#[repr(C)]
15355#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
15356#[cfg(feature = "Win32_Foundation")]
15357pub struct SECPKG_SUPPLEMENTAL_CRED {
15358 pub PackageName: super::super::super::Foundation::UNICODE_STRING,
15359 pub CredentialSize: u32,
15360 pub Credentials: *mut u8,
15361}
15362#[cfg(feature = "Win32_Foundation")]
15363impl ::core::marker::Copy for SECPKG_SUPPLEMENTAL_CRED {}
15364#[cfg(feature = "Win32_Foundation")]
15365impl ::core::clone::Clone for SECPKG_SUPPLEMENTAL_CRED {
15366 fn clone(&self) -> Self {
15367 *self
15368 }
15369}
15370#[cfg(feature = "Win32_Foundation")]
15371impl ::core::fmt::Debug for SECPKG_SUPPLEMENTAL_CRED {
15372 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15373 f.debug_struct("SECPKG_SUPPLEMENTAL_CRED").field("PackageName", &self.PackageName).field("CredentialSize", &self.CredentialSize).field("Credentials", &self.Credentials).finish()
15374 }
15375}
15376#[cfg(feature = "Win32_Foundation")]
15377impl ::windows::core::TypeKind for SECPKG_SUPPLEMENTAL_CRED {
15378 type TypeKind = ::windows::core::CopyType;
15379}
15380#[cfg(feature = "Win32_Foundation")]
15381impl ::core::cmp::PartialEq for SECPKG_SUPPLEMENTAL_CRED {
15382 fn eq(&self, other: &Self) -> bool {
15383 self.PackageName == other.PackageName && self.CredentialSize == other.CredentialSize && self.Credentials == other.Credentials
15384 }
15385}
15386#[cfg(feature = "Win32_Foundation")]
15387impl ::core::cmp::Eq for SECPKG_SUPPLEMENTAL_CRED {}
15388#[cfg(feature = "Win32_Foundation")]
15389impl ::core::default::Default for SECPKG_SUPPLEMENTAL_CRED {
15390 fn default() -> Self {
15391 unsafe { ::core::mem::zeroed() }
15392 }
15393}
15394#[repr(C)]
15395#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
15396#[cfg(feature = "Win32_Foundation")]
15397pub struct SECPKG_SUPPLEMENTAL_CRED_ARRAY {
15398 pub CredentialCount: u32,
15399 pub Credentials: [SECPKG_SUPPLEMENTAL_CRED; 1],
15400}
15401#[cfg(feature = "Win32_Foundation")]
15402impl ::core::marker::Copy for SECPKG_SUPPLEMENTAL_CRED_ARRAY {}
15403#[cfg(feature = "Win32_Foundation")]
15404impl ::core::clone::Clone for SECPKG_SUPPLEMENTAL_CRED_ARRAY {
15405 fn clone(&self) -> Self {
15406 *self
15407 }
15408}
15409#[cfg(feature = "Win32_Foundation")]
15410impl ::core::fmt::Debug for SECPKG_SUPPLEMENTAL_CRED_ARRAY {
15411 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15412 f.debug_struct("SECPKG_SUPPLEMENTAL_CRED_ARRAY").field("CredentialCount", &self.CredentialCount).field("Credentials", &self.Credentials).finish()
15413 }
15414}
15415#[cfg(feature = "Win32_Foundation")]
15416impl ::windows::core::TypeKind for SECPKG_SUPPLEMENTAL_CRED_ARRAY {
15417 type TypeKind = ::windows::core::CopyType;
15418}
15419#[cfg(feature = "Win32_Foundation")]
15420impl ::core::cmp::PartialEq for SECPKG_SUPPLEMENTAL_CRED_ARRAY {
15421 fn eq(&self, other: &Self) -> bool {
15422 self.CredentialCount == other.CredentialCount && self.Credentials == other.Credentials
15423 }
15424}
15425#[cfg(feature = "Win32_Foundation")]
15426impl ::core::cmp::Eq for SECPKG_SUPPLEMENTAL_CRED_ARRAY {}
15427#[cfg(feature = "Win32_Foundation")]
15428impl ::core::default::Default for SECPKG_SUPPLEMENTAL_CRED_ARRAY {
15429 fn default() -> Self {
15430 unsafe { ::core::mem::zeroed() }
15431 }
15432}
15433#[repr(C)]
15434#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
15435pub struct SECPKG_SUPPLIED_CREDENTIAL {
15436 pub cbHeaderLength: u16,
15437 pub cbStructureLength: u16,
15438 pub UserName: SECPKG_SHORT_VECTOR,
15439 pub DomainName: SECPKG_SHORT_VECTOR,
15440 pub PackedCredentials: SECPKG_BYTE_VECTOR,
15441 pub CredFlags: u32,
15442}
15443impl ::core::marker::Copy for SECPKG_SUPPLIED_CREDENTIAL {}
15444impl ::core::clone::Clone for SECPKG_SUPPLIED_CREDENTIAL {
15445 fn clone(&self) -> Self {
15446 *self
15447 }
15448}
15449impl ::core::fmt::Debug for SECPKG_SUPPLIED_CREDENTIAL {
15450 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15451 f.debug_struct("SECPKG_SUPPLIED_CREDENTIAL").field("cbHeaderLength", &self.cbHeaderLength).field("cbStructureLength", &self.cbStructureLength).field("UserName", &self.UserName).field("DomainName", &self.DomainName).field("PackedCredentials", &self.PackedCredentials).field("CredFlags", &self.CredFlags).finish()
15452 }
15453}
15454impl ::windows::core::TypeKind for SECPKG_SUPPLIED_CREDENTIAL {
15455 type TypeKind = ::windows::core::CopyType;
15456}
15457impl ::core::cmp::PartialEq for SECPKG_SUPPLIED_CREDENTIAL {
15458 fn eq(&self, other: &Self) -> bool {
15459 self.cbHeaderLength == other.cbHeaderLength && self.cbStructureLength == other.cbStructureLength && self.UserName == other.UserName && self.DomainName == other.DomainName && self.PackedCredentials == other.PackedCredentials && self.CredFlags == other.CredFlags
15460 }
15461}
15462impl ::core::cmp::Eq for SECPKG_SUPPLIED_CREDENTIAL {}
15463impl ::core::default::Default for SECPKG_SUPPLIED_CREDENTIAL {
15464 fn default() -> Self {
15465 unsafe { ::core::mem::zeroed() }
15466 }
15467}
15468#[repr(C)]
15469#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
15470#[cfg(feature = "Win32_Foundation")]
15471pub struct SECPKG_SURROGATE_LOGON {
15472 pub Version: u32,
15473 pub SurrogateLogonID: super::super::super::Foundation::LUID,
15474 pub EntryCount: u32,
15475 pub Entries: *mut SECPKG_SURROGATE_LOGON_ENTRY,
15476}
15477#[cfg(feature = "Win32_Foundation")]
15478impl ::core::marker::Copy for SECPKG_SURROGATE_LOGON {}
15479#[cfg(feature = "Win32_Foundation")]
15480impl ::core::clone::Clone for SECPKG_SURROGATE_LOGON {
15481 fn clone(&self) -> Self {
15482 *self
15483 }
15484}
15485#[cfg(feature = "Win32_Foundation")]
15486impl ::core::fmt::Debug for SECPKG_SURROGATE_LOGON {
15487 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15488 f.debug_struct("SECPKG_SURROGATE_LOGON").field("Version", &self.Version).field("SurrogateLogonID", &self.SurrogateLogonID).field("EntryCount", &self.EntryCount).field("Entries", &self.Entries).finish()
15489 }
15490}
15491#[cfg(feature = "Win32_Foundation")]
15492impl ::windows::core::TypeKind for SECPKG_SURROGATE_LOGON {
15493 type TypeKind = ::windows::core::CopyType;
15494}
15495#[cfg(feature = "Win32_Foundation")]
15496impl ::core::cmp::PartialEq for SECPKG_SURROGATE_LOGON {
15497 fn eq(&self, other: &Self) -> bool {
15498 self.Version == other.Version && self.SurrogateLogonID == other.SurrogateLogonID && self.EntryCount == other.EntryCount && self.Entries == other.Entries
15499 }
15500}
15501#[cfg(feature = "Win32_Foundation")]
15502impl ::core::cmp::Eq for SECPKG_SURROGATE_LOGON {}
15503#[cfg(feature = "Win32_Foundation")]
15504impl ::core::default::Default for SECPKG_SURROGATE_LOGON {
15505 fn default() -> Self {
15506 unsafe { ::core::mem::zeroed() }
15507 }
15508}
15509#[repr(C)]
15510#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
15511pub struct SECPKG_SURROGATE_LOGON_ENTRY {
15512 pub Type: ::windows::core::GUID,
15513 pub Data: *mut ::core::ffi::c_void,
15514}
15515impl ::core::marker::Copy for SECPKG_SURROGATE_LOGON_ENTRY {}
15516impl ::core::clone::Clone for SECPKG_SURROGATE_LOGON_ENTRY {
15517 fn clone(&self) -> Self {
15518 *self
15519 }
15520}
15521impl ::core::fmt::Debug for SECPKG_SURROGATE_LOGON_ENTRY {
15522 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15523 f.debug_struct("SECPKG_SURROGATE_LOGON_ENTRY").field("Type", &self.Type).field("Data", &self.Data).finish()
15524 }
15525}
15526impl ::windows::core::TypeKind for SECPKG_SURROGATE_LOGON_ENTRY {
15527 type TypeKind = ::windows::core::CopyType;
15528}
15529impl ::core::cmp::PartialEq for SECPKG_SURROGATE_LOGON_ENTRY {
15530 fn eq(&self, other: &Self) -> bool {
15531 self.Type == other.Type && self.Data == other.Data
15532 }
15533}
15534impl ::core::cmp::Eq for SECPKG_SURROGATE_LOGON_ENTRY {}
15535impl ::core::default::Default for SECPKG_SURROGATE_LOGON_ENTRY {
15536 fn default() -> Self {
15537 unsafe { ::core::mem::zeroed() }
15538 }
15539}
15540#[repr(C)]
15541#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
15542#[cfg(feature = "Win32_Foundation")]
15543pub struct SECPKG_TARGETINFO {
15544 pub DomainSid: super::super::super::Foundation::PSID,
15545 pub ComputerName: ::windows::core::PCWSTR,
15546}
15547#[cfg(feature = "Win32_Foundation")]
15548impl ::core::marker::Copy for SECPKG_TARGETINFO {}
15549#[cfg(feature = "Win32_Foundation")]
15550impl ::core::clone::Clone for SECPKG_TARGETINFO {
15551 fn clone(&self) -> Self {
15552 *self
15553 }
15554}
15555#[cfg(feature = "Win32_Foundation")]
15556impl ::core::fmt::Debug for SECPKG_TARGETINFO {
15557 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15558 f.debug_struct("SECPKG_TARGETINFO").field("DomainSid", &self.DomainSid).field("ComputerName", &self.ComputerName).finish()
15559 }
15560}
15561#[cfg(feature = "Win32_Foundation")]
15562impl ::windows::core::TypeKind for SECPKG_TARGETINFO {
15563 type TypeKind = ::windows::core::CopyType;
15564}
15565#[cfg(feature = "Win32_Foundation")]
15566impl ::core::cmp::PartialEq for SECPKG_TARGETINFO {
15567 fn eq(&self, other: &Self) -> bool {
15568 self.DomainSid == other.DomainSid && self.ComputerName == other.ComputerName
15569 }
15570}
15571#[cfg(feature = "Win32_Foundation")]
15572impl ::core::cmp::Eq for SECPKG_TARGETINFO {}
15573#[cfg(feature = "Win32_Foundation")]
15574impl ::core::default::Default for SECPKG_TARGETINFO {
15575 fn default() -> Self {
15576 unsafe { ::core::mem::zeroed() }
15577 }
15578}
15579#[repr(C)]
15580#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
15581#[cfg(feature = "Win32_Foundation")]
15582pub struct SECPKG_USER_FUNCTION_TABLE {
15583 pub InstanceInit: SpInstanceInitFn,
15584 pub InitUserModeContext: SpInitUserModeContextFn,
15585 pub MakeSignature: SpMakeSignatureFn,
15586 pub VerifySignature: SpVerifySignatureFn,
15587 pub SealMessage: SpSealMessageFn,
15588 pub UnsealMessage: SpUnsealMessageFn,
15589 pub GetContextToken: SpGetContextTokenFn,
15590 pub QueryContextAttributesA: SpQueryContextAttributesFn,
15591 pub CompleteAuthToken: SpCompleteAuthTokenFn,
15592 pub DeleteUserModeContext: SpDeleteContextFn,
15593 pub FormatCredentials: SpFormatCredentialsFn,
15594 pub MarshallSupplementalCreds: SpMarshallSupplementalCredsFn,
15595 pub ExportContext: SpExportSecurityContextFn,
15596 pub ImportContext: SpImportSecurityContextFn,
15597 pub MarshalAttributeData: SpMarshalAttributeDataFn,
15598}
15599#[cfg(feature = "Win32_Foundation")]
15600impl ::core::marker::Copy for SECPKG_USER_FUNCTION_TABLE {}
15601#[cfg(feature = "Win32_Foundation")]
15602impl ::core::clone::Clone for SECPKG_USER_FUNCTION_TABLE {
15603 fn clone(&self) -> Self {
15604 *self
15605 }
15606}
15607#[cfg(feature = "Win32_Foundation")]
15608impl ::core::fmt::Debug for SECPKG_USER_FUNCTION_TABLE {
15609 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15610 f.debug_struct("SECPKG_USER_FUNCTION_TABLE").finish()
15611 }
15612}
15613#[cfg(feature = "Win32_Foundation")]
15614impl ::windows::core::TypeKind for SECPKG_USER_FUNCTION_TABLE {
15615 type TypeKind = ::windows::core::CopyType;
15616}
15617#[cfg(feature = "Win32_Foundation")]
15618impl ::core::default::Default for SECPKG_USER_FUNCTION_TABLE {
15619 fn default() -> Self {
15620 unsafe { ::core::mem::zeroed() }
15621 }
15622}
15623#[repr(C)]
15624#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
15625#[cfg(feature = "Win32_Foundation")]
15626pub struct SECPKG_WOW_CLIENT_DLL {
15627 pub WowClientDllPath: super::super::super::Foundation::UNICODE_STRING,
15628}
15629#[cfg(feature = "Win32_Foundation")]
15630impl ::core::marker::Copy for SECPKG_WOW_CLIENT_DLL {}
15631#[cfg(feature = "Win32_Foundation")]
15632impl ::core::clone::Clone for SECPKG_WOW_CLIENT_DLL {
15633 fn clone(&self) -> Self {
15634 *self
15635 }
15636}
15637#[cfg(feature = "Win32_Foundation")]
15638impl ::core::fmt::Debug for SECPKG_WOW_CLIENT_DLL {
15639 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15640 f.debug_struct("SECPKG_WOW_CLIENT_DLL").field("WowClientDllPath", &self.WowClientDllPath).finish()
15641 }
15642}
15643#[cfg(feature = "Win32_Foundation")]
15644impl ::windows::core::TypeKind for SECPKG_WOW_CLIENT_DLL {
15645 type TypeKind = ::windows::core::CopyType;
15646}
15647#[cfg(feature = "Win32_Foundation")]
15648impl ::core::cmp::PartialEq for SECPKG_WOW_CLIENT_DLL {
15649 fn eq(&self, other: &Self) -> bool {
15650 self.WowClientDllPath == other.WowClientDllPath
15651 }
15652}
15653#[cfg(feature = "Win32_Foundation")]
15654impl ::core::cmp::Eq for SECPKG_WOW_CLIENT_DLL {}
15655#[cfg(feature = "Win32_Foundation")]
15656impl ::core::default::Default for SECPKG_WOW_CLIENT_DLL {
15657 fn default() -> Self {
15658 unsafe { ::core::mem::zeroed() }
15659 }
15660}
15661#[repr(C)]
15662#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
15663#[cfg(feature = "Win32_Foundation")]
15664pub struct SECURITY_LOGON_SESSION_DATA {
15665 pub Size: u32,
15666 pub LogonId: super::super::super::Foundation::LUID,
15667 pub UserName: super::super::super::Foundation::UNICODE_STRING,
15668 pub LogonDomain: super::super::super::Foundation::UNICODE_STRING,
15669 pub AuthenticationPackage: super::super::super::Foundation::UNICODE_STRING,
15670 pub LogonType: u32,
15671 pub Session: u32,
15672 pub Sid: super::super::super::Foundation::PSID,
15673 pub LogonTime: i64,
15674 pub LogonServer: super::super::super::Foundation::UNICODE_STRING,
15675 pub DnsDomainName: super::super::super::Foundation::UNICODE_STRING,
15676 pub Upn: super::super::super::Foundation::UNICODE_STRING,
15677 pub UserFlags: u32,
15678 pub LastLogonInfo: LSA_LAST_INTER_LOGON_INFO,
15679 pub LogonScript: super::super::super::Foundation::UNICODE_STRING,
15680 pub ProfilePath: super::super::super::Foundation::UNICODE_STRING,
15681 pub HomeDirectory: super::super::super::Foundation::UNICODE_STRING,
15682 pub HomeDirectoryDrive: super::super::super::Foundation::UNICODE_STRING,
15683 pub LogoffTime: i64,
15684 pub KickOffTime: i64,
15685 pub PasswordLastSet: i64,
15686 pub PasswordCanChange: i64,
15687 pub PasswordMustChange: i64,
15688}
15689#[cfg(feature = "Win32_Foundation")]
15690impl ::core::marker::Copy for SECURITY_LOGON_SESSION_DATA {}
15691#[cfg(feature = "Win32_Foundation")]
15692impl ::core::clone::Clone for SECURITY_LOGON_SESSION_DATA {
15693 fn clone(&self) -> Self {
15694 *self
15695 }
15696}
15697#[cfg(feature = "Win32_Foundation")]
15698impl ::core::fmt::Debug for SECURITY_LOGON_SESSION_DATA {
15699 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15700 f.debug_struct("SECURITY_LOGON_SESSION_DATA")
15701 .field("Size", &self.Size)
15702 .field("LogonId", &self.LogonId)
15703 .field("UserName", &self.UserName)
15704 .field("LogonDomain", &self.LogonDomain)
15705 .field("AuthenticationPackage", &self.AuthenticationPackage)
15706 .field("LogonType", &self.LogonType)
15707 .field("Session", &self.Session)
15708 .field("Sid", &self.Sid)
15709 .field("LogonTime", &self.LogonTime)
15710 .field("LogonServer", &self.LogonServer)
15711 .field("DnsDomainName", &self.DnsDomainName)
15712 .field("Upn", &self.Upn)
15713 .field("UserFlags", &self.UserFlags)
15714 .field("LastLogonInfo", &self.LastLogonInfo)
15715 .field("LogonScript", &self.LogonScript)
15716 .field("ProfilePath", &self.ProfilePath)
15717 .field("HomeDirectory", &self.HomeDirectory)
15718 .field("HomeDirectoryDrive", &self.HomeDirectoryDrive)
15719 .field("LogoffTime", &self.LogoffTime)
15720 .field("KickOffTime", &self.KickOffTime)
15721 .field("PasswordLastSet", &self.PasswordLastSet)
15722 .field("PasswordCanChange", &self.PasswordCanChange)
15723 .field("PasswordMustChange", &self.PasswordMustChange)
15724 .finish()
15725 }
15726}
15727#[cfg(feature = "Win32_Foundation")]
15728impl ::windows::core::TypeKind for SECURITY_LOGON_SESSION_DATA {
15729 type TypeKind = ::windows::core::CopyType;
15730}
15731#[cfg(feature = "Win32_Foundation")]
15732impl ::core::cmp::PartialEq for SECURITY_LOGON_SESSION_DATA {
15733 fn eq(&self, other: &Self) -> bool {
15734 self.Size == other.Size
15735 && self.LogonId == other.LogonId
15736 && self.UserName == other.UserName
15737 && self.LogonDomain == other.LogonDomain
15738 && self.AuthenticationPackage == other.AuthenticationPackage
15739 && self.LogonType == other.LogonType
15740 && self.Session == other.Session
15741 && self.Sid == other.Sid
15742 && self.LogonTime == other.LogonTime
15743 && self.LogonServer == other.LogonServer
15744 && self.DnsDomainName == other.DnsDomainName
15745 && self.Upn == other.Upn
15746 && self.UserFlags == other.UserFlags
15747 && self.LastLogonInfo == other.LastLogonInfo
15748 && self.LogonScript == other.LogonScript
15749 && self.ProfilePath == other.ProfilePath
15750 && self.HomeDirectory == other.HomeDirectory
15751 && self.HomeDirectoryDrive == other.HomeDirectoryDrive
15752 && self.LogoffTime == other.LogoffTime
15753 && self.KickOffTime == other.KickOffTime
15754 && self.PasswordLastSet == other.PasswordLastSet
15755 && self.PasswordCanChange == other.PasswordCanChange
15756 && self.PasswordMustChange == other.PasswordMustChange
15757 }
15758}
15759#[cfg(feature = "Win32_Foundation")]
15760impl ::core::cmp::Eq for SECURITY_LOGON_SESSION_DATA {}
15761#[cfg(feature = "Win32_Foundation")]
15762impl ::core::default::Default for SECURITY_LOGON_SESSION_DATA {
15763 fn default() -> Self {
15764 unsafe { ::core::mem::zeroed() }
15765 }
15766}
15767#[repr(C)]
15768#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
15769pub struct SECURITY_PACKAGE_OPTIONS {
15770 pub Size: u32,
15771 pub Type: SECURITY_PACKAGE_OPTIONS_TYPE,
15772 pub Flags: u32,
15773 pub SignatureSize: u32,
15774 pub Signature: *mut ::core::ffi::c_void,
15775}
15776impl ::core::marker::Copy for SECURITY_PACKAGE_OPTIONS {}
15777impl ::core::clone::Clone for SECURITY_PACKAGE_OPTIONS {
15778 fn clone(&self) -> Self {
15779 *self
15780 }
15781}
15782impl ::core::fmt::Debug for SECURITY_PACKAGE_OPTIONS {
15783 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15784 f.debug_struct("SECURITY_PACKAGE_OPTIONS").field("Size", &self.Size).field("Type", &self.Type).field("Flags", &self.Flags).field("SignatureSize", &self.SignatureSize).field("Signature", &self.Signature).finish()
15785 }
15786}
15787impl ::windows::core::TypeKind for SECURITY_PACKAGE_OPTIONS {
15788 type TypeKind = ::windows::core::CopyType;
15789}
15790impl ::core::cmp::PartialEq for SECURITY_PACKAGE_OPTIONS {
15791 fn eq(&self, other: &Self) -> bool {
15792 self.Size == other.Size && self.Type == other.Type && self.Flags == other.Flags && self.SignatureSize == other.SignatureSize && self.Signature == other.Signature
15793 }
15794}
15795impl ::core::cmp::Eq for SECURITY_PACKAGE_OPTIONS {}
15796impl ::core::default::Default for SECURITY_PACKAGE_OPTIONS {
15797 fn default() -> Self {
15798 unsafe { ::core::mem::zeroed() }
15799 }
15800}
15801#[repr(C)]
15802#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
15803#[cfg(feature = "Win32_Foundation")]
15804pub struct SECURITY_USER_DATA {
15805 pub UserName: super::super::super::Foundation::UNICODE_STRING,
15806 pub LogonDomainName: super::super::super::Foundation::UNICODE_STRING,
15807 pub LogonServer: super::super::super::Foundation::UNICODE_STRING,
15808 pub pSid: super::super::super::Foundation::PSID,
15809}
15810#[cfg(feature = "Win32_Foundation")]
15811impl ::core::marker::Copy for SECURITY_USER_DATA {}
15812#[cfg(feature = "Win32_Foundation")]
15813impl ::core::clone::Clone for SECURITY_USER_DATA {
15814 fn clone(&self) -> Self {
15815 *self
15816 }
15817}
15818#[cfg(feature = "Win32_Foundation")]
15819impl ::core::fmt::Debug for SECURITY_USER_DATA {
15820 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15821 f.debug_struct("SECURITY_USER_DATA").field("UserName", &self.UserName).field("LogonDomainName", &self.LogonDomainName).field("LogonServer", &self.LogonServer).field("pSid", &self.pSid).finish()
15822 }
15823}
15824#[cfg(feature = "Win32_Foundation")]
15825impl ::windows::core::TypeKind for SECURITY_USER_DATA {
15826 type TypeKind = ::windows::core::CopyType;
15827}
15828#[cfg(feature = "Win32_Foundation")]
15829impl ::core::cmp::PartialEq for SECURITY_USER_DATA {
15830 fn eq(&self, other: &Self) -> bool {
15831 self.UserName == other.UserName && self.LogonDomainName == other.LogonDomainName && self.LogonServer == other.LogonServer && self.pSid == other.pSid
15832 }
15833}
15834#[cfg(feature = "Win32_Foundation")]
15835impl ::core::cmp::Eq for SECURITY_USER_DATA {}
15836#[cfg(feature = "Win32_Foundation")]
15837impl ::core::default::Default for SECURITY_USER_DATA {
15838 fn default() -> Self {
15839 unsafe { ::core::mem::zeroed() }
15840 }
15841}
15842#[repr(C)]
15843#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
15844pub struct SEC_APPLICATION_PROTOCOLS {
15845 pub ProtocolListsSize: u32,
15846 pub ProtocolLists: [SEC_APPLICATION_PROTOCOL_LIST; 1],
15847}
15848impl ::core::marker::Copy for SEC_APPLICATION_PROTOCOLS {}
15849impl ::core::clone::Clone for SEC_APPLICATION_PROTOCOLS {
15850 fn clone(&self) -> Self {
15851 *self
15852 }
15853}
15854impl ::core::fmt::Debug for SEC_APPLICATION_PROTOCOLS {
15855 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15856 f.debug_struct("SEC_APPLICATION_PROTOCOLS").field("ProtocolListsSize", &self.ProtocolListsSize).field("ProtocolLists", &self.ProtocolLists).finish()
15857 }
15858}
15859impl ::windows::core::TypeKind for SEC_APPLICATION_PROTOCOLS {
15860 type TypeKind = ::windows::core::CopyType;
15861}
15862impl ::core::cmp::PartialEq for SEC_APPLICATION_PROTOCOLS {
15863 fn eq(&self, other: &Self) -> bool {
15864 self.ProtocolListsSize == other.ProtocolListsSize && self.ProtocolLists == other.ProtocolLists
15865 }
15866}
15867impl ::core::cmp::Eq for SEC_APPLICATION_PROTOCOLS {}
15868impl ::core::default::Default for SEC_APPLICATION_PROTOCOLS {
15869 fn default() -> Self {
15870 unsafe { ::core::mem::zeroed() }
15871 }
15872}
15873#[repr(C)]
15874#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
15875pub struct SEC_APPLICATION_PROTOCOL_LIST {
15876 pub ProtoNegoExt: SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT,
15877 pub ProtocolListSize: u16,
15878 pub ProtocolList: [u8; 1],
15879}
15880impl ::core::marker::Copy for SEC_APPLICATION_PROTOCOL_LIST {}
15881impl ::core::clone::Clone for SEC_APPLICATION_PROTOCOL_LIST {
15882 fn clone(&self) -> Self {
15883 *self
15884 }
15885}
15886impl ::core::fmt::Debug for SEC_APPLICATION_PROTOCOL_LIST {
15887 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15888 f.debug_struct("SEC_APPLICATION_PROTOCOL_LIST").field("ProtoNegoExt", &self.ProtoNegoExt).field("ProtocolListSize", &self.ProtocolListSize).field("ProtocolList", &self.ProtocolList).finish()
15889 }
15890}
15891impl ::windows::core::TypeKind for SEC_APPLICATION_PROTOCOL_LIST {
15892 type TypeKind = ::windows::core::CopyType;
15893}
15894impl ::core::cmp::PartialEq for SEC_APPLICATION_PROTOCOL_LIST {
15895 fn eq(&self, other: &Self) -> bool {
15896 self.ProtoNegoExt == other.ProtoNegoExt && self.ProtocolListSize == other.ProtocolListSize && self.ProtocolList == other.ProtocolList
15897 }
15898}
15899impl ::core::cmp::Eq for SEC_APPLICATION_PROTOCOL_LIST {}
15900impl ::core::default::Default for SEC_APPLICATION_PROTOCOL_LIST {
15901 fn default() -> Self {
15902 unsafe { ::core::mem::zeroed() }
15903 }
15904}
15905#[repr(C)]
15906#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
15907pub struct SEC_CHANNEL_BINDINGS {
15908 pub dwInitiatorAddrType: u32,
15909 pub cbInitiatorLength: u32,
15910 pub dwInitiatorOffset: u32,
15911 pub dwAcceptorAddrType: u32,
15912 pub cbAcceptorLength: u32,
15913 pub dwAcceptorOffset: u32,
15914 pub cbApplicationDataLength: u32,
15915 pub dwApplicationDataOffset: u32,
15916}
15917impl ::core::marker::Copy for SEC_CHANNEL_BINDINGS {}
15918impl ::core::clone::Clone for SEC_CHANNEL_BINDINGS {
15919 fn clone(&self) -> Self {
15920 *self
15921 }
15922}
15923impl ::core::fmt::Debug for SEC_CHANNEL_BINDINGS {
15924 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15925 f.debug_struct("SEC_CHANNEL_BINDINGS")
15926 .field("dwInitiatorAddrType", &self.dwInitiatorAddrType)
15927 .field("cbInitiatorLength", &self.cbInitiatorLength)
15928 .field("dwInitiatorOffset", &self.dwInitiatorOffset)
15929 .field("dwAcceptorAddrType", &self.dwAcceptorAddrType)
15930 .field("cbAcceptorLength", &self.cbAcceptorLength)
15931 .field("dwAcceptorOffset", &self.dwAcceptorOffset)
15932 .field("cbApplicationDataLength", &self.cbApplicationDataLength)
15933 .field("dwApplicationDataOffset", &self.dwApplicationDataOffset)
15934 .finish()
15935 }
15936}
15937impl ::windows::core::TypeKind for SEC_CHANNEL_BINDINGS {
15938 type TypeKind = ::windows::core::CopyType;
15939}
15940impl ::core::cmp::PartialEq for SEC_CHANNEL_BINDINGS {
15941 fn eq(&self, other: &Self) -> bool {
15942 self.dwInitiatorAddrType == other.dwInitiatorAddrType && self.cbInitiatorLength == other.cbInitiatorLength && self.dwInitiatorOffset == other.dwInitiatorOffset && self.dwAcceptorAddrType == other.dwAcceptorAddrType && self.cbAcceptorLength == other.cbAcceptorLength && self.dwAcceptorOffset == other.dwAcceptorOffset && self.cbApplicationDataLength == other.cbApplicationDataLength && self.dwApplicationDataOffset == other.dwApplicationDataOffset
15943 }
15944}
15945impl ::core::cmp::Eq for SEC_CHANNEL_BINDINGS {}
15946impl ::core::default::Default for SEC_CHANNEL_BINDINGS {
15947 fn default() -> Self {
15948 unsafe { ::core::mem::zeroed() }
15949 }
15950}
15951#[repr(C)]
15952#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
15953pub struct SEC_DTLS_MTU {
15954 pub PathMTU: u16,
15955}
15956impl ::core::marker::Copy for SEC_DTLS_MTU {}
15957impl ::core::clone::Clone for SEC_DTLS_MTU {
15958 fn clone(&self) -> Self {
15959 *self
15960 }
15961}
15962impl ::core::fmt::Debug for SEC_DTLS_MTU {
15963 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15964 f.debug_struct("SEC_DTLS_MTU").field("PathMTU", &self.PathMTU).finish()
15965 }
15966}
15967impl ::windows::core::TypeKind for SEC_DTLS_MTU {
15968 type TypeKind = ::windows::core::CopyType;
15969}
15970impl ::core::cmp::PartialEq for SEC_DTLS_MTU {
15971 fn eq(&self, other: &Self) -> bool {
15972 self.PathMTU == other.PathMTU
15973 }
15974}
15975impl ::core::cmp::Eq for SEC_DTLS_MTU {}
15976impl ::core::default::Default for SEC_DTLS_MTU {
15977 fn default() -> Self {
15978 unsafe { ::core::mem::zeroed() }
15979 }
15980}
15981#[repr(C)]
15982#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
15983pub struct SEC_FLAGS {
15984 pub Flags: u64,
15985}
15986impl ::core::marker::Copy for SEC_FLAGS {}
15987impl ::core::clone::Clone for SEC_FLAGS {
15988 fn clone(&self) -> Self {
15989 *self
15990 }
15991}
15992impl ::core::fmt::Debug for SEC_FLAGS {
15993 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15994 f.debug_struct("SEC_FLAGS").field("Flags", &self.Flags).finish()
15995 }
15996}
15997impl ::windows::core::TypeKind for SEC_FLAGS {
15998 type TypeKind = ::windows::core::CopyType;
15999}
16000impl ::core::cmp::PartialEq for SEC_FLAGS {
16001 fn eq(&self, other: &Self) -> bool {
16002 self.Flags == other.Flags
16003 }
16004}
16005impl ::core::cmp::Eq for SEC_FLAGS {}
16006impl ::core::default::Default for SEC_FLAGS {
16007 fn default() -> Self {
16008 unsafe { ::core::mem::zeroed() }
16009 }
16010}
16011#[repr(C)]
16012#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16013pub struct SEC_NEGOTIATION_INFO {
16014 pub Size: u32,
16015 pub NameLength: u32,
16016 pub Name: *mut u16,
16017 pub Reserved: *mut ::core::ffi::c_void,
16018}
16019impl ::core::marker::Copy for SEC_NEGOTIATION_INFO {}
16020impl ::core::clone::Clone for SEC_NEGOTIATION_INFO {
16021 fn clone(&self) -> Self {
16022 *self
16023 }
16024}
16025impl ::core::fmt::Debug for SEC_NEGOTIATION_INFO {
16026 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16027 f.debug_struct("SEC_NEGOTIATION_INFO").field("Size", &self.Size).field("NameLength", &self.NameLength).field("Name", &self.Name).field("Reserved", &self.Reserved).finish()
16028 }
16029}
16030impl ::windows::core::TypeKind for SEC_NEGOTIATION_INFO {
16031 type TypeKind = ::windows::core::CopyType;
16032}
16033impl ::core::cmp::PartialEq for SEC_NEGOTIATION_INFO {
16034 fn eq(&self, other: &Self) -> bool {
16035 self.Size == other.Size && self.NameLength == other.NameLength && self.Name == other.Name && self.Reserved == other.Reserved
16036 }
16037}
16038impl ::core::cmp::Eq for SEC_NEGOTIATION_INFO {}
16039impl ::core::default::Default for SEC_NEGOTIATION_INFO {
16040 fn default() -> Self {
16041 unsafe { ::core::mem::zeroed() }
16042 }
16043}
16044#[repr(C)]
16045#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16046pub struct SEC_PRESHAREDKEY {
16047 pub KeySize: u16,
16048 pub Key: [u8; 1],
16049}
16050impl ::core::marker::Copy for SEC_PRESHAREDKEY {}
16051impl ::core::clone::Clone for SEC_PRESHAREDKEY {
16052 fn clone(&self) -> Self {
16053 *self
16054 }
16055}
16056impl ::core::fmt::Debug for SEC_PRESHAREDKEY {
16057 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16058 f.debug_struct("SEC_PRESHAREDKEY").field("KeySize", &self.KeySize).field("Key", &self.Key).finish()
16059 }
16060}
16061impl ::windows::core::TypeKind for SEC_PRESHAREDKEY {
16062 type TypeKind = ::windows::core::CopyType;
16063}
16064impl ::core::cmp::PartialEq for SEC_PRESHAREDKEY {
16065 fn eq(&self, other: &Self) -> bool {
16066 self.KeySize == other.KeySize && self.Key == other.Key
16067 }
16068}
16069impl ::core::cmp::Eq for SEC_PRESHAREDKEY {}
16070impl ::core::default::Default for SEC_PRESHAREDKEY {
16071 fn default() -> Self {
16072 unsafe { ::core::mem::zeroed() }
16073 }
16074}
16075#[repr(C)]
16076#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16077pub struct SEC_PRESHAREDKEY_IDENTITY {
16078 pub KeyIdentitySize: u16,
16079 pub KeyIdentity: [u8; 1],
16080}
16081impl ::core::marker::Copy for SEC_PRESHAREDKEY_IDENTITY {}
16082impl ::core::clone::Clone for SEC_PRESHAREDKEY_IDENTITY {
16083 fn clone(&self) -> Self {
16084 *self
16085 }
16086}
16087impl ::core::fmt::Debug for SEC_PRESHAREDKEY_IDENTITY {
16088 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16089 f.debug_struct("SEC_PRESHAREDKEY_IDENTITY").field("KeyIdentitySize", &self.KeyIdentitySize).field("KeyIdentity", &self.KeyIdentity).finish()
16090 }
16091}
16092impl ::windows::core::TypeKind for SEC_PRESHAREDKEY_IDENTITY {
16093 type TypeKind = ::windows::core::CopyType;
16094}
16095impl ::core::cmp::PartialEq for SEC_PRESHAREDKEY_IDENTITY {
16096 fn eq(&self, other: &Self) -> bool {
16097 self.KeyIdentitySize == other.KeyIdentitySize && self.KeyIdentity == other.KeyIdentity
16098 }
16099}
16100impl ::core::cmp::Eq for SEC_PRESHAREDKEY_IDENTITY {}
16101impl ::core::default::Default for SEC_PRESHAREDKEY_IDENTITY {
16102 fn default() -> Self {
16103 unsafe { ::core::mem::zeroed() }
16104 }
16105}
16106#[repr(C)]
16107#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16108pub struct SEC_SRTP_MASTER_KEY_IDENTIFIER {
16109 pub MasterKeyIdentifierSize: u8,
16110 pub MasterKeyIdentifier: [u8; 1],
16111}
16112impl ::core::marker::Copy for SEC_SRTP_MASTER_KEY_IDENTIFIER {}
16113impl ::core::clone::Clone for SEC_SRTP_MASTER_KEY_IDENTIFIER {
16114 fn clone(&self) -> Self {
16115 *self
16116 }
16117}
16118impl ::core::fmt::Debug for SEC_SRTP_MASTER_KEY_IDENTIFIER {
16119 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16120 f.debug_struct("SEC_SRTP_MASTER_KEY_IDENTIFIER").field("MasterKeyIdentifierSize", &self.MasterKeyIdentifierSize).field("MasterKeyIdentifier", &self.MasterKeyIdentifier).finish()
16121 }
16122}
16123impl ::windows::core::TypeKind for SEC_SRTP_MASTER_KEY_IDENTIFIER {
16124 type TypeKind = ::windows::core::CopyType;
16125}
16126impl ::core::cmp::PartialEq for SEC_SRTP_MASTER_KEY_IDENTIFIER {
16127 fn eq(&self, other: &Self) -> bool {
16128 self.MasterKeyIdentifierSize == other.MasterKeyIdentifierSize && self.MasterKeyIdentifier == other.MasterKeyIdentifier
16129 }
16130}
16131impl ::core::cmp::Eq for SEC_SRTP_MASTER_KEY_IDENTIFIER {}
16132impl ::core::default::Default for SEC_SRTP_MASTER_KEY_IDENTIFIER {
16133 fn default() -> Self {
16134 unsafe { ::core::mem::zeroed() }
16135 }
16136}
16137#[repr(C)]
16138#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16139pub struct SEC_SRTP_PROTECTION_PROFILES {
16140 pub ProfilesSize: u16,
16141 pub ProfilesList: [u16; 1],
16142}
16143impl ::core::marker::Copy for SEC_SRTP_PROTECTION_PROFILES {}
16144impl ::core::clone::Clone for SEC_SRTP_PROTECTION_PROFILES {
16145 fn clone(&self) -> Self {
16146 *self
16147 }
16148}
16149impl ::core::fmt::Debug for SEC_SRTP_PROTECTION_PROFILES {
16150 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16151 f.debug_struct("SEC_SRTP_PROTECTION_PROFILES").field("ProfilesSize", &self.ProfilesSize).field("ProfilesList", &self.ProfilesList).finish()
16152 }
16153}
16154impl ::windows::core::TypeKind for SEC_SRTP_PROTECTION_PROFILES {
16155 type TypeKind = ::windows::core::CopyType;
16156}
16157impl ::core::cmp::PartialEq for SEC_SRTP_PROTECTION_PROFILES {
16158 fn eq(&self, other: &Self) -> bool {
16159 self.ProfilesSize == other.ProfilesSize && self.ProfilesList == other.ProfilesList
16160 }
16161}
16162impl ::core::cmp::Eq for SEC_SRTP_PROTECTION_PROFILES {}
16163impl ::core::default::Default for SEC_SRTP_PROTECTION_PROFILES {
16164 fn default() -> Self {
16165 unsafe { ::core::mem::zeroed() }
16166 }
16167}
16168#[repr(C)]
16169#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16170pub struct SEC_TOKEN_BINDING {
16171 pub MajorVersion: u8,
16172 pub MinorVersion: u8,
16173 pub KeyParametersSize: u16,
16174 pub KeyParameters: [u8; 1],
16175}
16176impl ::core::marker::Copy for SEC_TOKEN_BINDING {}
16177impl ::core::clone::Clone for SEC_TOKEN_BINDING {
16178 fn clone(&self) -> Self {
16179 *self
16180 }
16181}
16182impl ::core::fmt::Debug for SEC_TOKEN_BINDING {
16183 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16184 f.debug_struct("SEC_TOKEN_BINDING").field("MajorVersion", &self.MajorVersion).field("MinorVersion", &self.MinorVersion).field("KeyParametersSize", &self.KeyParametersSize).field("KeyParameters", &self.KeyParameters).finish()
16185 }
16186}
16187impl ::windows::core::TypeKind for SEC_TOKEN_BINDING {
16188 type TypeKind = ::windows::core::CopyType;
16189}
16190impl ::core::cmp::PartialEq for SEC_TOKEN_BINDING {
16191 fn eq(&self, other: &Self) -> bool {
16192 self.MajorVersion == other.MajorVersion && self.MinorVersion == other.MinorVersion && self.KeyParametersSize == other.KeyParametersSize && self.KeyParameters == other.KeyParameters
16193 }
16194}
16195impl ::core::cmp::Eq for SEC_TOKEN_BINDING {}
16196impl ::core::default::Default for SEC_TOKEN_BINDING {
16197 fn default() -> Self {
16198 unsafe { ::core::mem::zeroed() }
16199 }
16200}
16201#[repr(C)]
16202#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16203pub struct SEC_TRAFFIC_SECRETS {
16204 pub SymmetricAlgId: [u16; 64],
16205 pub ChainingMode: [u16; 64],
16206 pub HashAlgId: [u16; 64],
16207 pub KeySize: u16,
16208 pub IvSize: u16,
16209 pub MsgSequenceStart: u16,
16210 pub MsgSequenceEnd: u16,
16211 pub TrafficSecretType: SEC_TRAFFIC_SECRET_TYPE,
16212 pub TrafficSecretSize: u16,
16213 pub TrafficSecret: [u8; 1],
16214}
16215impl ::core::marker::Copy for SEC_TRAFFIC_SECRETS {}
16216impl ::core::clone::Clone for SEC_TRAFFIC_SECRETS {
16217 fn clone(&self) -> Self {
16218 *self
16219 }
16220}
16221impl ::core::fmt::Debug for SEC_TRAFFIC_SECRETS {
16222 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16223 f.debug_struct("SEC_TRAFFIC_SECRETS").field("SymmetricAlgId", &self.SymmetricAlgId).field("ChainingMode", &self.ChainingMode).field("HashAlgId", &self.HashAlgId).field("KeySize", &self.KeySize).field("IvSize", &self.IvSize).field("MsgSequenceStart", &self.MsgSequenceStart).field("MsgSequenceEnd", &self.MsgSequenceEnd).field("TrafficSecretType", &self.TrafficSecretType).field("TrafficSecretSize", &self.TrafficSecretSize).field("TrafficSecret", &self.TrafficSecret).finish()
16224 }
16225}
16226impl ::windows::core::TypeKind for SEC_TRAFFIC_SECRETS {
16227 type TypeKind = ::windows::core::CopyType;
16228}
16229impl ::core::cmp::PartialEq for SEC_TRAFFIC_SECRETS {
16230 fn eq(&self, other: &Self) -> bool {
16231 self.SymmetricAlgId == other.SymmetricAlgId && self.ChainingMode == other.ChainingMode && self.HashAlgId == other.HashAlgId && self.KeySize == other.KeySize && self.IvSize == other.IvSize && self.MsgSequenceStart == other.MsgSequenceStart && self.MsgSequenceEnd == other.MsgSequenceEnd && self.TrafficSecretType == other.TrafficSecretType && self.TrafficSecretSize == other.TrafficSecretSize && self.TrafficSecret == other.TrafficSecret
16232 }
16233}
16234impl ::core::cmp::Eq for SEC_TRAFFIC_SECRETS {}
16235impl ::core::default::Default for SEC_TRAFFIC_SECRETS {
16236 fn default() -> Self {
16237 unsafe { ::core::mem::zeroed() }
16238 }
16239}
16240#[repr(C)]
16241#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16242pub struct SEC_WINNT_AUTH_IDENTITY32 {
16243 pub User: u32,
16244 pub UserLength: u32,
16245 pub Domain: u32,
16246 pub DomainLength: u32,
16247 pub Password: u32,
16248 pub PasswordLength: u32,
16249 pub Flags: u32,
16250}
16251impl ::core::marker::Copy for SEC_WINNT_AUTH_IDENTITY32 {}
16252impl ::core::clone::Clone for SEC_WINNT_AUTH_IDENTITY32 {
16253 fn clone(&self) -> Self {
16254 *self
16255 }
16256}
16257impl ::core::fmt::Debug for SEC_WINNT_AUTH_IDENTITY32 {
16258 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16259 f.debug_struct("SEC_WINNT_AUTH_IDENTITY32").field("User", &self.User).field("UserLength", &self.UserLength).field("Domain", &self.Domain).field("DomainLength", &self.DomainLength).field("Password", &self.Password).field("PasswordLength", &self.PasswordLength).field("Flags", &self.Flags).finish()
16260 }
16261}
16262impl ::windows::core::TypeKind for SEC_WINNT_AUTH_IDENTITY32 {
16263 type TypeKind = ::windows::core::CopyType;
16264}
16265impl ::core::cmp::PartialEq for SEC_WINNT_AUTH_IDENTITY32 {
16266 fn eq(&self, other: &Self) -> bool {
16267 self.User == other.User && self.UserLength == other.UserLength && self.Domain == other.Domain && self.DomainLength == other.DomainLength && self.Password == other.Password && self.PasswordLength == other.PasswordLength && self.Flags == other.Flags
16268 }
16269}
16270impl ::core::cmp::Eq for SEC_WINNT_AUTH_IDENTITY32 {}
16271impl ::core::default::Default for SEC_WINNT_AUTH_IDENTITY32 {
16272 fn default() -> Self {
16273 unsafe { ::core::mem::zeroed() }
16274 }
16275}
16276#[repr(C)]
16277#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16278pub struct SEC_WINNT_AUTH_IDENTITY_EX2 {
16279 pub Version: u32,
16280 pub cbHeaderLength: u16,
16281 pub cbStructureLength: u32,
16282 pub UserOffset: u32,
16283 pub UserLength: u16,
16284 pub DomainOffset: u32,
16285 pub DomainLength: u16,
16286 pub PackedCredentialsOffset: u32,
16287 pub PackedCredentialsLength: u16,
16288 pub Flags: u32,
16289 pub PackageListOffset: u32,
16290 pub PackageListLength: u16,
16291}
16292impl ::core::marker::Copy for SEC_WINNT_AUTH_IDENTITY_EX2 {}
16293impl ::core::clone::Clone for SEC_WINNT_AUTH_IDENTITY_EX2 {
16294 fn clone(&self) -> Self {
16295 *self
16296 }
16297}
16298impl ::core::fmt::Debug for SEC_WINNT_AUTH_IDENTITY_EX2 {
16299 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16300 f.debug_struct("SEC_WINNT_AUTH_IDENTITY_EX2")
16301 .field("Version", &self.Version)
16302 .field("cbHeaderLength", &self.cbHeaderLength)
16303 .field("cbStructureLength", &self.cbStructureLength)
16304 .field("UserOffset", &self.UserOffset)
16305 .field("UserLength", &self.UserLength)
16306 .field("DomainOffset", &self.DomainOffset)
16307 .field("DomainLength", &self.DomainLength)
16308 .field("PackedCredentialsOffset", &self.PackedCredentialsOffset)
16309 .field("PackedCredentialsLength", &self.PackedCredentialsLength)
16310 .field("Flags", &self.Flags)
16311 .field("PackageListOffset", &self.PackageListOffset)
16312 .field("PackageListLength", &self.PackageListLength)
16313 .finish()
16314 }
16315}
16316impl ::windows::core::TypeKind for SEC_WINNT_AUTH_IDENTITY_EX2 {
16317 type TypeKind = ::windows::core::CopyType;
16318}
16319impl ::core::cmp::PartialEq for SEC_WINNT_AUTH_IDENTITY_EX2 {
16320 fn eq(&self, other: &Self) -> bool {
16321 self.Version == other.Version && self.cbHeaderLength == other.cbHeaderLength && self.cbStructureLength == other.cbStructureLength && self.UserOffset == other.UserOffset && self.UserLength == other.UserLength && self.DomainOffset == other.DomainOffset && self.DomainLength == other.DomainLength && self.PackedCredentialsOffset == other.PackedCredentialsOffset && self.PackedCredentialsLength == other.PackedCredentialsLength && self.Flags == other.Flags && self.PackageListOffset == other.PackageListOffset && self.PackageListLength == other.PackageListLength
16322 }
16323}
16324impl ::core::cmp::Eq for SEC_WINNT_AUTH_IDENTITY_EX2 {}
16325impl ::core::default::Default for SEC_WINNT_AUTH_IDENTITY_EX2 {
16326 fn default() -> Self {
16327 unsafe { ::core::mem::zeroed() }
16328 }
16329}
16330#[repr(C)]
16331#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16332pub struct SEC_WINNT_AUTH_IDENTITY_EX32 {
16333 pub Version: u32,
16334 pub Length: u32,
16335 pub User: u32,
16336 pub UserLength: u32,
16337 pub Domain: u32,
16338 pub DomainLength: u32,
16339 pub Password: u32,
16340 pub PasswordLength: u32,
16341 pub Flags: u32,
16342 pub PackageList: u32,
16343 pub PackageListLength: u32,
16344}
16345impl ::core::marker::Copy for SEC_WINNT_AUTH_IDENTITY_EX32 {}
16346impl ::core::clone::Clone for SEC_WINNT_AUTH_IDENTITY_EX32 {
16347 fn clone(&self) -> Self {
16348 *self
16349 }
16350}
16351impl ::core::fmt::Debug for SEC_WINNT_AUTH_IDENTITY_EX32 {
16352 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16353 f.debug_struct("SEC_WINNT_AUTH_IDENTITY_EX32").field("Version", &self.Version).field("Length", &self.Length).field("User", &self.User).field("UserLength", &self.UserLength).field("Domain", &self.Domain).field("DomainLength", &self.DomainLength).field("Password", &self.Password).field("PasswordLength", &self.PasswordLength).field("Flags", &self.Flags).field("PackageList", &self.PackageList).field("PackageListLength", &self.PackageListLength).finish()
16354 }
16355}
16356impl ::windows::core::TypeKind for SEC_WINNT_AUTH_IDENTITY_EX32 {
16357 type TypeKind = ::windows::core::CopyType;
16358}
16359impl ::core::cmp::PartialEq for SEC_WINNT_AUTH_IDENTITY_EX32 {
16360 fn eq(&self, other: &Self) -> bool {
16361 self.Version == other.Version && self.Length == other.Length && self.User == other.User && self.UserLength == other.UserLength && self.Domain == other.Domain && self.DomainLength == other.DomainLength && self.Password == other.Password && self.PasswordLength == other.PasswordLength && self.Flags == other.Flags && self.PackageList == other.PackageList && self.PackageListLength == other.PackageListLength
16362 }
16363}
16364impl ::core::cmp::Eq for SEC_WINNT_AUTH_IDENTITY_EX32 {}
16365impl ::core::default::Default for SEC_WINNT_AUTH_IDENTITY_EX32 {
16366 fn default() -> Self {
16367 unsafe { ::core::mem::zeroed() }
16368 }
16369}
16370#[repr(C)]
16371#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16372pub struct SEC_WINNT_AUTH_IDENTITY_EXA {
16373 pub Version: u32,
16374 pub Length: u32,
16375 pub User: *mut u8,
16376 pub UserLength: u32,
16377 pub Domain: *mut u8,
16378 pub DomainLength: u32,
16379 pub Password: *mut u8,
16380 pub PasswordLength: u32,
16381 pub Flags: u32,
16382 pub PackageList: *mut u8,
16383 pub PackageListLength: u32,
16384}
16385impl ::core::marker::Copy for SEC_WINNT_AUTH_IDENTITY_EXA {}
16386impl ::core::clone::Clone for SEC_WINNT_AUTH_IDENTITY_EXA {
16387 fn clone(&self) -> Self {
16388 *self
16389 }
16390}
16391impl ::core::fmt::Debug for SEC_WINNT_AUTH_IDENTITY_EXA {
16392 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16393 f.debug_struct("SEC_WINNT_AUTH_IDENTITY_EXA").field("Version", &self.Version).field("Length", &self.Length).field("User", &self.User).field("UserLength", &self.UserLength).field("Domain", &self.Domain).field("DomainLength", &self.DomainLength).field("Password", &self.Password).field("PasswordLength", &self.PasswordLength).field("Flags", &self.Flags).field("PackageList", &self.PackageList).field("PackageListLength", &self.PackageListLength).finish()
16394 }
16395}
16396impl ::windows::core::TypeKind for SEC_WINNT_AUTH_IDENTITY_EXA {
16397 type TypeKind = ::windows::core::CopyType;
16398}
16399impl ::core::cmp::PartialEq for SEC_WINNT_AUTH_IDENTITY_EXA {
16400 fn eq(&self, other: &Self) -> bool {
16401 self.Version == other.Version && self.Length == other.Length && self.User == other.User && self.UserLength == other.UserLength && self.Domain == other.Domain && self.DomainLength == other.DomainLength && self.Password == other.Password && self.PasswordLength == other.PasswordLength && self.Flags == other.Flags && self.PackageList == other.PackageList && self.PackageListLength == other.PackageListLength
16402 }
16403}
16404impl ::core::cmp::Eq for SEC_WINNT_AUTH_IDENTITY_EXA {}
16405impl ::core::default::Default for SEC_WINNT_AUTH_IDENTITY_EXA {
16406 fn default() -> Self {
16407 unsafe { ::core::mem::zeroed() }
16408 }
16409}
16410#[repr(C)]
16411#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16412pub struct SEC_WINNT_AUTH_IDENTITY_EXW {
16413 pub Version: u32,
16414 pub Length: u32,
16415 pub User: *mut u16,
16416 pub UserLength: u32,
16417 pub Domain: *mut u16,
16418 pub DomainLength: u32,
16419 pub Password: *mut u16,
16420 pub PasswordLength: u32,
16421 pub Flags: u32,
16422 pub PackageList: *mut u16,
16423 pub PackageListLength: u32,
16424}
16425impl ::core::marker::Copy for SEC_WINNT_AUTH_IDENTITY_EXW {}
16426impl ::core::clone::Clone for SEC_WINNT_AUTH_IDENTITY_EXW {
16427 fn clone(&self) -> Self {
16428 *self
16429 }
16430}
16431impl ::core::fmt::Debug for SEC_WINNT_AUTH_IDENTITY_EXW {
16432 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16433 f.debug_struct("SEC_WINNT_AUTH_IDENTITY_EXW").field("Version", &self.Version).field("Length", &self.Length).field("User", &self.User).field("UserLength", &self.UserLength).field("Domain", &self.Domain).field("DomainLength", &self.DomainLength).field("Password", &self.Password).field("PasswordLength", &self.PasswordLength).field("Flags", &self.Flags).field("PackageList", &self.PackageList).field("PackageListLength", &self.PackageListLength).finish()
16434 }
16435}
16436impl ::windows::core::TypeKind for SEC_WINNT_AUTH_IDENTITY_EXW {
16437 type TypeKind = ::windows::core::CopyType;
16438}
16439impl ::core::cmp::PartialEq for SEC_WINNT_AUTH_IDENTITY_EXW {
16440 fn eq(&self, other: &Self) -> bool {
16441 self.Version == other.Version && self.Length == other.Length && self.User == other.User && self.UserLength == other.UserLength && self.Domain == other.Domain && self.DomainLength == other.DomainLength && self.Password == other.Password && self.PasswordLength == other.PasswordLength && self.Flags == other.Flags && self.PackageList == other.PackageList && self.PackageListLength == other.PackageListLength
16442 }
16443}
16444impl ::core::cmp::Eq for SEC_WINNT_AUTH_IDENTITY_EXW {}
16445impl ::core::default::Default for SEC_WINNT_AUTH_IDENTITY_EXW {
16446 fn default() -> Self {
16447 unsafe { ::core::mem::zeroed() }
16448 }
16449}
16450#[repr(C)]
16451#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_System_Rpc\"`*"]
16452#[cfg(feature = "Win32_System_Rpc")]
16453pub union SEC_WINNT_AUTH_IDENTITY_INFO {
16454 pub AuthIdExw: SEC_WINNT_AUTH_IDENTITY_EXW,
16455 pub AuthIdExa: SEC_WINNT_AUTH_IDENTITY_EXA,
16456 pub AuthId_a: super::super::super::System::Rpc::SEC_WINNT_AUTH_IDENTITY_A,
16457 pub AuthId_w: super::super::super::System::Rpc::SEC_WINNT_AUTH_IDENTITY_W,
16458 pub AuthIdEx2: SEC_WINNT_AUTH_IDENTITY_EX2,
16459}
16460#[cfg(feature = "Win32_System_Rpc")]
16461impl ::core::marker::Copy for SEC_WINNT_AUTH_IDENTITY_INFO {}
16462#[cfg(feature = "Win32_System_Rpc")]
16463impl ::core::clone::Clone for SEC_WINNT_AUTH_IDENTITY_INFO {
16464 fn clone(&self) -> Self {
16465 *self
16466 }
16467}
16468#[cfg(feature = "Win32_System_Rpc")]
16469impl ::windows::core::TypeKind for SEC_WINNT_AUTH_IDENTITY_INFO {
16470 type TypeKind = ::windows::core::CopyType;
16471}
16472#[cfg(feature = "Win32_System_Rpc")]
16473impl ::core::default::Default for SEC_WINNT_AUTH_IDENTITY_INFO {
16474 fn default() -> Self {
16475 unsafe { ::core::mem::zeroed() }
16476 }
16477}
16478#[repr(C)]
16479#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16480pub struct SEND_GENERIC_TLS_EXTENSION {
16481 pub ExtensionType: u16,
16482 pub HandshakeType: u16,
16483 pub Flags: u32,
16484 pub BufferSize: u16,
16485 pub Buffer: [u8; 1],
16486}
16487impl ::core::marker::Copy for SEND_GENERIC_TLS_EXTENSION {}
16488impl ::core::clone::Clone for SEND_GENERIC_TLS_EXTENSION {
16489 fn clone(&self) -> Self {
16490 *self
16491 }
16492}
16493impl ::core::fmt::Debug for SEND_GENERIC_TLS_EXTENSION {
16494 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16495 f.debug_struct("SEND_GENERIC_TLS_EXTENSION").field("ExtensionType", &self.ExtensionType).field("HandshakeType", &self.HandshakeType).field("Flags", &self.Flags).field("BufferSize", &self.BufferSize).field("Buffer", &self.Buffer).finish()
16496 }
16497}
16498impl ::windows::core::TypeKind for SEND_GENERIC_TLS_EXTENSION {
16499 type TypeKind = ::windows::core::CopyType;
16500}
16501impl ::core::cmp::PartialEq for SEND_GENERIC_TLS_EXTENSION {
16502 fn eq(&self, other: &Self) -> bool {
16503 self.ExtensionType == other.ExtensionType && self.HandshakeType == other.HandshakeType && self.Flags == other.Flags && self.BufferSize == other.BufferSize && self.Buffer == other.Buffer
16504 }
16505}
16506impl ::core::cmp::Eq for SEND_GENERIC_TLS_EXTENSION {}
16507impl ::core::default::Default for SEND_GENERIC_TLS_EXTENSION {
16508 fn default() -> Self {
16509 unsafe { ::core::mem::zeroed() }
16510 }
16511}
16512#[repr(C)]
16513#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16514pub struct SE_ADT_ACCESS_REASON {
16515 pub AccessMask: u32,
16516 pub AccessReasons: [u32; 32],
16517 pub ObjectTypeIndex: u32,
16518 pub AccessGranted: u32,
16519 pub SecurityDescriptor: super::super::PSECURITY_DESCRIPTOR,
16520}
16521impl ::core::marker::Copy for SE_ADT_ACCESS_REASON {}
16522impl ::core::clone::Clone for SE_ADT_ACCESS_REASON {
16523 fn clone(&self) -> Self {
16524 *self
16525 }
16526}
16527impl ::core::fmt::Debug for SE_ADT_ACCESS_REASON {
16528 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16529 f.debug_struct("SE_ADT_ACCESS_REASON").field("AccessMask", &self.AccessMask).field("AccessReasons", &self.AccessReasons).field("ObjectTypeIndex", &self.ObjectTypeIndex).field("AccessGranted", &self.AccessGranted).field("SecurityDescriptor", &self.SecurityDescriptor).finish()
16530 }
16531}
16532impl ::windows::core::TypeKind for SE_ADT_ACCESS_REASON {
16533 type TypeKind = ::windows::core::CopyType;
16534}
16535impl ::core::cmp::PartialEq for SE_ADT_ACCESS_REASON {
16536 fn eq(&self, other: &Self) -> bool {
16537 self.AccessMask == other.AccessMask && self.AccessReasons == other.AccessReasons && self.ObjectTypeIndex == other.ObjectTypeIndex && self.AccessGranted == other.AccessGranted && self.SecurityDescriptor == other.SecurityDescriptor
16538 }
16539}
16540impl ::core::cmp::Eq for SE_ADT_ACCESS_REASON {}
16541impl ::core::default::Default for SE_ADT_ACCESS_REASON {
16542 fn default() -> Self {
16543 unsafe { ::core::mem::zeroed() }
16544 }
16545}
16546#[repr(C)]
16547#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16548pub struct SE_ADT_CLAIMS {
16549 pub Length: u32,
16550 pub Claims: *mut ::core::ffi::c_void,
16551}
16552impl ::core::marker::Copy for SE_ADT_CLAIMS {}
16553impl ::core::clone::Clone for SE_ADT_CLAIMS {
16554 fn clone(&self) -> Self {
16555 *self
16556 }
16557}
16558impl ::core::fmt::Debug for SE_ADT_CLAIMS {
16559 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16560 f.debug_struct("SE_ADT_CLAIMS").field("Length", &self.Length).field("Claims", &self.Claims).finish()
16561 }
16562}
16563impl ::windows::core::TypeKind for SE_ADT_CLAIMS {
16564 type TypeKind = ::windows::core::CopyType;
16565}
16566impl ::core::cmp::PartialEq for SE_ADT_CLAIMS {
16567 fn eq(&self, other: &Self) -> bool {
16568 self.Length == other.Length && self.Claims == other.Claims
16569 }
16570}
16571impl ::core::cmp::Eq for SE_ADT_CLAIMS {}
16572impl ::core::default::Default for SE_ADT_CLAIMS {
16573 fn default() -> Self {
16574 unsafe { ::core::mem::zeroed() }
16575 }
16576}
16577#[repr(C)]
16578#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16579pub struct SE_ADT_OBJECT_TYPE {
16580 pub ObjectType: ::windows::core::GUID,
16581 pub Flags: u16,
16582 pub Level: u16,
16583 pub AccessMask: u32,
16584}
16585impl ::core::marker::Copy for SE_ADT_OBJECT_TYPE {}
16586impl ::core::clone::Clone for SE_ADT_OBJECT_TYPE {
16587 fn clone(&self) -> Self {
16588 *self
16589 }
16590}
16591impl ::core::fmt::Debug for SE_ADT_OBJECT_TYPE {
16592 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16593 f.debug_struct("SE_ADT_OBJECT_TYPE").field("ObjectType", &self.ObjectType).field("Flags", &self.Flags).field("Level", &self.Level).field("AccessMask", &self.AccessMask).finish()
16594 }
16595}
16596impl ::windows::core::TypeKind for SE_ADT_OBJECT_TYPE {
16597 type TypeKind = ::windows::core::CopyType;
16598}
16599impl ::core::cmp::PartialEq for SE_ADT_OBJECT_TYPE {
16600 fn eq(&self, other: &Self) -> bool {
16601 self.ObjectType == other.ObjectType && self.Flags == other.Flags && self.Level == other.Level && self.AccessMask == other.AccessMask
16602 }
16603}
16604impl ::core::cmp::Eq for SE_ADT_OBJECT_TYPE {}
16605impl ::core::default::Default for SE_ADT_OBJECT_TYPE {
16606 fn default() -> Self {
16607 unsafe { ::core::mem::zeroed() }
16608 }
16609}
16610#[repr(C)]
16611#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16612pub struct SE_ADT_PARAMETER_ARRAY {
16613 pub CategoryId: u32,
16614 pub AuditId: u32,
16615 pub ParameterCount: u32,
16616 pub Length: u32,
16617 pub FlatSubCategoryId: u16,
16618 pub Type: u16,
16619 pub Flags: u32,
16620 pub Parameters: [SE_ADT_PARAMETER_ARRAY_ENTRY; 32],
16621}
16622impl ::core::marker::Copy for SE_ADT_PARAMETER_ARRAY {}
16623impl ::core::clone::Clone for SE_ADT_PARAMETER_ARRAY {
16624 fn clone(&self) -> Self {
16625 *self
16626 }
16627}
16628impl ::core::fmt::Debug for SE_ADT_PARAMETER_ARRAY {
16629 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16630 f.debug_struct("SE_ADT_PARAMETER_ARRAY").field("CategoryId", &self.CategoryId).field("AuditId", &self.AuditId).field("ParameterCount", &self.ParameterCount).field("Length", &self.Length).field("FlatSubCategoryId", &self.FlatSubCategoryId).field("Type", &self.Type).field("Flags", &self.Flags).field("Parameters", &self.Parameters).finish()
16631 }
16632}
16633impl ::windows::core::TypeKind for SE_ADT_PARAMETER_ARRAY {
16634 type TypeKind = ::windows::core::CopyType;
16635}
16636impl ::core::cmp::PartialEq for SE_ADT_PARAMETER_ARRAY {
16637 fn eq(&self, other: &Self) -> bool {
16638 self.CategoryId == other.CategoryId && self.AuditId == other.AuditId && self.ParameterCount == other.ParameterCount && self.Length == other.Length && self.FlatSubCategoryId == other.FlatSubCategoryId && self.Type == other.Type && self.Flags == other.Flags && self.Parameters == other.Parameters
16639 }
16640}
16641impl ::core::cmp::Eq for SE_ADT_PARAMETER_ARRAY {}
16642impl ::core::default::Default for SE_ADT_PARAMETER_ARRAY {
16643 fn default() -> Self {
16644 unsafe { ::core::mem::zeroed() }
16645 }
16646}
16647#[repr(C)]
16648#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16649pub struct SE_ADT_PARAMETER_ARRAY_ENTRY {
16650 pub Type: SE_ADT_PARAMETER_TYPE,
16651 pub Length: u32,
16652 pub Data: [usize; 2],
16653 pub Address: *mut ::core::ffi::c_void,
16654}
16655impl ::core::marker::Copy for SE_ADT_PARAMETER_ARRAY_ENTRY {}
16656impl ::core::clone::Clone for SE_ADT_PARAMETER_ARRAY_ENTRY {
16657 fn clone(&self) -> Self {
16658 *self
16659 }
16660}
16661impl ::core::fmt::Debug for SE_ADT_PARAMETER_ARRAY_ENTRY {
16662 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16663 f.debug_struct("SE_ADT_PARAMETER_ARRAY_ENTRY").field("Type", &self.Type).field("Length", &self.Length).field("Data", &self.Data).field("Address", &self.Address).finish()
16664 }
16665}
16666impl ::windows::core::TypeKind for SE_ADT_PARAMETER_ARRAY_ENTRY {
16667 type TypeKind = ::windows::core::CopyType;
16668}
16669impl ::core::cmp::PartialEq for SE_ADT_PARAMETER_ARRAY_ENTRY {
16670 fn eq(&self, other: &Self) -> bool {
16671 self.Type == other.Type && self.Length == other.Length && self.Data == other.Data && self.Address == other.Address
16672 }
16673}
16674impl ::core::cmp::Eq for SE_ADT_PARAMETER_ARRAY_ENTRY {}
16675impl ::core::default::Default for SE_ADT_PARAMETER_ARRAY_ENTRY {
16676 fn default() -> Self {
16677 unsafe { ::core::mem::zeroed() }
16678 }
16679}
16680#[repr(C)]
16681#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16682pub struct SE_ADT_PARAMETER_ARRAY_EX {
16683 pub CategoryId: u32,
16684 pub AuditId: u32,
16685 pub Version: u32,
16686 pub ParameterCount: u32,
16687 pub Length: u32,
16688 pub FlatSubCategoryId: u16,
16689 pub Type: u16,
16690 pub Flags: u32,
16691 pub Parameters: [SE_ADT_PARAMETER_ARRAY_ENTRY; 32],
16692}
16693impl ::core::marker::Copy for SE_ADT_PARAMETER_ARRAY_EX {}
16694impl ::core::clone::Clone for SE_ADT_PARAMETER_ARRAY_EX {
16695 fn clone(&self) -> Self {
16696 *self
16697 }
16698}
16699impl ::core::fmt::Debug for SE_ADT_PARAMETER_ARRAY_EX {
16700 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16701 f.debug_struct("SE_ADT_PARAMETER_ARRAY_EX").field("CategoryId", &self.CategoryId).field("AuditId", &self.AuditId).field("Version", &self.Version).field("ParameterCount", &self.ParameterCount).field("Length", &self.Length).field("FlatSubCategoryId", &self.FlatSubCategoryId).field("Type", &self.Type).field("Flags", &self.Flags).field("Parameters", &self.Parameters).finish()
16702 }
16703}
16704impl ::windows::core::TypeKind for SE_ADT_PARAMETER_ARRAY_EX {
16705 type TypeKind = ::windows::core::CopyType;
16706}
16707impl ::core::cmp::PartialEq for SE_ADT_PARAMETER_ARRAY_EX {
16708 fn eq(&self, other: &Self) -> bool {
16709 self.CategoryId == other.CategoryId && self.AuditId == other.AuditId && self.Version == other.Version && self.ParameterCount == other.ParameterCount && self.Length == other.Length && self.FlatSubCategoryId == other.FlatSubCategoryId && self.Type == other.Type && self.Flags == other.Flags && self.Parameters == other.Parameters
16710 }
16711}
16712impl ::core::cmp::Eq for SE_ADT_PARAMETER_ARRAY_EX {}
16713impl ::core::default::Default for SE_ADT_PARAMETER_ARRAY_EX {
16714 fn default() -> Self {
16715 unsafe { ::core::mem::zeroed() }
16716 }
16717}
16718#[repr(C)]
16719#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16720pub struct SL_ACTIVATION_INFO_HEADER {
16721 pub cbSize: u32,
16722 pub r#type: SL_ACTIVATION_TYPE,
16723}
16724impl ::core::marker::Copy for SL_ACTIVATION_INFO_HEADER {}
16725impl ::core::clone::Clone for SL_ACTIVATION_INFO_HEADER {
16726 fn clone(&self) -> Self {
16727 *self
16728 }
16729}
16730impl ::core::fmt::Debug for SL_ACTIVATION_INFO_HEADER {
16731 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16732 f.debug_struct("SL_ACTIVATION_INFO_HEADER").field("cbSize", &self.cbSize).field("type", &self.r#type).finish()
16733 }
16734}
16735impl ::windows::core::TypeKind for SL_ACTIVATION_INFO_HEADER {
16736 type TypeKind = ::windows::core::CopyType;
16737}
16738impl ::core::cmp::PartialEq for SL_ACTIVATION_INFO_HEADER {
16739 fn eq(&self, other: &Self) -> bool {
16740 self.cbSize == other.cbSize && self.r#type == other.r#type
16741 }
16742}
16743impl ::core::cmp::Eq for SL_ACTIVATION_INFO_HEADER {}
16744impl ::core::default::Default for SL_ACTIVATION_INFO_HEADER {
16745 fn default() -> Self {
16746 unsafe { ::core::mem::zeroed() }
16747 }
16748}
16749#[repr(C)]
16750#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16751pub struct SL_AD_ACTIVATION_INFO {
16752 pub header: SL_ACTIVATION_INFO_HEADER,
16753 pub pwszProductKey: ::windows::core::PCWSTR,
16754 pub pwszActivationObjectName: ::windows::core::PCWSTR,
16755}
16756impl ::core::marker::Copy for SL_AD_ACTIVATION_INFO {}
16757impl ::core::clone::Clone for SL_AD_ACTIVATION_INFO {
16758 fn clone(&self) -> Self {
16759 *self
16760 }
16761}
16762impl ::core::fmt::Debug for SL_AD_ACTIVATION_INFO {
16763 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16764 f.debug_struct("SL_AD_ACTIVATION_INFO").field("header", &self.header).field("pwszProductKey", &self.pwszProductKey).field("pwszActivationObjectName", &self.pwszActivationObjectName).finish()
16765 }
16766}
16767impl ::windows::core::TypeKind for SL_AD_ACTIVATION_INFO {
16768 type TypeKind = ::windows::core::CopyType;
16769}
16770impl ::core::cmp::PartialEq for SL_AD_ACTIVATION_INFO {
16771 fn eq(&self, other: &Self) -> bool {
16772 self.header == other.header && self.pwszProductKey == other.pwszProductKey && self.pwszActivationObjectName == other.pwszActivationObjectName
16773 }
16774}
16775impl ::core::cmp::Eq for SL_AD_ACTIVATION_INFO {}
16776impl ::core::default::Default for SL_AD_ACTIVATION_INFO {
16777 fn default() -> Self {
16778 unsafe { ::core::mem::zeroed() }
16779 }
16780}
16781#[repr(C)]
16782#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16783pub struct SL_LICENSING_STATUS {
16784 pub SkuId: ::windows::core::GUID,
16785 pub eStatus: SLLICENSINGSTATUS,
16786 pub dwGraceTime: u32,
16787 pub dwTotalGraceDays: u32,
16788 pub hrReason: ::windows::core::HRESULT,
16789 pub qwValidityExpiration: u64,
16790}
16791impl ::core::marker::Copy for SL_LICENSING_STATUS {}
16792impl ::core::clone::Clone for SL_LICENSING_STATUS {
16793 fn clone(&self) -> Self {
16794 *self
16795 }
16796}
16797impl ::core::fmt::Debug for SL_LICENSING_STATUS {
16798 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16799 f.debug_struct("SL_LICENSING_STATUS").field("SkuId", &self.SkuId).field("eStatus", &self.eStatus).field("dwGraceTime", &self.dwGraceTime).field("dwTotalGraceDays", &self.dwTotalGraceDays).field("hrReason", &self.hrReason).field("qwValidityExpiration", &self.qwValidityExpiration).finish()
16800 }
16801}
16802impl ::windows::core::TypeKind for SL_LICENSING_STATUS {
16803 type TypeKind = ::windows::core::CopyType;
16804}
16805impl ::core::cmp::PartialEq for SL_LICENSING_STATUS {
16806 fn eq(&self, other: &Self) -> bool {
16807 self.SkuId == other.SkuId && self.eStatus == other.eStatus && self.dwGraceTime == other.dwGraceTime && self.dwTotalGraceDays == other.dwTotalGraceDays && self.hrReason == other.hrReason && self.qwValidityExpiration == other.qwValidityExpiration
16808 }
16809}
16810impl ::core::cmp::Eq for SL_LICENSING_STATUS {}
16811impl ::core::default::Default for SL_LICENSING_STATUS {
16812 fn default() -> Self {
16813 unsafe { ::core::mem::zeroed() }
16814 }
16815}
16816#[repr(C)]
16817#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16818pub struct SL_NONGENUINE_UI_OPTIONS {
16819 pub cbSize: u32,
16820 pub pComponentId: *const ::windows::core::GUID,
16821 pub hResultUI: ::windows::core::HRESULT,
16822}
16823impl ::core::marker::Copy for SL_NONGENUINE_UI_OPTIONS {}
16824impl ::core::clone::Clone for SL_NONGENUINE_UI_OPTIONS {
16825 fn clone(&self) -> Self {
16826 *self
16827 }
16828}
16829impl ::core::fmt::Debug for SL_NONGENUINE_UI_OPTIONS {
16830 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16831 f.debug_struct("SL_NONGENUINE_UI_OPTIONS").field("cbSize", &self.cbSize).field("pComponentId", &self.pComponentId).field("hResultUI", &self.hResultUI).finish()
16832 }
16833}
16834impl ::windows::core::TypeKind for SL_NONGENUINE_UI_OPTIONS {
16835 type TypeKind = ::windows::core::CopyType;
16836}
16837impl ::core::cmp::PartialEq for SL_NONGENUINE_UI_OPTIONS {
16838 fn eq(&self, other: &Self) -> bool {
16839 self.cbSize == other.cbSize && self.pComponentId == other.pComponentId && self.hResultUI == other.hResultUI
16840 }
16841}
16842impl ::core::cmp::Eq for SL_NONGENUINE_UI_OPTIONS {}
16843impl ::core::default::Default for SL_NONGENUINE_UI_OPTIONS {
16844 fn default() -> Self {
16845 unsafe { ::core::mem::zeroed() }
16846 }
16847}
16848#[repr(C)]
16849#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16850pub struct SL_SYSTEM_POLICY_INFORMATION {
16851 pub Reserved1: [*mut ::core::ffi::c_void; 2],
16852 pub Reserved2: [u32; 3],
16853}
16854impl ::core::marker::Copy for SL_SYSTEM_POLICY_INFORMATION {}
16855impl ::core::clone::Clone for SL_SYSTEM_POLICY_INFORMATION {
16856 fn clone(&self) -> Self {
16857 *self
16858 }
16859}
16860impl ::core::fmt::Debug for SL_SYSTEM_POLICY_INFORMATION {
16861 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16862 f.debug_struct("SL_SYSTEM_POLICY_INFORMATION").field("Reserved1", &self.Reserved1).field("Reserved2", &self.Reserved2).finish()
16863 }
16864}
16865impl ::windows::core::TypeKind for SL_SYSTEM_POLICY_INFORMATION {
16866 type TypeKind = ::windows::core::CopyType;
16867}
16868impl ::core::cmp::PartialEq for SL_SYSTEM_POLICY_INFORMATION {
16869 fn eq(&self, other: &Self) -> bool {
16870 self.Reserved1 == other.Reserved1 && self.Reserved2 == other.Reserved2
16871 }
16872}
16873impl ::core::cmp::Eq for SL_SYSTEM_POLICY_INFORMATION {}
16874impl ::core::default::Default for SL_SYSTEM_POLICY_INFORMATION {
16875 fn default() -> Self {
16876 unsafe { ::core::mem::zeroed() }
16877 }
16878}
16879#[repr(C)]
16880#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16881pub struct SR_SECURITY_DESCRIPTOR {
16882 pub Length: u32,
16883 pub SecurityDescriptor: *mut u8,
16884}
16885impl ::core::marker::Copy for SR_SECURITY_DESCRIPTOR {}
16886impl ::core::clone::Clone for SR_SECURITY_DESCRIPTOR {
16887 fn clone(&self) -> Self {
16888 *self
16889 }
16890}
16891impl ::core::fmt::Debug for SR_SECURITY_DESCRIPTOR {
16892 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16893 f.debug_struct("SR_SECURITY_DESCRIPTOR").field("Length", &self.Length).field("SecurityDescriptor", &self.SecurityDescriptor).finish()
16894 }
16895}
16896impl ::windows::core::TypeKind for SR_SECURITY_DESCRIPTOR {
16897 type TypeKind = ::windows::core::CopyType;
16898}
16899impl ::core::cmp::PartialEq for SR_SECURITY_DESCRIPTOR {
16900 fn eq(&self, other: &Self) -> bool {
16901 self.Length == other.Length && self.SecurityDescriptor == other.SecurityDescriptor
16902 }
16903}
16904impl ::core::cmp::Eq for SR_SECURITY_DESCRIPTOR {}
16905impl ::core::default::Default for SR_SECURITY_DESCRIPTOR {
16906 fn default() -> Self {
16907 unsafe { ::core::mem::zeroed() }
16908 }
16909}
16910#[repr(C)]
16911#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16912pub struct SSL_CREDENTIAL_CERTIFICATE {
16913 pub cbPrivateKey: u32,
16914 pub pPrivateKey: *mut u8,
16915 pub cbCertificate: u32,
16916 pub pCertificate: *mut u8,
16917 pub pszPassword: ::windows::core::PSTR,
16918}
16919impl ::core::marker::Copy for SSL_CREDENTIAL_CERTIFICATE {}
16920impl ::core::clone::Clone for SSL_CREDENTIAL_CERTIFICATE {
16921 fn clone(&self) -> Self {
16922 *self
16923 }
16924}
16925impl ::core::fmt::Debug for SSL_CREDENTIAL_CERTIFICATE {
16926 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16927 f.debug_struct("SSL_CREDENTIAL_CERTIFICATE").field("cbPrivateKey", &self.cbPrivateKey).field("pPrivateKey", &self.pPrivateKey).field("cbCertificate", &self.cbCertificate).field("pCertificate", &self.pCertificate).field("pszPassword", &self.pszPassword).finish()
16928 }
16929}
16930impl ::windows::core::TypeKind for SSL_CREDENTIAL_CERTIFICATE {
16931 type TypeKind = ::windows::core::CopyType;
16932}
16933impl ::core::cmp::PartialEq for SSL_CREDENTIAL_CERTIFICATE {
16934 fn eq(&self, other: &Self) -> bool {
16935 self.cbPrivateKey == other.cbPrivateKey && self.pPrivateKey == other.pPrivateKey && self.cbCertificate == other.cbCertificate && self.pCertificate == other.pCertificate && self.pszPassword == other.pszPassword
16936 }
16937}
16938impl ::core::cmp::Eq for SSL_CREDENTIAL_CERTIFICATE {}
16939impl ::core::default::Default for SSL_CREDENTIAL_CERTIFICATE {
16940 fn default() -> Self {
16941 unsafe { ::core::mem::zeroed() }
16942 }
16943}
16944#[repr(C)]
16945#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16946pub struct SUBSCRIBE_GENERIC_TLS_EXTENSION {
16947 pub Flags: u32,
16948 pub SubscriptionsCount: u32,
16949 pub Subscriptions: [TLS_EXTENSION_SUBSCRIPTION; 1],
16950}
16951impl ::core::marker::Copy for SUBSCRIBE_GENERIC_TLS_EXTENSION {}
16952impl ::core::clone::Clone for SUBSCRIBE_GENERIC_TLS_EXTENSION {
16953 fn clone(&self) -> Self {
16954 *self
16955 }
16956}
16957impl ::core::fmt::Debug for SUBSCRIBE_GENERIC_TLS_EXTENSION {
16958 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16959 f.debug_struct("SUBSCRIBE_GENERIC_TLS_EXTENSION").field("Flags", &self.Flags).field("SubscriptionsCount", &self.SubscriptionsCount).field("Subscriptions", &self.Subscriptions).finish()
16960 }
16961}
16962impl ::windows::core::TypeKind for SUBSCRIBE_GENERIC_TLS_EXTENSION {
16963 type TypeKind = ::windows::core::CopyType;
16964}
16965impl ::core::cmp::PartialEq for SUBSCRIBE_GENERIC_TLS_EXTENSION {
16966 fn eq(&self, other: &Self) -> bool {
16967 self.Flags == other.Flags && self.SubscriptionsCount == other.SubscriptionsCount && self.Subscriptions == other.Subscriptions
16968 }
16969}
16970impl ::core::cmp::Eq for SUBSCRIBE_GENERIC_TLS_EXTENSION {}
16971impl ::core::default::Default for SUBSCRIBE_GENERIC_TLS_EXTENSION {
16972 fn default() -> Self {
16973 unsafe { ::core::mem::zeroed() }
16974 }
16975}
16976#[repr(C)]
16977#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
16978pub struct SecBuffer {
16979 pub cbBuffer: u32,
16980 pub BufferType: u32,
16981 pub pvBuffer: *mut ::core::ffi::c_void,
16982}
16983impl ::core::marker::Copy for SecBuffer {}
16984impl ::core::clone::Clone for SecBuffer {
16985 fn clone(&self) -> Self {
16986 *self
16987 }
16988}
16989impl ::core::fmt::Debug for SecBuffer {
16990 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16991 f.debug_struct("SecBuffer").field("cbBuffer", &self.cbBuffer).field("BufferType", &self.BufferType).field("pvBuffer", &self.pvBuffer).finish()
16992 }
16993}
16994impl ::windows::core::TypeKind for SecBuffer {
16995 type TypeKind = ::windows::core::CopyType;
16996}
16997impl ::core::cmp::PartialEq for SecBuffer {
16998 fn eq(&self, other: &Self) -> bool {
16999 self.cbBuffer == other.cbBuffer && self.BufferType == other.BufferType && self.pvBuffer == other.pvBuffer
17000 }
17001}
17002impl ::core::cmp::Eq for SecBuffer {}
17003impl ::core::default::Default for SecBuffer {
17004 fn default() -> Self {
17005 unsafe { ::core::mem::zeroed() }
17006 }
17007}
17008#[repr(C)]
17009#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17010pub struct SecBufferDesc {
17011 pub ulVersion: u32,
17012 pub cBuffers: u32,
17013 pub pBuffers: *mut SecBuffer,
17014}
17015impl ::core::marker::Copy for SecBufferDesc {}
17016impl ::core::clone::Clone for SecBufferDesc {
17017 fn clone(&self) -> Self {
17018 *self
17019 }
17020}
17021impl ::core::fmt::Debug for SecBufferDesc {
17022 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17023 f.debug_struct("SecBufferDesc").field("ulVersion", &self.ulVersion).field("cBuffers", &self.cBuffers).field("pBuffers", &self.pBuffers).finish()
17024 }
17025}
17026impl ::windows::core::TypeKind for SecBufferDesc {
17027 type TypeKind = ::windows::core::CopyType;
17028}
17029impl ::core::cmp::PartialEq for SecBufferDesc {
17030 fn eq(&self, other: &Self) -> bool {
17031 self.ulVersion == other.ulVersion && self.cBuffers == other.cBuffers && self.pBuffers == other.pBuffers
17032 }
17033}
17034impl ::core::cmp::Eq for SecBufferDesc {}
17035impl ::core::default::Default for SecBufferDesc {
17036 fn default() -> Self {
17037 unsafe { ::core::mem::zeroed() }
17038 }
17039}
17040#[repr(C)]
17041#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17042pub struct SecPkgContext_AccessToken {
17043 pub AccessToken: *mut ::core::ffi::c_void,
17044}
17045impl ::core::marker::Copy for SecPkgContext_AccessToken {}
17046impl ::core::clone::Clone for SecPkgContext_AccessToken {
17047 fn clone(&self) -> Self {
17048 *self
17049 }
17050}
17051impl ::core::fmt::Debug for SecPkgContext_AccessToken {
17052 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17053 f.debug_struct("SecPkgContext_AccessToken").field("AccessToken", &self.AccessToken).finish()
17054 }
17055}
17056impl ::windows::core::TypeKind for SecPkgContext_AccessToken {
17057 type TypeKind = ::windows::core::CopyType;
17058}
17059impl ::core::cmp::PartialEq for SecPkgContext_AccessToken {
17060 fn eq(&self, other: &Self) -> bool {
17061 self.AccessToken == other.AccessToken
17062 }
17063}
17064impl ::core::cmp::Eq for SecPkgContext_AccessToken {}
17065impl ::core::default::Default for SecPkgContext_AccessToken {
17066 fn default() -> Self {
17067 unsafe { ::core::mem::zeroed() }
17068 }
17069}
17070#[repr(C)]
17071#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17072pub struct SecPkgContext_ApplicationProtocol {
17073 pub ProtoNegoStatus: SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS,
17074 pub ProtoNegoExt: SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT,
17075 pub ProtocolIdSize: u8,
17076 pub ProtocolId: [u8; 255],
17077}
17078impl ::core::marker::Copy for SecPkgContext_ApplicationProtocol {}
17079impl ::core::clone::Clone for SecPkgContext_ApplicationProtocol {
17080 fn clone(&self) -> Self {
17081 *self
17082 }
17083}
17084impl ::core::fmt::Debug for SecPkgContext_ApplicationProtocol {
17085 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17086 f.debug_struct("SecPkgContext_ApplicationProtocol").field("ProtoNegoStatus", &self.ProtoNegoStatus).field("ProtoNegoExt", &self.ProtoNegoExt).field("ProtocolIdSize", &self.ProtocolIdSize).field("ProtocolId", &self.ProtocolId).finish()
17087 }
17088}
17089impl ::windows::core::TypeKind for SecPkgContext_ApplicationProtocol {
17090 type TypeKind = ::windows::core::CopyType;
17091}
17092impl ::core::cmp::PartialEq for SecPkgContext_ApplicationProtocol {
17093 fn eq(&self, other: &Self) -> bool {
17094 self.ProtoNegoStatus == other.ProtoNegoStatus && self.ProtoNegoExt == other.ProtoNegoExt && self.ProtocolIdSize == other.ProtocolIdSize && self.ProtocolId == other.ProtocolId
17095 }
17096}
17097impl ::core::cmp::Eq for SecPkgContext_ApplicationProtocol {}
17098impl ::core::default::Default for SecPkgContext_ApplicationProtocol {
17099 fn default() -> Self {
17100 unsafe { ::core::mem::zeroed() }
17101 }
17102}
17103#[repr(C)]
17104#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17105pub struct SecPkgContext_AuthorityA {
17106 pub sAuthorityName: *mut i8,
17107}
17108impl ::core::marker::Copy for SecPkgContext_AuthorityA {}
17109impl ::core::clone::Clone for SecPkgContext_AuthorityA {
17110 fn clone(&self) -> Self {
17111 *self
17112 }
17113}
17114impl ::core::fmt::Debug for SecPkgContext_AuthorityA {
17115 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17116 f.debug_struct("SecPkgContext_AuthorityA").field("sAuthorityName", &self.sAuthorityName).finish()
17117 }
17118}
17119impl ::windows::core::TypeKind for SecPkgContext_AuthorityA {
17120 type TypeKind = ::windows::core::CopyType;
17121}
17122impl ::core::cmp::PartialEq for SecPkgContext_AuthorityA {
17123 fn eq(&self, other: &Self) -> bool {
17124 self.sAuthorityName == other.sAuthorityName
17125 }
17126}
17127impl ::core::cmp::Eq for SecPkgContext_AuthorityA {}
17128impl ::core::default::Default for SecPkgContext_AuthorityA {
17129 fn default() -> Self {
17130 unsafe { ::core::mem::zeroed() }
17131 }
17132}
17133#[repr(C)]
17134#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17135pub struct SecPkgContext_AuthorityW {
17136 pub sAuthorityName: *mut u16,
17137}
17138impl ::core::marker::Copy for SecPkgContext_AuthorityW {}
17139impl ::core::clone::Clone for SecPkgContext_AuthorityW {
17140 fn clone(&self) -> Self {
17141 *self
17142 }
17143}
17144impl ::core::fmt::Debug for SecPkgContext_AuthorityW {
17145 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17146 f.debug_struct("SecPkgContext_AuthorityW").field("sAuthorityName", &self.sAuthorityName).finish()
17147 }
17148}
17149impl ::windows::core::TypeKind for SecPkgContext_AuthorityW {
17150 type TypeKind = ::windows::core::CopyType;
17151}
17152impl ::core::cmp::PartialEq for SecPkgContext_AuthorityW {
17153 fn eq(&self, other: &Self) -> bool {
17154 self.sAuthorityName == other.sAuthorityName
17155 }
17156}
17157impl ::core::cmp::Eq for SecPkgContext_AuthorityW {}
17158impl ::core::default::Default for SecPkgContext_AuthorityW {
17159 fn default() -> Self {
17160 unsafe { ::core::mem::zeroed() }
17161 }
17162}
17163#[repr(C)]
17164#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17165pub struct SecPkgContext_AuthzID {
17166 pub AuthzIDLength: u32,
17167 pub AuthzID: ::windows::core::PSTR,
17168}
17169impl ::core::marker::Copy for SecPkgContext_AuthzID {}
17170impl ::core::clone::Clone for SecPkgContext_AuthzID {
17171 fn clone(&self) -> Self {
17172 *self
17173 }
17174}
17175impl ::core::fmt::Debug for SecPkgContext_AuthzID {
17176 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17177 f.debug_struct("SecPkgContext_AuthzID").field("AuthzIDLength", &self.AuthzIDLength).field("AuthzID", &self.AuthzID).finish()
17178 }
17179}
17180impl ::windows::core::TypeKind for SecPkgContext_AuthzID {
17181 type TypeKind = ::windows::core::CopyType;
17182}
17183impl ::core::cmp::PartialEq for SecPkgContext_AuthzID {
17184 fn eq(&self, other: &Self) -> bool {
17185 self.AuthzIDLength == other.AuthzIDLength && self.AuthzID == other.AuthzID
17186 }
17187}
17188impl ::core::cmp::Eq for SecPkgContext_AuthzID {}
17189impl ::core::default::Default for SecPkgContext_AuthzID {
17190 fn default() -> Self {
17191 unsafe { ::core::mem::zeroed() }
17192 }
17193}
17194#[repr(C)]
17195#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17196pub struct SecPkgContext_Bindings {
17197 pub BindingsLength: u32,
17198 pub Bindings: *mut SEC_CHANNEL_BINDINGS,
17199}
17200impl ::core::marker::Copy for SecPkgContext_Bindings {}
17201impl ::core::clone::Clone for SecPkgContext_Bindings {
17202 fn clone(&self) -> Self {
17203 *self
17204 }
17205}
17206impl ::core::fmt::Debug for SecPkgContext_Bindings {
17207 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17208 f.debug_struct("SecPkgContext_Bindings").field("BindingsLength", &self.BindingsLength).field("Bindings", &self.Bindings).finish()
17209 }
17210}
17211impl ::windows::core::TypeKind for SecPkgContext_Bindings {
17212 type TypeKind = ::windows::core::CopyType;
17213}
17214impl ::core::cmp::PartialEq for SecPkgContext_Bindings {
17215 fn eq(&self, other: &Self) -> bool {
17216 self.BindingsLength == other.BindingsLength && self.Bindings == other.Bindings
17217 }
17218}
17219impl ::core::cmp::Eq for SecPkgContext_Bindings {}
17220impl ::core::default::Default for SecPkgContext_Bindings {
17221 fn default() -> Self {
17222 unsafe { ::core::mem::zeroed() }
17223 }
17224}
17225#[repr(C)]
17226#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17227pub struct SecPkgContext_CertInfo {
17228 pub dwVersion: u32,
17229 pub cbSubjectName: u32,
17230 pub pwszSubjectName: ::windows::core::PWSTR,
17231 pub cbIssuerName: u32,
17232 pub pwszIssuerName: ::windows::core::PWSTR,
17233 pub dwKeySize: u32,
17234}
17235impl ::core::marker::Copy for SecPkgContext_CertInfo {}
17236impl ::core::clone::Clone for SecPkgContext_CertInfo {
17237 fn clone(&self) -> Self {
17238 *self
17239 }
17240}
17241impl ::core::fmt::Debug for SecPkgContext_CertInfo {
17242 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17243 f.debug_struct("SecPkgContext_CertInfo").field("dwVersion", &self.dwVersion).field("cbSubjectName", &self.cbSubjectName).field("pwszSubjectName", &self.pwszSubjectName).field("cbIssuerName", &self.cbIssuerName).field("pwszIssuerName", &self.pwszIssuerName).field("dwKeySize", &self.dwKeySize).finish()
17244 }
17245}
17246impl ::windows::core::TypeKind for SecPkgContext_CertInfo {
17247 type TypeKind = ::windows::core::CopyType;
17248}
17249impl ::core::cmp::PartialEq for SecPkgContext_CertInfo {
17250 fn eq(&self, other: &Self) -> bool {
17251 self.dwVersion == other.dwVersion && self.cbSubjectName == other.cbSubjectName && self.pwszSubjectName == other.pwszSubjectName && self.cbIssuerName == other.cbIssuerName && self.pwszIssuerName == other.pwszIssuerName && self.dwKeySize == other.dwKeySize
17252 }
17253}
17254impl ::core::cmp::Eq for SecPkgContext_CertInfo {}
17255impl ::core::default::Default for SecPkgContext_CertInfo {
17256 fn default() -> Self {
17257 unsafe { ::core::mem::zeroed() }
17258 }
17259}
17260#[repr(C)]
17261#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17262pub struct SecPkgContext_CertificateValidationResult {
17263 pub dwChainErrorStatus: u32,
17264 pub hrVerifyChainStatus: ::windows::core::HRESULT,
17265}
17266impl ::core::marker::Copy for SecPkgContext_CertificateValidationResult {}
17267impl ::core::clone::Clone for SecPkgContext_CertificateValidationResult {
17268 fn clone(&self) -> Self {
17269 *self
17270 }
17271}
17272impl ::core::fmt::Debug for SecPkgContext_CertificateValidationResult {
17273 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17274 f.debug_struct("SecPkgContext_CertificateValidationResult").field("dwChainErrorStatus", &self.dwChainErrorStatus).field("hrVerifyChainStatus", &self.hrVerifyChainStatus).finish()
17275 }
17276}
17277impl ::windows::core::TypeKind for SecPkgContext_CertificateValidationResult {
17278 type TypeKind = ::windows::core::CopyType;
17279}
17280impl ::core::cmp::PartialEq for SecPkgContext_CertificateValidationResult {
17281 fn eq(&self, other: &Self) -> bool {
17282 self.dwChainErrorStatus == other.dwChainErrorStatus && self.hrVerifyChainStatus == other.hrVerifyChainStatus
17283 }
17284}
17285impl ::core::cmp::Eq for SecPkgContext_CertificateValidationResult {}
17286impl ::core::default::Default for SecPkgContext_CertificateValidationResult {
17287 fn default() -> Self {
17288 unsafe { ::core::mem::zeroed() }
17289 }
17290}
17291#[repr(C)]
17292#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17293pub struct SecPkgContext_Certificates {
17294 pub cCertificates: u32,
17295 pub cbCertificateChain: u32,
17296 pub pbCertificateChain: *mut u8,
17297}
17298impl ::core::marker::Copy for SecPkgContext_Certificates {}
17299impl ::core::clone::Clone for SecPkgContext_Certificates {
17300 fn clone(&self) -> Self {
17301 *self
17302 }
17303}
17304impl ::core::fmt::Debug for SecPkgContext_Certificates {
17305 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17306 f.debug_struct("SecPkgContext_Certificates").field("cCertificates", &self.cCertificates).field("cbCertificateChain", &self.cbCertificateChain).field("pbCertificateChain", &self.pbCertificateChain).finish()
17307 }
17308}
17309impl ::windows::core::TypeKind for SecPkgContext_Certificates {
17310 type TypeKind = ::windows::core::CopyType;
17311}
17312impl ::core::cmp::PartialEq for SecPkgContext_Certificates {
17313 fn eq(&self, other: &Self) -> bool {
17314 self.cCertificates == other.cCertificates && self.cbCertificateChain == other.cbCertificateChain && self.pbCertificateChain == other.pbCertificateChain
17315 }
17316}
17317impl ::core::cmp::Eq for SecPkgContext_Certificates {}
17318impl ::core::default::Default for SecPkgContext_Certificates {
17319 fn default() -> Self {
17320 unsafe { ::core::mem::zeroed() }
17321 }
17322}
17323#[repr(C)]
17324#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17325pub struct SecPkgContext_CipherInfo {
17326 pub dwVersion: u32,
17327 pub dwProtocol: u32,
17328 pub dwCipherSuite: u32,
17329 pub dwBaseCipherSuite: u32,
17330 pub szCipherSuite: [u16; 64],
17331 pub szCipher: [u16; 64],
17332 pub dwCipherLen: u32,
17333 pub dwCipherBlockLen: u32,
17334 pub szHash: [u16; 64],
17335 pub dwHashLen: u32,
17336 pub szExchange: [u16; 64],
17337 pub dwMinExchangeLen: u32,
17338 pub dwMaxExchangeLen: u32,
17339 pub szCertificate: [u16; 64],
17340 pub dwKeyType: u32,
17341}
17342impl ::core::marker::Copy for SecPkgContext_CipherInfo {}
17343impl ::core::clone::Clone for SecPkgContext_CipherInfo {
17344 fn clone(&self) -> Self {
17345 *self
17346 }
17347}
17348impl ::core::fmt::Debug for SecPkgContext_CipherInfo {
17349 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17350 f.debug_struct("SecPkgContext_CipherInfo")
17351 .field("dwVersion", &self.dwVersion)
17352 .field("dwProtocol", &self.dwProtocol)
17353 .field("dwCipherSuite", &self.dwCipherSuite)
17354 .field("dwBaseCipherSuite", &self.dwBaseCipherSuite)
17355 .field("szCipherSuite", &self.szCipherSuite)
17356 .field("szCipher", &self.szCipher)
17357 .field("dwCipherLen", &self.dwCipherLen)
17358 .field("dwCipherBlockLen", &self.dwCipherBlockLen)
17359 .field("szHash", &self.szHash)
17360 .field("dwHashLen", &self.dwHashLen)
17361 .field("szExchange", &self.szExchange)
17362 .field("dwMinExchangeLen", &self.dwMinExchangeLen)
17363 .field("dwMaxExchangeLen", &self.dwMaxExchangeLen)
17364 .field("szCertificate", &self.szCertificate)
17365 .field("dwKeyType", &self.dwKeyType)
17366 .finish()
17367 }
17368}
17369impl ::windows::core::TypeKind for SecPkgContext_CipherInfo {
17370 type TypeKind = ::windows::core::CopyType;
17371}
17372impl ::core::cmp::PartialEq for SecPkgContext_CipherInfo {
17373 fn eq(&self, other: &Self) -> bool {
17374 self.dwVersion == other.dwVersion && self.dwProtocol == other.dwProtocol && self.dwCipherSuite == other.dwCipherSuite && self.dwBaseCipherSuite == other.dwBaseCipherSuite && self.szCipherSuite == other.szCipherSuite && self.szCipher == other.szCipher && self.dwCipherLen == other.dwCipherLen && self.dwCipherBlockLen == other.dwCipherBlockLen && self.szHash == other.szHash && self.dwHashLen == other.dwHashLen && self.szExchange == other.szExchange && self.dwMinExchangeLen == other.dwMinExchangeLen && self.dwMaxExchangeLen == other.dwMaxExchangeLen && self.szCertificate == other.szCertificate && self.dwKeyType == other.dwKeyType
17375 }
17376}
17377impl ::core::cmp::Eq for SecPkgContext_CipherInfo {}
17378impl ::core::default::Default for SecPkgContext_CipherInfo {
17379 fn default() -> Self {
17380 unsafe { ::core::mem::zeroed() }
17381 }
17382}
17383#[repr(C)]
17384#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17385pub struct SecPkgContext_ClientCertPolicyResult {
17386 pub dwPolicyResult: ::windows::core::HRESULT,
17387 pub guidPolicyId: ::windows::core::GUID,
17388}
17389impl ::core::marker::Copy for SecPkgContext_ClientCertPolicyResult {}
17390impl ::core::clone::Clone for SecPkgContext_ClientCertPolicyResult {
17391 fn clone(&self) -> Self {
17392 *self
17393 }
17394}
17395impl ::core::fmt::Debug for SecPkgContext_ClientCertPolicyResult {
17396 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17397 f.debug_struct("SecPkgContext_ClientCertPolicyResult").field("dwPolicyResult", &self.dwPolicyResult).field("guidPolicyId", &self.guidPolicyId).finish()
17398 }
17399}
17400impl ::windows::core::TypeKind for SecPkgContext_ClientCertPolicyResult {
17401 type TypeKind = ::windows::core::CopyType;
17402}
17403impl ::core::cmp::PartialEq for SecPkgContext_ClientCertPolicyResult {
17404 fn eq(&self, other: &Self) -> bool {
17405 self.dwPolicyResult == other.dwPolicyResult && self.guidPolicyId == other.guidPolicyId
17406 }
17407}
17408impl ::core::cmp::Eq for SecPkgContext_ClientCertPolicyResult {}
17409impl ::core::default::Default for SecPkgContext_ClientCertPolicyResult {
17410 fn default() -> Self {
17411 unsafe { ::core::mem::zeroed() }
17412 }
17413}
17414#[repr(C)]
17415#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17416pub struct SecPkgContext_ClientSpecifiedTarget {
17417 pub sTargetName: *mut u16,
17418}
17419impl ::core::marker::Copy for SecPkgContext_ClientSpecifiedTarget {}
17420impl ::core::clone::Clone for SecPkgContext_ClientSpecifiedTarget {
17421 fn clone(&self) -> Self {
17422 *self
17423 }
17424}
17425impl ::core::fmt::Debug for SecPkgContext_ClientSpecifiedTarget {
17426 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17427 f.debug_struct("SecPkgContext_ClientSpecifiedTarget").field("sTargetName", &self.sTargetName).finish()
17428 }
17429}
17430impl ::windows::core::TypeKind for SecPkgContext_ClientSpecifiedTarget {
17431 type TypeKind = ::windows::core::CopyType;
17432}
17433impl ::core::cmp::PartialEq for SecPkgContext_ClientSpecifiedTarget {
17434 fn eq(&self, other: &Self) -> bool {
17435 self.sTargetName == other.sTargetName
17436 }
17437}
17438impl ::core::cmp::Eq for SecPkgContext_ClientSpecifiedTarget {}
17439impl ::core::default::Default for SecPkgContext_ClientSpecifiedTarget {
17440 fn default() -> Self {
17441 unsafe { ::core::mem::zeroed() }
17442 }
17443}
17444#[repr(C)]
17445#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17446pub struct SecPkgContext_ConnectionInfo {
17447 pub dwProtocol: u32,
17448 pub aiCipher: u32,
17449 pub dwCipherStrength: u32,
17450 pub aiHash: u32,
17451 pub dwHashStrength: u32,
17452 pub aiExch: u32,
17453 pub dwExchStrength: u32,
17454}
17455impl ::core::marker::Copy for SecPkgContext_ConnectionInfo {}
17456impl ::core::clone::Clone for SecPkgContext_ConnectionInfo {
17457 fn clone(&self) -> Self {
17458 *self
17459 }
17460}
17461impl ::core::fmt::Debug for SecPkgContext_ConnectionInfo {
17462 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17463 f.debug_struct("SecPkgContext_ConnectionInfo").field("dwProtocol", &self.dwProtocol).field("aiCipher", &self.aiCipher).field("dwCipherStrength", &self.dwCipherStrength).field("aiHash", &self.aiHash).field("dwHashStrength", &self.dwHashStrength).field("aiExch", &self.aiExch).field("dwExchStrength", &self.dwExchStrength).finish()
17464 }
17465}
17466impl ::windows::core::TypeKind for SecPkgContext_ConnectionInfo {
17467 type TypeKind = ::windows::core::CopyType;
17468}
17469impl ::core::cmp::PartialEq for SecPkgContext_ConnectionInfo {
17470 fn eq(&self, other: &Self) -> bool {
17471 self.dwProtocol == other.dwProtocol && self.aiCipher == other.aiCipher && self.dwCipherStrength == other.dwCipherStrength && self.aiHash == other.aiHash && self.dwHashStrength == other.dwHashStrength && self.aiExch == other.aiExch && self.dwExchStrength == other.dwExchStrength
17472 }
17473}
17474impl ::core::cmp::Eq for SecPkgContext_ConnectionInfo {}
17475impl ::core::default::Default for SecPkgContext_ConnectionInfo {
17476 fn default() -> Self {
17477 unsafe { ::core::mem::zeroed() }
17478 }
17479}
17480#[repr(C)]
17481#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17482pub struct SecPkgContext_ConnectionInfoEx {
17483 pub dwVersion: u32,
17484 pub dwProtocol: u32,
17485 pub szCipher: [u16; 64],
17486 pub dwCipherStrength: u32,
17487 pub szHash: [u16; 64],
17488 pub dwHashStrength: u32,
17489 pub szExchange: [u16; 64],
17490 pub dwExchStrength: u32,
17491}
17492impl ::core::marker::Copy for SecPkgContext_ConnectionInfoEx {}
17493impl ::core::clone::Clone for SecPkgContext_ConnectionInfoEx {
17494 fn clone(&self) -> Self {
17495 *self
17496 }
17497}
17498impl ::core::fmt::Debug for SecPkgContext_ConnectionInfoEx {
17499 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17500 f.debug_struct("SecPkgContext_ConnectionInfoEx").field("dwVersion", &self.dwVersion).field("dwProtocol", &self.dwProtocol).field("szCipher", &self.szCipher).field("dwCipherStrength", &self.dwCipherStrength).field("szHash", &self.szHash).field("dwHashStrength", &self.dwHashStrength).field("szExchange", &self.szExchange).field("dwExchStrength", &self.dwExchStrength).finish()
17501 }
17502}
17503impl ::windows::core::TypeKind for SecPkgContext_ConnectionInfoEx {
17504 type TypeKind = ::windows::core::CopyType;
17505}
17506impl ::core::cmp::PartialEq for SecPkgContext_ConnectionInfoEx {
17507 fn eq(&self, other: &Self) -> bool {
17508 self.dwVersion == other.dwVersion && self.dwProtocol == other.dwProtocol && self.szCipher == other.szCipher && self.dwCipherStrength == other.dwCipherStrength && self.szHash == other.szHash && self.dwHashStrength == other.dwHashStrength && self.szExchange == other.szExchange && self.dwExchStrength == other.dwExchStrength
17509 }
17510}
17511impl ::core::cmp::Eq for SecPkgContext_ConnectionInfoEx {}
17512impl ::core::default::Default for SecPkgContext_ConnectionInfoEx {
17513 fn default() -> Self {
17514 unsafe { ::core::mem::zeroed() }
17515 }
17516}
17517#[repr(C)]
17518#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17519pub struct SecPkgContext_CredInfo {
17520 pub CredClass: SECPKG_CRED_CLASS,
17521 pub IsPromptingNeeded: u32,
17522}
17523impl ::core::marker::Copy for SecPkgContext_CredInfo {}
17524impl ::core::clone::Clone for SecPkgContext_CredInfo {
17525 fn clone(&self) -> Self {
17526 *self
17527 }
17528}
17529impl ::core::fmt::Debug for SecPkgContext_CredInfo {
17530 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17531 f.debug_struct("SecPkgContext_CredInfo").field("CredClass", &self.CredClass).field("IsPromptingNeeded", &self.IsPromptingNeeded).finish()
17532 }
17533}
17534impl ::windows::core::TypeKind for SecPkgContext_CredInfo {
17535 type TypeKind = ::windows::core::CopyType;
17536}
17537impl ::core::cmp::PartialEq for SecPkgContext_CredInfo {
17538 fn eq(&self, other: &Self) -> bool {
17539 self.CredClass == other.CredClass && self.IsPromptingNeeded == other.IsPromptingNeeded
17540 }
17541}
17542impl ::core::cmp::Eq for SecPkgContext_CredInfo {}
17543impl ::core::default::Default for SecPkgContext_CredInfo {
17544 fn default() -> Self {
17545 unsafe { ::core::mem::zeroed() }
17546 }
17547}
17548#[repr(C)]
17549#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17550pub struct SecPkgContext_CredentialNameA {
17551 pub CredentialType: u32,
17552 pub sCredentialName: *mut i8,
17553}
17554impl ::core::marker::Copy for SecPkgContext_CredentialNameA {}
17555impl ::core::clone::Clone for SecPkgContext_CredentialNameA {
17556 fn clone(&self) -> Self {
17557 *self
17558 }
17559}
17560impl ::core::fmt::Debug for SecPkgContext_CredentialNameA {
17561 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17562 f.debug_struct("SecPkgContext_CredentialNameA").field("CredentialType", &self.CredentialType).field("sCredentialName", &self.sCredentialName).finish()
17563 }
17564}
17565impl ::windows::core::TypeKind for SecPkgContext_CredentialNameA {
17566 type TypeKind = ::windows::core::CopyType;
17567}
17568impl ::core::cmp::PartialEq for SecPkgContext_CredentialNameA {
17569 fn eq(&self, other: &Self) -> bool {
17570 self.CredentialType == other.CredentialType && self.sCredentialName == other.sCredentialName
17571 }
17572}
17573impl ::core::cmp::Eq for SecPkgContext_CredentialNameA {}
17574impl ::core::default::Default for SecPkgContext_CredentialNameA {
17575 fn default() -> Self {
17576 unsafe { ::core::mem::zeroed() }
17577 }
17578}
17579#[repr(C)]
17580#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17581pub struct SecPkgContext_CredentialNameW {
17582 pub CredentialType: u32,
17583 pub sCredentialName: *mut u16,
17584}
17585impl ::core::marker::Copy for SecPkgContext_CredentialNameW {}
17586impl ::core::clone::Clone for SecPkgContext_CredentialNameW {
17587 fn clone(&self) -> Self {
17588 *self
17589 }
17590}
17591impl ::core::fmt::Debug for SecPkgContext_CredentialNameW {
17592 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17593 f.debug_struct("SecPkgContext_CredentialNameW").field("CredentialType", &self.CredentialType).field("sCredentialName", &self.sCredentialName).finish()
17594 }
17595}
17596impl ::windows::core::TypeKind for SecPkgContext_CredentialNameW {
17597 type TypeKind = ::windows::core::CopyType;
17598}
17599impl ::core::cmp::PartialEq for SecPkgContext_CredentialNameW {
17600 fn eq(&self, other: &Self) -> bool {
17601 self.CredentialType == other.CredentialType && self.sCredentialName == other.sCredentialName
17602 }
17603}
17604impl ::core::cmp::Eq for SecPkgContext_CredentialNameW {}
17605impl ::core::default::Default for SecPkgContext_CredentialNameW {
17606 fn default() -> Self {
17607 unsafe { ::core::mem::zeroed() }
17608 }
17609}
17610#[repr(C)]
17611#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17612pub struct SecPkgContext_DceInfo {
17613 pub AuthzSvc: u32,
17614 pub pPac: *mut ::core::ffi::c_void,
17615}
17616impl ::core::marker::Copy for SecPkgContext_DceInfo {}
17617impl ::core::clone::Clone for SecPkgContext_DceInfo {
17618 fn clone(&self) -> Self {
17619 *self
17620 }
17621}
17622impl ::core::fmt::Debug for SecPkgContext_DceInfo {
17623 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17624 f.debug_struct("SecPkgContext_DceInfo").field("AuthzSvc", &self.AuthzSvc).field("pPac", &self.pPac).finish()
17625 }
17626}
17627impl ::windows::core::TypeKind for SecPkgContext_DceInfo {
17628 type TypeKind = ::windows::core::CopyType;
17629}
17630impl ::core::cmp::PartialEq for SecPkgContext_DceInfo {
17631 fn eq(&self, other: &Self) -> bool {
17632 self.AuthzSvc == other.AuthzSvc && self.pPac == other.pPac
17633 }
17634}
17635impl ::core::cmp::Eq for SecPkgContext_DceInfo {}
17636impl ::core::default::Default for SecPkgContext_DceInfo {
17637 fn default() -> Self {
17638 unsafe { ::core::mem::zeroed() }
17639 }
17640}
17641#[repr(C)]
17642#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17643pub struct SecPkgContext_EapKeyBlock {
17644 pub rgbKeys: [u8; 128],
17645 pub rgbIVs: [u8; 64],
17646}
17647impl ::core::marker::Copy for SecPkgContext_EapKeyBlock {}
17648impl ::core::clone::Clone for SecPkgContext_EapKeyBlock {
17649 fn clone(&self) -> Self {
17650 *self
17651 }
17652}
17653impl ::core::fmt::Debug for SecPkgContext_EapKeyBlock {
17654 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17655 f.debug_struct("SecPkgContext_EapKeyBlock").field("rgbKeys", &self.rgbKeys).field("rgbIVs", &self.rgbIVs).finish()
17656 }
17657}
17658impl ::windows::core::TypeKind for SecPkgContext_EapKeyBlock {
17659 type TypeKind = ::windows::core::CopyType;
17660}
17661impl ::core::cmp::PartialEq for SecPkgContext_EapKeyBlock {
17662 fn eq(&self, other: &Self) -> bool {
17663 self.rgbKeys == other.rgbKeys && self.rgbIVs == other.rgbIVs
17664 }
17665}
17666impl ::core::cmp::Eq for SecPkgContext_EapKeyBlock {}
17667impl ::core::default::Default for SecPkgContext_EapKeyBlock {
17668 fn default() -> Self {
17669 unsafe { ::core::mem::zeroed() }
17670 }
17671}
17672#[repr(C)]
17673#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17674pub struct SecPkgContext_EapPrfInfo {
17675 pub dwVersion: u32,
17676 pub cbPrfData: u32,
17677 pub pbPrfData: *mut u8,
17678}
17679impl ::core::marker::Copy for SecPkgContext_EapPrfInfo {}
17680impl ::core::clone::Clone for SecPkgContext_EapPrfInfo {
17681 fn clone(&self) -> Self {
17682 *self
17683 }
17684}
17685impl ::core::fmt::Debug for SecPkgContext_EapPrfInfo {
17686 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17687 f.debug_struct("SecPkgContext_EapPrfInfo").field("dwVersion", &self.dwVersion).field("cbPrfData", &self.cbPrfData).field("pbPrfData", &self.pbPrfData).finish()
17688 }
17689}
17690impl ::windows::core::TypeKind for SecPkgContext_EapPrfInfo {
17691 type TypeKind = ::windows::core::CopyType;
17692}
17693impl ::core::cmp::PartialEq for SecPkgContext_EapPrfInfo {
17694 fn eq(&self, other: &Self) -> bool {
17695 self.dwVersion == other.dwVersion && self.cbPrfData == other.cbPrfData && self.pbPrfData == other.pbPrfData
17696 }
17697}
17698impl ::core::cmp::Eq for SecPkgContext_EapPrfInfo {}
17699impl ::core::default::Default for SecPkgContext_EapPrfInfo {
17700 fn default() -> Self {
17701 unsafe { ::core::mem::zeroed() }
17702 }
17703}
17704#[repr(C)]
17705#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17706pub struct SecPkgContext_EarlyStart {
17707 pub dwEarlyStartFlags: u32,
17708}
17709impl ::core::marker::Copy for SecPkgContext_EarlyStart {}
17710impl ::core::clone::Clone for SecPkgContext_EarlyStart {
17711 fn clone(&self) -> Self {
17712 *self
17713 }
17714}
17715impl ::core::fmt::Debug for SecPkgContext_EarlyStart {
17716 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17717 f.debug_struct("SecPkgContext_EarlyStart").field("dwEarlyStartFlags", &self.dwEarlyStartFlags).finish()
17718 }
17719}
17720impl ::windows::core::TypeKind for SecPkgContext_EarlyStart {
17721 type TypeKind = ::windows::core::CopyType;
17722}
17723impl ::core::cmp::PartialEq for SecPkgContext_EarlyStart {
17724 fn eq(&self, other: &Self) -> bool {
17725 self.dwEarlyStartFlags == other.dwEarlyStartFlags
17726 }
17727}
17728impl ::core::cmp::Eq for SecPkgContext_EarlyStart {}
17729impl ::core::default::Default for SecPkgContext_EarlyStart {
17730 fn default() -> Self {
17731 unsafe { ::core::mem::zeroed() }
17732 }
17733}
17734#[repr(C)]
17735#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17736pub struct SecPkgContext_Flags {
17737 pub Flags: u32,
17738}
17739impl ::core::marker::Copy for SecPkgContext_Flags {}
17740impl ::core::clone::Clone for SecPkgContext_Flags {
17741 fn clone(&self) -> Self {
17742 *self
17743 }
17744}
17745impl ::core::fmt::Debug for SecPkgContext_Flags {
17746 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17747 f.debug_struct("SecPkgContext_Flags").field("Flags", &self.Flags).finish()
17748 }
17749}
17750impl ::windows::core::TypeKind for SecPkgContext_Flags {
17751 type TypeKind = ::windows::core::CopyType;
17752}
17753impl ::core::cmp::PartialEq for SecPkgContext_Flags {
17754 fn eq(&self, other: &Self) -> bool {
17755 self.Flags == other.Flags
17756 }
17757}
17758impl ::core::cmp::Eq for SecPkgContext_Flags {}
17759impl ::core::default::Default for SecPkgContext_Flags {
17760 fn default() -> Self {
17761 unsafe { ::core::mem::zeroed() }
17762 }
17763}
17764#[repr(C)]
17765#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Cryptography\"`*"]
17766#[cfg(feature = "Win32_Security_Cryptography")]
17767pub struct SecPkgContext_IssuerListInfoEx {
17768 pub aIssuers: *mut super::super::Cryptography::CRYPT_INTEGER_BLOB,
17769 pub cIssuers: u32,
17770}
17771#[cfg(feature = "Win32_Security_Cryptography")]
17772impl ::core::marker::Copy for SecPkgContext_IssuerListInfoEx {}
17773#[cfg(feature = "Win32_Security_Cryptography")]
17774impl ::core::clone::Clone for SecPkgContext_IssuerListInfoEx {
17775 fn clone(&self) -> Self {
17776 *self
17777 }
17778}
17779#[cfg(feature = "Win32_Security_Cryptography")]
17780impl ::core::fmt::Debug for SecPkgContext_IssuerListInfoEx {
17781 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17782 f.debug_struct("SecPkgContext_IssuerListInfoEx").field("aIssuers", &self.aIssuers).field("cIssuers", &self.cIssuers).finish()
17783 }
17784}
17785#[cfg(feature = "Win32_Security_Cryptography")]
17786impl ::windows::core::TypeKind for SecPkgContext_IssuerListInfoEx {
17787 type TypeKind = ::windows::core::CopyType;
17788}
17789#[cfg(feature = "Win32_Security_Cryptography")]
17790impl ::core::cmp::PartialEq for SecPkgContext_IssuerListInfoEx {
17791 fn eq(&self, other: &Self) -> bool {
17792 self.aIssuers == other.aIssuers && self.cIssuers == other.cIssuers
17793 }
17794}
17795#[cfg(feature = "Win32_Security_Cryptography")]
17796impl ::core::cmp::Eq for SecPkgContext_IssuerListInfoEx {}
17797#[cfg(feature = "Win32_Security_Cryptography")]
17798impl ::core::default::Default for SecPkgContext_IssuerListInfoEx {
17799 fn default() -> Self {
17800 unsafe { ::core::mem::zeroed() }
17801 }
17802}
17803#[repr(C)]
17804#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17805pub struct SecPkgContext_KeyInfoA {
17806 pub sSignatureAlgorithmName: *mut i8,
17807 pub sEncryptAlgorithmName: *mut i8,
17808 pub KeySize: u32,
17809 pub SignatureAlgorithm: u32,
17810 pub EncryptAlgorithm: u32,
17811}
17812impl ::core::marker::Copy for SecPkgContext_KeyInfoA {}
17813impl ::core::clone::Clone for SecPkgContext_KeyInfoA {
17814 fn clone(&self) -> Self {
17815 *self
17816 }
17817}
17818impl ::core::fmt::Debug for SecPkgContext_KeyInfoA {
17819 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17820 f.debug_struct("SecPkgContext_KeyInfoA").field("sSignatureAlgorithmName", &self.sSignatureAlgorithmName).field("sEncryptAlgorithmName", &self.sEncryptAlgorithmName).field("KeySize", &self.KeySize).field("SignatureAlgorithm", &self.SignatureAlgorithm).field("EncryptAlgorithm", &self.EncryptAlgorithm).finish()
17821 }
17822}
17823impl ::windows::core::TypeKind for SecPkgContext_KeyInfoA {
17824 type TypeKind = ::windows::core::CopyType;
17825}
17826impl ::core::cmp::PartialEq for SecPkgContext_KeyInfoA {
17827 fn eq(&self, other: &Self) -> bool {
17828 self.sSignatureAlgorithmName == other.sSignatureAlgorithmName && self.sEncryptAlgorithmName == other.sEncryptAlgorithmName && self.KeySize == other.KeySize && self.SignatureAlgorithm == other.SignatureAlgorithm && self.EncryptAlgorithm == other.EncryptAlgorithm
17829 }
17830}
17831impl ::core::cmp::Eq for SecPkgContext_KeyInfoA {}
17832impl ::core::default::Default for SecPkgContext_KeyInfoA {
17833 fn default() -> Self {
17834 unsafe { ::core::mem::zeroed() }
17835 }
17836}
17837#[repr(C)]
17838#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17839pub struct SecPkgContext_KeyInfoW {
17840 pub sSignatureAlgorithmName: *mut u16,
17841 pub sEncryptAlgorithmName: *mut u16,
17842 pub KeySize: u32,
17843 pub SignatureAlgorithm: u32,
17844 pub EncryptAlgorithm: u32,
17845}
17846impl ::core::marker::Copy for SecPkgContext_KeyInfoW {}
17847impl ::core::clone::Clone for SecPkgContext_KeyInfoW {
17848 fn clone(&self) -> Self {
17849 *self
17850 }
17851}
17852impl ::core::fmt::Debug for SecPkgContext_KeyInfoW {
17853 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17854 f.debug_struct("SecPkgContext_KeyInfoW").field("sSignatureAlgorithmName", &self.sSignatureAlgorithmName).field("sEncryptAlgorithmName", &self.sEncryptAlgorithmName).field("KeySize", &self.KeySize).field("SignatureAlgorithm", &self.SignatureAlgorithm).field("EncryptAlgorithm", &self.EncryptAlgorithm).finish()
17855 }
17856}
17857impl ::windows::core::TypeKind for SecPkgContext_KeyInfoW {
17858 type TypeKind = ::windows::core::CopyType;
17859}
17860impl ::core::cmp::PartialEq for SecPkgContext_KeyInfoW {
17861 fn eq(&self, other: &Self) -> bool {
17862 self.sSignatureAlgorithmName == other.sSignatureAlgorithmName && self.sEncryptAlgorithmName == other.sEncryptAlgorithmName && self.KeySize == other.KeySize && self.SignatureAlgorithm == other.SignatureAlgorithm && self.EncryptAlgorithm == other.EncryptAlgorithm
17863 }
17864}
17865impl ::core::cmp::Eq for SecPkgContext_KeyInfoW {}
17866impl ::core::default::Default for SecPkgContext_KeyInfoW {
17867 fn default() -> Self {
17868 unsafe { ::core::mem::zeroed() }
17869 }
17870}
17871#[repr(C)]
17872#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17873pub struct SecPkgContext_KeyingMaterial {
17874 pub cbKeyingMaterial: u32,
17875 pub pbKeyingMaterial: *mut u8,
17876}
17877impl ::core::marker::Copy for SecPkgContext_KeyingMaterial {}
17878impl ::core::clone::Clone for SecPkgContext_KeyingMaterial {
17879 fn clone(&self) -> Self {
17880 *self
17881 }
17882}
17883impl ::core::fmt::Debug for SecPkgContext_KeyingMaterial {
17884 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17885 f.debug_struct("SecPkgContext_KeyingMaterial").field("cbKeyingMaterial", &self.cbKeyingMaterial).field("pbKeyingMaterial", &self.pbKeyingMaterial).finish()
17886 }
17887}
17888impl ::windows::core::TypeKind for SecPkgContext_KeyingMaterial {
17889 type TypeKind = ::windows::core::CopyType;
17890}
17891impl ::core::cmp::PartialEq for SecPkgContext_KeyingMaterial {
17892 fn eq(&self, other: &Self) -> bool {
17893 self.cbKeyingMaterial == other.cbKeyingMaterial && self.pbKeyingMaterial == other.pbKeyingMaterial
17894 }
17895}
17896impl ::core::cmp::Eq for SecPkgContext_KeyingMaterial {}
17897impl ::core::default::Default for SecPkgContext_KeyingMaterial {
17898 fn default() -> Self {
17899 unsafe { ::core::mem::zeroed() }
17900 }
17901}
17902#[repr(C)]
17903#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17904pub struct SecPkgContext_KeyingMaterialInfo {
17905 pub cbLabel: u16,
17906 pub pszLabel: ::windows::core::PSTR,
17907 pub cbContextValue: u16,
17908 pub pbContextValue: *mut u8,
17909 pub cbKeyingMaterial: u32,
17910}
17911impl ::core::marker::Copy for SecPkgContext_KeyingMaterialInfo {}
17912impl ::core::clone::Clone for SecPkgContext_KeyingMaterialInfo {
17913 fn clone(&self) -> Self {
17914 *self
17915 }
17916}
17917impl ::core::fmt::Debug for SecPkgContext_KeyingMaterialInfo {
17918 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17919 f.debug_struct("SecPkgContext_KeyingMaterialInfo").field("cbLabel", &self.cbLabel).field("pszLabel", &self.pszLabel).field("cbContextValue", &self.cbContextValue).field("pbContextValue", &self.pbContextValue).field("cbKeyingMaterial", &self.cbKeyingMaterial).finish()
17920 }
17921}
17922impl ::windows::core::TypeKind for SecPkgContext_KeyingMaterialInfo {
17923 type TypeKind = ::windows::core::CopyType;
17924}
17925impl ::core::cmp::PartialEq for SecPkgContext_KeyingMaterialInfo {
17926 fn eq(&self, other: &Self) -> bool {
17927 self.cbLabel == other.cbLabel && self.pszLabel == other.pszLabel && self.cbContextValue == other.cbContextValue && self.pbContextValue == other.pbContextValue && self.cbKeyingMaterial == other.cbKeyingMaterial
17928 }
17929}
17930impl ::core::cmp::Eq for SecPkgContext_KeyingMaterialInfo {}
17931impl ::core::default::Default for SecPkgContext_KeyingMaterialInfo {
17932 fn default() -> Self {
17933 unsafe { ::core::mem::zeroed() }
17934 }
17935}
17936#[repr(C)]
17937#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17938pub struct SecPkgContext_KeyingMaterial_Inproc {
17939 pub cbLabel: u16,
17940 pub pszLabel: ::windows::core::PSTR,
17941 pub cbContextValue: u16,
17942 pub pbContextValue: *mut u8,
17943 pub cbKeyingMaterial: u32,
17944 pub pbKeyingMaterial: *mut u8,
17945}
17946impl ::core::marker::Copy for SecPkgContext_KeyingMaterial_Inproc {}
17947impl ::core::clone::Clone for SecPkgContext_KeyingMaterial_Inproc {
17948 fn clone(&self) -> Self {
17949 *self
17950 }
17951}
17952impl ::core::fmt::Debug for SecPkgContext_KeyingMaterial_Inproc {
17953 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17954 f.debug_struct("SecPkgContext_KeyingMaterial_Inproc").field("cbLabel", &self.cbLabel).field("pszLabel", &self.pszLabel).field("cbContextValue", &self.cbContextValue).field("pbContextValue", &self.pbContextValue).field("cbKeyingMaterial", &self.cbKeyingMaterial).field("pbKeyingMaterial", &self.pbKeyingMaterial).finish()
17955 }
17956}
17957impl ::windows::core::TypeKind for SecPkgContext_KeyingMaterial_Inproc {
17958 type TypeKind = ::windows::core::CopyType;
17959}
17960impl ::core::cmp::PartialEq for SecPkgContext_KeyingMaterial_Inproc {
17961 fn eq(&self, other: &Self) -> bool {
17962 self.cbLabel == other.cbLabel && self.pszLabel == other.pszLabel && self.cbContextValue == other.cbContextValue && self.pbContextValue == other.pbContextValue && self.cbKeyingMaterial == other.cbKeyingMaterial && self.pbKeyingMaterial == other.pbKeyingMaterial
17963 }
17964}
17965impl ::core::cmp::Eq for SecPkgContext_KeyingMaterial_Inproc {}
17966impl ::core::default::Default for SecPkgContext_KeyingMaterial_Inproc {
17967 fn default() -> Self {
17968 unsafe { ::core::mem::zeroed() }
17969 }
17970}
17971#[repr(C)]
17972#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
17973pub struct SecPkgContext_LastClientTokenStatus {
17974 pub LastClientTokenStatus: SECPKG_ATTR_LCT_STATUS,
17975}
17976impl ::core::marker::Copy for SecPkgContext_LastClientTokenStatus {}
17977impl ::core::clone::Clone for SecPkgContext_LastClientTokenStatus {
17978 fn clone(&self) -> Self {
17979 *self
17980 }
17981}
17982impl ::core::fmt::Debug for SecPkgContext_LastClientTokenStatus {
17983 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17984 f.debug_struct("SecPkgContext_LastClientTokenStatus").field("LastClientTokenStatus", &self.LastClientTokenStatus).finish()
17985 }
17986}
17987impl ::windows::core::TypeKind for SecPkgContext_LastClientTokenStatus {
17988 type TypeKind = ::windows::core::CopyType;
17989}
17990impl ::core::cmp::PartialEq for SecPkgContext_LastClientTokenStatus {
17991 fn eq(&self, other: &Self) -> bool {
17992 self.LastClientTokenStatus == other.LastClientTokenStatus
17993 }
17994}
17995impl ::core::cmp::Eq for SecPkgContext_LastClientTokenStatus {}
17996impl ::core::default::Default for SecPkgContext_LastClientTokenStatus {
17997 fn default() -> Self {
17998 unsafe { ::core::mem::zeroed() }
17999 }
18000}
18001#[repr(C)]
18002#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18003pub struct SecPkgContext_Lifespan {
18004 pub tsStart: i64,
18005 pub tsExpiry: i64,
18006}
18007impl ::core::marker::Copy for SecPkgContext_Lifespan {}
18008impl ::core::clone::Clone for SecPkgContext_Lifespan {
18009 fn clone(&self) -> Self {
18010 *self
18011 }
18012}
18013impl ::core::fmt::Debug for SecPkgContext_Lifespan {
18014 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18015 f.debug_struct("SecPkgContext_Lifespan").field("tsStart", &self.tsStart).field("tsExpiry", &self.tsExpiry).finish()
18016 }
18017}
18018impl ::windows::core::TypeKind for SecPkgContext_Lifespan {
18019 type TypeKind = ::windows::core::CopyType;
18020}
18021impl ::core::cmp::PartialEq for SecPkgContext_Lifespan {
18022 fn eq(&self, other: &Self) -> bool {
18023 self.tsStart == other.tsStart && self.tsExpiry == other.tsExpiry
18024 }
18025}
18026impl ::core::cmp::Eq for SecPkgContext_Lifespan {}
18027impl ::core::default::Default for SecPkgContext_Lifespan {
18028 fn default() -> Self {
18029 unsafe { ::core::mem::zeroed() }
18030 }
18031}
18032#[repr(C)]
18033#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18034pub struct SecPkgContext_LocalCredentialInfo {
18035 pub cbCertificateChain: u32,
18036 pub pbCertificateChain: *mut u8,
18037 pub cCertificates: u32,
18038 pub fFlags: u32,
18039 pub dwBits: u32,
18040}
18041impl ::core::marker::Copy for SecPkgContext_LocalCredentialInfo {}
18042impl ::core::clone::Clone for SecPkgContext_LocalCredentialInfo {
18043 fn clone(&self) -> Self {
18044 *self
18045 }
18046}
18047impl ::core::fmt::Debug for SecPkgContext_LocalCredentialInfo {
18048 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18049 f.debug_struct("SecPkgContext_LocalCredentialInfo").field("cbCertificateChain", &self.cbCertificateChain).field("pbCertificateChain", &self.pbCertificateChain).field("cCertificates", &self.cCertificates).field("fFlags", &self.fFlags).field("dwBits", &self.dwBits).finish()
18050 }
18051}
18052impl ::windows::core::TypeKind for SecPkgContext_LocalCredentialInfo {
18053 type TypeKind = ::windows::core::CopyType;
18054}
18055impl ::core::cmp::PartialEq for SecPkgContext_LocalCredentialInfo {
18056 fn eq(&self, other: &Self) -> bool {
18057 self.cbCertificateChain == other.cbCertificateChain && self.pbCertificateChain == other.pbCertificateChain && self.cCertificates == other.cCertificates && self.fFlags == other.fFlags && self.dwBits == other.dwBits
18058 }
18059}
18060impl ::core::cmp::Eq for SecPkgContext_LocalCredentialInfo {}
18061impl ::core::default::Default for SecPkgContext_LocalCredentialInfo {
18062 fn default() -> Self {
18063 unsafe { ::core::mem::zeroed() }
18064 }
18065}
18066#[repr(C)]
18067#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18068pub struct SecPkgContext_LogoffTime {
18069 pub tsLogoffTime: i64,
18070}
18071impl ::core::marker::Copy for SecPkgContext_LogoffTime {}
18072impl ::core::clone::Clone for SecPkgContext_LogoffTime {
18073 fn clone(&self) -> Self {
18074 *self
18075 }
18076}
18077impl ::core::fmt::Debug for SecPkgContext_LogoffTime {
18078 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18079 f.debug_struct("SecPkgContext_LogoffTime").field("tsLogoffTime", &self.tsLogoffTime).finish()
18080 }
18081}
18082impl ::windows::core::TypeKind for SecPkgContext_LogoffTime {
18083 type TypeKind = ::windows::core::CopyType;
18084}
18085impl ::core::cmp::PartialEq for SecPkgContext_LogoffTime {
18086 fn eq(&self, other: &Self) -> bool {
18087 self.tsLogoffTime == other.tsLogoffTime
18088 }
18089}
18090impl ::core::cmp::Eq for SecPkgContext_LogoffTime {}
18091impl ::core::default::Default for SecPkgContext_LogoffTime {
18092 fn default() -> Self {
18093 unsafe { ::core::mem::zeroed() }
18094 }
18095}
18096#[repr(C)]
18097#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18098pub struct SecPkgContext_MappedCredAttr {
18099 pub dwAttribute: u32,
18100 pub pvBuffer: *mut ::core::ffi::c_void,
18101}
18102impl ::core::marker::Copy for SecPkgContext_MappedCredAttr {}
18103impl ::core::clone::Clone for SecPkgContext_MappedCredAttr {
18104 fn clone(&self) -> Self {
18105 *self
18106 }
18107}
18108impl ::core::fmt::Debug for SecPkgContext_MappedCredAttr {
18109 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18110 f.debug_struct("SecPkgContext_MappedCredAttr").field("dwAttribute", &self.dwAttribute).field("pvBuffer", &self.pvBuffer).finish()
18111 }
18112}
18113impl ::windows::core::TypeKind for SecPkgContext_MappedCredAttr {
18114 type TypeKind = ::windows::core::CopyType;
18115}
18116impl ::core::cmp::PartialEq for SecPkgContext_MappedCredAttr {
18117 fn eq(&self, other: &Self) -> bool {
18118 self.dwAttribute == other.dwAttribute && self.pvBuffer == other.pvBuffer
18119 }
18120}
18121impl ::core::cmp::Eq for SecPkgContext_MappedCredAttr {}
18122impl ::core::default::Default for SecPkgContext_MappedCredAttr {
18123 fn default() -> Self {
18124 unsafe { ::core::mem::zeroed() }
18125 }
18126}
18127#[repr(C)]
18128#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18129pub struct SecPkgContext_NamesA {
18130 pub sUserName: *mut i8,
18131}
18132impl ::core::marker::Copy for SecPkgContext_NamesA {}
18133impl ::core::clone::Clone for SecPkgContext_NamesA {
18134 fn clone(&self) -> Self {
18135 *self
18136 }
18137}
18138impl ::core::fmt::Debug for SecPkgContext_NamesA {
18139 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18140 f.debug_struct("SecPkgContext_NamesA").field("sUserName", &self.sUserName).finish()
18141 }
18142}
18143impl ::windows::core::TypeKind for SecPkgContext_NamesA {
18144 type TypeKind = ::windows::core::CopyType;
18145}
18146impl ::core::cmp::PartialEq for SecPkgContext_NamesA {
18147 fn eq(&self, other: &Self) -> bool {
18148 self.sUserName == other.sUserName
18149 }
18150}
18151impl ::core::cmp::Eq for SecPkgContext_NamesA {}
18152impl ::core::default::Default for SecPkgContext_NamesA {
18153 fn default() -> Self {
18154 unsafe { ::core::mem::zeroed() }
18155 }
18156}
18157#[repr(C)]
18158#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18159pub struct SecPkgContext_NamesW {
18160 pub sUserName: *mut u16,
18161}
18162impl ::core::marker::Copy for SecPkgContext_NamesW {}
18163impl ::core::clone::Clone for SecPkgContext_NamesW {
18164 fn clone(&self) -> Self {
18165 *self
18166 }
18167}
18168impl ::core::fmt::Debug for SecPkgContext_NamesW {
18169 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18170 f.debug_struct("SecPkgContext_NamesW").field("sUserName", &self.sUserName).finish()
18171 }
18172}
18173impl ::windows::core::TypeKind for SecPkgContext_NamesW {
18174 type TypeKind = ::windows::core::CopyType;
18175}
18176impl ::core::cmp::PartialEq for SecPkgContext_NamesW {
18177 fn eq(&self, other: &Self) -> bool {
18178 self.sUserName == other.sUserName
18179 }
18180}
18181impl ::core::cmp::Eq for SecPkgContext_NamesW {}
18182impl ::core::default::Default for SecPkgContext_NamesW {
18183 fn default() -> Self {
18184 unsafe { ::core::mem::zeroed() }
18185 }
18186}
18187#[repr(C)]
18188#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18189pub struct SecPkgContext_NativeNamesA {
18190 pub sClientName: *mut i8,
18191 pub sServerName: *mut i8,
18192}
18193impl ::core::marker::Copy for SecPkgContext_NativeNamesA {}
18194impl ::core::clone::Clone for SecPkgContext_NativeNamesA {
18195 fn clone(&self) -> Self {
18196 *self
18197 }
18198}
18199impl ::core::fmt::Debug for SecPkgContext_NativeNamesA {
18200 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18201 f.debug_struct("SecPkgContext_NativeNamesA").field("sClientName", &self.sClientName).field("sServerName", &self.sServerName).finish()
18202 }
18203}
18204impl ::windows::core::TypeKind for SecPkgContext_NativeNamesA {
18205 type TypeKind = ::windows::core::CopyType;
18206}
18207impl ::core::cmp::PartialEq for SecPkgContext_NativeNamesA {
18208 fn eq(&self, other: &Self) -> bool {
18209 self.sClientName == other.sClientName && self.sServerName == other.sServerName
18210 }
18211}
18212impl ::core::cmp::Eq for SecPkgContext_NativeNamesA {}
18213impl ::core::default::Default for SecPkgContext_NativeNamesA {
18214 fn default() -> Self {
18215 unsafe { ::core::mem::zeroed() }
18216 }
18217}
18218#[repr(C)]
18219#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18220pub struct SecPkgContext_NativeNamesW {
18221 pub sClientName: *mut u16,
18222 pub sServerName: *mut u16,
18223}
18224impl ::core::marker::Copy for SecPkgContext_NativeNamesW {}
18225impl ::core::clone::Clone for SecPkgContext_NativeNamesW {
18226 fn clone(&self) -> Self {
18227 *self
18228 }
18229}
18230impl ::core::fmt::Debug for SecPkgContext_NativeNamesW {
18231 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18232 f.debug_struct("SecPkgContext_NativeNamesW").field("sClientName", &self.sClientName).field("sServerName", &self.sServerName).finish()
18233 }
18234}
18235impl ::windows::core::TypeKind for SecPkgContext_NativeNamesW {
18236 type TypeKind = ::windows::core::CopyType;
18237}
18238impl ::core::cmp::PartialEq for SecPkgContext_NativeNamesW {
18239 fn eq(&self, other: &Self) -> bool {
18240 self.sClientName == other.sClientName && self.sServerName == other.sServerName
18241 }
18242}
18243impl ::core::cmp::Eq for SecPkgContext_NativeNamesW {}
18244impl ::core::default::Default for SecPkgContext_NativeNamesW {
18245 fn default() -> Self {
18246 unsafe { ::core::mem::zeroed() }
18247 }
18248}
18249#[repr(C)]
18250#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18251pub struct SecPkgContext_NegoKeys {
18252 pub KeyType: u32,
18253 pub KeyLength: u16,
18254 pub KeyValue: *mut u8,
18255 pub VerifyKeyType: u32,
18256 pub VerifyKeyLength: u16,
18257 pub VerifyKeyValue: *mut u8,
18258}
18259impl ::core::marker::Copy for SecPkgContext_NegoKeys {}
18260impl ::core::clone::Clone for SecPkgContext_NegoKeys {
18261 fn clone(&self) -> Self {
18262 *self
18263 }
18264}
18265impl ::core::fmt::Debug for SecPkgContext_NegoKeys {
18266 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18267 f.debug_struct("SecPkgContext_NegoKeys").field("KeyType", &self.KeyType).field("KeyLength", &self.KeyLength).field("KeyValue", &self.KeyValue).field("VerifyKeyType", &self.VerifyKeyType).field("VerifyKeyLength", &self.VerifyKeyLength).field("VerifyKeyValue", &self.VerifyKeyValue).finish()
18268 }
18269}
18270impl ::windows::core::TypeKind for SecPkgContext_NegoKeys {
18271 type TypeKind = ::windows::core::CopyType;
18272}
18273impl ::core::cmp::PartialEq for SecPkgContext_NegoKeys {
18274 fn eq(&self, other: &Self) -> bool {
18275 self.KeyType == other.KeyType && self.KeyLength == other.KeyLength && self.KeyValue == other.KeyValue && self.VerifyKeyType == other.VerifyKeyType && self.VerifyKeyLength == other.VerifyKeyLength && self.VerifyKeyValue == other.VerifyKeyValue
18276 }
18277}
18278impl ::core::cmp::Eq for SecPkgContext_NegoKeys {}
18279impl ::core::default::Default for SecPkgContext_NegoKeys {
18280 fn default() -> Self {
18281 unsafe { ::core::mem::zeroed() }
18282 }
18283}
18284#[repr(C)]
18285#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18286pub struct SecPkgContext_NegoPackageInfo {
18287 pub PackageMask: u32,
18288}
18289impl ::core::marker::Copy for SecPkgContext_NegoPackageInfo {}
18290impl ::core::clone::Clone for SecPkgContext_NegoPackageInfo {
18291 fn clone(&self) -> Self {
18292 *self
18293 }
18294}
18295impl ::core::fmt::Debug for SecPkgContext_NegoPackageInfo {
18296 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18297 f.debug_struct("SecPkgContext_NegoPackageInfo").field("PackageMask", &self.PackageMask).finish()
18298 }
18299}
18300impl ::windows::core::TypeKind for SecPkgContext_NegoPackageInfo {
18301 type TypeKind = ::windows::core::CopyType;
18302}
18303impl ::core::cmp::PartialEq for SecPkgContext_NegoPackageInfo {
18304 fn eq(&self, other: &Self) -> bool {
18305 self.PackageMask == other.PackageMask
18306 }
18307}
18308impl ::core::cmp::Eq for SecPkgContext_NegoPackageInfo {}
18309impl ::core::default::Default for SecPkgContext_NegoPackageInfo {
18310 fn default() -> Self {
18311 unsafe { ::core::mem::zeroed() }
18312 }
18313}
18314#[repr(C)]
18315#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18316pub struct SecPkgContext_NegoStatus {
18317 pub LastStatus: u32,
18318}
18319impl ::core::marker::Copy for SecPkgContext_NegoStatus {}
18320impl ::core::clone::Clone for SecPkgContext_NegoStatus {
18321 fn clone(&self) -> Self {
18322 *self
18323 }
18324}
18325impl ::core::fmt::Debug for SecPkgContext_NegoStatus {
18326 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18327 f.debug_struct("SecPkgContext_NegoStatus").field("LastStatus", &self.LastStatus).finish()
18328 }
18329}
18330impl ::windows::core::TypeKind for SecPkgContext_NegoStatus {
18331 type TypeKind = ::windows::core::CopyType;
18332}
18333impl ::core::cmp::PartialEq for SecPkgContext_NegoStatus {
18334 fn eq(&self, other: &Self) -> bool {
18335 self.LastStatus == other.LastStatus
18336 }
18337}
18338impl ::core::cmp::Eq for SecPkgContext_NegoStatus {}
18339impl ::core::default::Default for SecPkgContext_NegoStatus {
18340 fn default() -> Self {
18341 unsafe { ::core::mem::zeroed() }
18342 }
18343}
18344#[repr(C)]
18345#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18346pub struct SecPkgContext_NegotiatedTlsExtensions {
18347 pub ExtensionsCount: u32,
18348 pub Extensions: *mut u16,
18349}
18350impl ::core::marker::Copy for SecPkgContext_NegotiatedTlsExtensions {}
18351impl ::core::clone::Clone for SecPkgContext_NegotiatedTlsExtensions {
18352 fn clone(&self) -> Self {
18353 *self
18354 }
18355}
18356impl ::core::fmt::Debug for SecPkgContext_NegotiatedTlsExtensions {
18357 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18358 f.debug_struct("SecPkgContext_NegotiatedTlsExtensions").field("ExtensionsCount", &self.ExtensionsCount).field("Extensions", &self.Extensions).finish()
18359 }
18360}
18361impl ::windows::core::TypeKind for SecPkgContext_NegotiatedTlsExtensions {
18362 type TypeKind = ::windows::core::CopyType;
18363}
18364impl ::core::cmp::PartialEq for SecPkgContext_NegotiatedTlsExtensions {
18365 fn eq(&self, other: &Self) -> bool {
18366 self.ExtensionsCount == other.ExtensionsCount && self.Extensions == other.Extensions
18367 }
18368}
18369impl ::core::cmp::Eq for SecPkgContext_NegotiatedTlsExtensions {}
18370impl ::core::default::Default for SecPkgContext_NegotiatedTlsExtensions {
18371 fn default() -> Self {
18372 unsafe { ::core::mem::zeroed() }
18373 }
18374}
18375#[repr(C)]
18376#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18377pub struct SecPkgContext_NegotiationInfoA {
18378 pub PackageInfo: *mut SecPkgInfoA,
18379 pub NegotiationState: u32,
18380}
18381impl ::core::marker::Copy for SecPkgContext_NegotiationInfoA {}
18382impl ::core::clone::Clone for SecPkgContext_NegotiationInfoA {
18383 fn clone(&self) -> Self {
18384 *self
18385 }
18386}
18387impl ::core::fmt::Debug for SecPkgContext_NegotiationInfoA {
18388 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18389 f.debug_struct("SecPkgContext_NegotiationInfoA").field("PackageInfo", &self.PackageInfo).field("NegotiationState", &self.NegotiationState).finish()
18390 }
18391}
18392impl ::windows::core::TypeKind for SecPkgContext_NegotiationInfoA {
18393 type TypeKind = ::windows::core::CopyType;
18394}
18395impl ::core::cmp::PartialEq for SecPkgContext_NegotiationInfoA {
18396 fn eq(&self, other: &Self) -> bool {
18397 self.PackageInfo == other.PackageInfo && self.NegotiationState == other.NegotiationState
18398 }
18399}
18400impl ::core::cmp::Eq for SecPkgContext_NegotiationInfoA {}
18401impl ::core::default::Default for SecPkgContext_NegotiationInfoA {
18402 fn default() -> Self {
18403 unsafe { ::core::mem::zeroed() }
18404 }
18405}
18406#[repr(C)]
18407#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18408pub struct SecPkgContext_NegotiationInfoW {
18409 pub PackageInfo: *mut SecPkgInfoW,
18410 pub NegotiationState: u32,
18411}
18412impl ::core::marker::Copy for SecPkgContext_NegotiationInfoW {}
18413impl ::core::clone::Clone for SecPkgContext_NegotiationInfoW {
18414 fn clone(&self) -> Self {
18415 *self
18416 }
18417}
18418impl ::core::fmt::Debug for SecPkgContext_NegotiationInfoW {
18419 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18420 f.debug_struct("SecPkgContext_NegotiationInfoW").field("PackageInfo", &self.PackageInfo).field("NegotiationState", &self.NegotiationState).finish()
18421 }
18422}
18423impl ::windows::core::TypeKind for SecPkgContext_NegotiationInfoW {
18424 type TypeKind = ::windows::core::CopyType;
18425}
18426impl ::core::cmp::PartialEq for SecPkgContext_NegotiationInfoW {
18427 fn eq(&self, other: &Self) -> bool {
18428 self.PackageInfo == other.PackageInfo && self.NegotiationState == other.NegotiationState
18429 }
18430}
18431impl ::core::cmp::Eq for SecPkgContext_NegotiationInfoW {}
18432impl ::core::default::Default for SecPkgContext_NegotiationInfoW {
18433 fn default() -> Self {
18434 unsafe { ::core::mem::zeroed() }
18435 }
18436}
18437#[repr(C)]
18438#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18439pub struct SecPkgContext_PackageInfoA {
18440 pub PackageInfo: *mut SecPkgInfoA,
18441}
18442impl ::core::marker::Copy for SecPkgContext_PackageInfoA {}
18443impl ::core::clone::Clone for SecPkgContext_PackageInfoA {
18444 fn clone(&self) -> Self {
18445 *self
18446 }
18447}
18448impl ::core::fmt::Debug for SecPkgContext_PackageInfoA {
18449 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18450 f.debug_struct("SecPkgContext_PackageInfoA").field("PackageInfo", &self.PackageInfo).finish()
18451 }
18452}
18453impl ::windows::core::TypeKind for SecPkgContext_PackageInfoA {
18454 type TypeKind = ::windows::core::CopyType;
18455}
18456impl ::core::cmp::PartialEq for SecPkgContext_PackageInfoA {
18457 fn eq(&self, other: &Self) -> bool {
18458 self.PackageInfo == other.PackageInfo
18459 }
18460}
18461impl ::core::cmp::Eq for SecPkgContext_PackageInfoA {}
18462impl ::core::default::Default for SecPkgContext_PackageInfoA {
18463 fn default() -> Self {
18464 unsafe { ::core::mem::zeroed() }
18465 }
18466}
18467#[repr(C)]
18468#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18469pub struct SecPkgContext_PackageInfoW {
18470 pub PackageInfo: *mut SecPkgInfoW,
18471}
18472impl ::core::marker::Copy for SecPkgContext_PackageInfoW {}
18473impl ::core::clone::Clone for SecPkgContext_PackageInfoW {
18474 fn clone(&self) -> Self {
18475 *self
18476 }
18477}
18478impl ::core::fmt::Debug for SecPkgContext_PackageInfoW {
18479 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18480 f.debug_struct("SecPkgContext_PackageInfoW").field("PackageInfo", &self.PackageInfo).finish()
18481 }
18482}
18483impl ::windows::core::TypeKind for SecPkgContext_PackageInfoW {
18484 type TypeKind = ::windows::core::CopyType;
18485}
18486impl ::core::cmp::PartialEq for SecPkgContext_PackageInfoW {
18487 fn eq(&self, other: &Self) -> bool {
18488 self.PackageInfo == other.PackageInfo
18489 }
18490}
18491impl ::core::cmp::Eq for SecPkgContext_PackageInfoW {}
18492impl ::core::default::Default for SecPkgContext_PackageInfoW {
18493 fn default() -> Self {
18494 unsafe { ::core::mem::zeroed() }
18495 }
18496}
18497#[repr(C)]
18498#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18499pub struct SecPkgContext_PasswordExpiry {
18500 pub tsPasswordExpires: i64,
18501}
18502impl ::core::marker::Copy for SecPkgContext_PasswordExpiry {}
18503impl ::core::clone::Clone for SecPkgContext_PasswordExpiry {
18504 fn clone(&self) -> Self {
18505 *self
18506 }
18507}
18508impl ::core::fmt::Debug for SecPkgContext_PasswordExpiry {
18509 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18510 f.debug_struct("SecPkgContext_PasswordExpiry").field("tsPasswordExpires", &self.tsPasswordExpires).finish()
18511 }
18512}
18513impl ::windows::core::TypeKind for SecPkgContext_PasswordExpiry {
18514 type TypeKind = ::windows::core::CopyType;
18515}
18516impl ::core::cmp::PartialEq for SecPkgContext_PasswordExpiry {
18517 fn eq(&self, other: &Self) -> bool {
18518 self.tsPasswordExpires == other.tsPasswordExpires
18519 }
18520}
18521impl ::core::cmp::Eq for SecPkgContext_PasswordExpiry {}
18522impl ::core::default::Default for SecPkgContext_PasswordExpiry {
18523 fn default() -> Self {
18524 unsafe { ::core::mem::zeroed() }
18525 }
18526}
18527#[repr(C)]
18528#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18529pub struct SecPkgContext_ProtoInfoA {
18530 pub sProtocolName: *mut i8,
18531 pub majorVersion: u32,
18532 pub minorVersion: u32,
18533}
18534impl ::core::marker::Copy for SecPkgContext_ProtoInfoA {}
18535impl ::core::clone::Clone for SecPkgContext_ProtoInfoA {
18536 fn clone(&self) -> Self {
18537 *self
18538 }
18539}
18540impl ::core::fmt::Debug for SecPkgContext_ProtoInfoA {
18541 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18542 f.debug_struct("SecPkgContext_ProtoInfoA").field("sProtocolName", &self.sProtocolName).field("majorVersion", &self.majorVersion).field("minorVersion", &self.minorVersion).finish()
18543 }
18544}
18545impl ::windows::core::TypeKind for SecPkgContext_ProtoInfoA {
18546 type TypeKind = ::windows::core::CopyType;
18547}
18548impl ::core::cmp::PartialEq for SecPkgContext_ProtoInfoA {
18549 fn eq(&self, other: &Self) -> bool {
18550 self.sProtocolName == other.sProtocolName && self.majorVersion == other.majorVersion && self.minorVersion == other.minorVersion
18551 }
18552}
18553impl ::core::cmp::Eq for SecPkgContext_ProtoInfoA {}
18554impl ::core::default::Default for SecPkgContext_ProtoInfoA {
18555 fn default() -> Self {
18556 unsafe { ::core::mem::zeroed() }
18557 }
18558}
18559#[repr(C)]
18560#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18561pub struct SecPkgContext_ProtoInfoW {
18562 pub sProtocolName: *mut u16,
18563 pub majorVersion: u32,
18564 pub minorVersion: u32,
18565}
18566impl ::core::marker::Copy for SecPkgContext_ProtoInfoW {}
18567impl ::core::clone::Clone for SecPkgContext_ProtoInfoW {
18568 fn clone(&self) -> Self {
18569 *self
18570 }
18571}
18572impl ::core::fmt::Debug for SecPkgContext_ProtoInfoW {
18573 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18574 f.debug_struct("SecPkgContext_ProtoInfoW").field("sProtocolName", &self.sProtocolName).field("majorVersion", &self.majorVersion).field("minorVersion", &self.minorVersion).finish()
18575 }
18576}
18577impl ::windows::core::TypeKind for SecPkgContext_ProtoInfoW {
18578 type TypeKind = ::windows::core::CopyType;
18579}
18580impl ::core::cmp::PartialEq for SecPkgContext_ProtoInfoW {
18581 fn eq(&self, other: &Self) -> bool {
18582 self.sProtocolName == other.sProtocolName && self.majorVersion == other.majorVersion && self.minorVersion == other.minorVersion
18583 }
18584}
18585impl ::core::cmp::Eq for SecPkgContext_ProtoInfoW {}
18586impl ::core::default::Default for SecPkgContext_ProtoInfoW {
18587 fn default() -> Self {
18588 unsafe { ::core::mem::zeroed() }
18589 }
18590}
18591#[repr(C)]
18592#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18593pub struct SecPkgContext_RemoteCredentialInfo {
18594 pub cbCertificateChain: u32,
18595 pub pbCertificateChain: *mut u8,
18596 pub cCertificates: u32,
18597 pub fFlags: u32,
18598 pub dwBits: u32,
18599}
18600impl ::core::marker::Copy for SecPkgContext_RemoteCredentialInfo {}
18601impl ::core::clone::Clone for SecPkgContext_RemoteCredentialInfo {
18602 fn clone(&self) -> Self {
18603 *self
18604 }
18605}
18606impl ::core::fmt::Debug for SecPkgContext_RemoteCredentialInfo {
18607 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18608 f.debug_struct("SecPkgContext_RemoteCredentialInfo").field("cbCertificateChain", &self.cbCertificateChain).field("pbCertificateChain", &self.pbCertificateChain).field("cCertificates", &self.cCertificates).field("fFlags", &self.fFlags).field("dwBits", &self.dwBits).finish()
18609 }
18610}
18611impl ::windows::core::TypeKind for SecPkgContext_RemoteCredentialInfo {
18612 type TypeKind = ::windows::core::CopyType;
18613}
18614impl ::core::cmp::PartialEq for SecPkgContext_RemoteCredentialInfo {
18615 fn eq(&self, other: &Self) -> bool {
18616 self.cbCertificateChain == other.cbCertificateChain && self.pbCertificateChain == other.pbCertificateChain && self.cCertificates == other.cCertificates && self.fFlags == other.fFlags && self.dwBits == other.dwBits
18617 }
18618}
18619impl ::core::cmp::Eq for SecPkgContext_RemoteCredentialInfo {}
18620impl ::core::default::Default for SecPkgContext_RemoteCredentialInfo {
18621 fn default() -> Self {
18622 unsafe { ::core::mem::zeroed() }
18623 }
18624}
18625#[repr(C)]
18626#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18627pub struct SecPkgContext_SaslContext {
18628 pub SaslContext: *mut ::core::ffi::c_void,
18629}
18630impl ::core::marker::Copy for SecPkgContext_SaslContext {}
18631impl ::core::clone::Clone for SecPkgContext_SaslContext {
18632 fn clone(&self) -> Self {
18633 *self
18634 }
18635}
18636impl ::core::fmt::Debug for SecPkgContext_SaslContext {
18637 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18638 f.debug_struct("SecPkgContext_SaslContext").field("SaslContext", &self.SaslContext).finish()
18639 }
18640}
18641impl ::windows::core::TypeKind for SecPkgContext_SaslContext {
18642 type TypeKind = ::windows::core::CopyType;
18643}
18644impl ::core::cmp::PartialEq for SecPkgContext_SaslContext {
18645 fn eq(&self, other: &Self) -> bool {
18646 self.SaslContext == other.SaslContext
18647 }
18648}
18649impl ::core::cmp::Eq for SecPkgContext_SaslContext {}
18650impl ::core::default::Default for SecPkgContext_SaslContext {
18651 fn default() -> Self {
18652 unsafe { ::core::mem::zeroed() }
18653 }
18654}
18655#[repr(C)]
18656#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18657pub struct SecPkgContext_SessionAppData {
18658 pub dwFlags: u32,
18659 pub cbAppData: u32,
18660 pub pbAppData: *mut u8,
18661}
18662impl ::core::marker::Copy for SecPkgContext_SessionAppData {}
18663impl ::core::clone::Clone for SecPkgContext_SessionAppData {
18664 fn clone(&self) -> Self {
18665 *self
18666 }
18667}
18668impl ::core::fmt::Debug for SecPkgContext_SessionAppData {
18669 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18670 f.debug_struct("SecPkgContext_SessionAppData").field("dwFlags", &self.dwFlags).field("cbAppData", &self.cbAppData).field("pbAppData", &self.pbAppData).finish()
18671 }
18672}
18673impl ::windows::core::TypeKind for SecPkgContext_SessionAppData {
18674 type TypeKind = ::windows::core::CopyType;
18675}
18676impl ::core::cmp::PartialEq for SecPkgContext_SessionAppData {
18677 fn eq(&self, other: &Self) -> bool {
18678 self.dwFlags == other.dwFlags && self.cbAppData == other.cbAppData && self.pbAppData == other.pbAppData
18679 }
18680}
18681impl ::core::cmp::Eq for SecPkgContext_SessionAppData {}
18682impl ::core::default::Default for SecPkgContext_SessionAppData {
18683 fn default() -> Self {
18684 unsafe { ::core::mem::zeroed() }
18685 }
18686}
18687#[repr(C)]
18688#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18689pub struct SecPkgContext_SessionInfo {
18690 pub dwFlags: u32,
18691 pub cbSessionId: u32,
18692 pub rgbSessionId: [u8; 32],
18693}
18694impl ::core::marker::Copy for SecPkgContext_SessionInfo {}
18695impl ::core::clone::Clone for SecPkgContext_SessionInfo {
18696 fn clone(&self) -> Self {
18697 *self
18698 }
18699}
18700impl ::core::fmt::Debug for SecPkgContext_SessionInfo {
18701 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18702 f.debug_struct("SecPkgContext_SessionInfo").field("dwFlags", &self.dwFlags).field("cbSessionId", &self.cbSessionId).field("rgbSessionId", &self.rgbSessionId).finish()
18703 }
18704}
18705impl ::windows::core::TypeKind for SecPkgContext_SessionInfo {
18706 type TypeKind = ::windows::core::CopyType;
18707}
18708impl ::core::cmp::PartialEq for SecPkgContext_SessionInfo {
18709 fn eq(&self, other: &Self) -> bool {
18710 self.dwFlags == other.dwFlags && self.cbSessionId == other.cbSessionId && self.rgbSessionId == other.rgbSessionId
18711 }
18712}
18713impl ::core::cmp::Eq for SecPkgContext_SessionInfo {}
18714impl ::core::default::Default for SecPkgContext_SessionInfo {
18715 fn default() -> Self {
18716 unsafe { ::core::mem::zeroed() }
18717 }
18718}
18719#[repr(C)]
18720#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18721pub struct SecPkgContext_SessionKey {
18722 pub SessionKeyLength: u32,
18723 pub SessionKey: *mut u8,
18724}
18725impl ::core::marker::Copy for SecPkgContext_SessionKey {}
18726impl ::core::clone::Clone for SecPkgContext_SessionKey {
18727 fn clone(&self) -> Self {
18728 *self
18729 }
18730}
18731impl ::core::fmt::Debug for SecPkgContext_SessionKey {
18732 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18733 f.debug_struct("SecPkgContext_SessionKey").field("SessionKeyLength", &self.SessionKeyLength).field("SessionKey", &self.SessionKey).finish()
18734 }
18735}
18736impl ::windows::core::TypeKind for SecPkgContext_SessionKey {
18737 type TypeKind = ::windows::core::CopyType;
18738}
18739impl ::core::cmp::PartialEq for SecPkgContext_SessionKey {
18740 fn eq(&self, other: &Self) -> bool {
18741 self.SessionKeyLength == other.SessionKeyLength && self.SessionKey == other.SessionKey
18742 }
18743}
18744impl ::core::cmp::Eq for SecPkgContext_SessionKey {}
18745impl ::core::default::Default for SecPkgContext_SessionKey {
18746 fn default() -> Self {
18747 unsafe { ::core::mem::zeroed() }
18748 }
18749}
18750#[repr(C)]
18751#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18752pub struct SecPkgContext_Sizes {
18753 pub cbMaxToken: u32,
18754 pub cbMaxSignature: u32,
18755 pub cbBlockSize: u32,
18756 pub cbSecurityTrailer: u32,
18757}
18758impl ::core::marker::Copy for SecPkgContext_Sizes {}
18759impl ::core::clone::Clone for SecPkgContext_Sizes {
18760 fn clone(&self) -> Self {
18761 *self
18762 }
18763}
18764impl ::core::fmt::Debug for SecPkgContext_Sizes {
18765 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18766 f.debug_struct("SecPkgContext_Sizes").field("cbMaxToken", &self.cbMaxToken).field("cbMaxSignature", &self.cbMaxSignature).field("cbBlockSize", &self.cbBlockSize).field("cbSecurityTrailer", &self.cbSecurityTrailer).finish()
18767 }
18768}
18769impl ::windows::core::TypeKind for SecPkgContext_Sizes {
18770 type TypeKind = ::windows::core::CopyType;
18771}
18772impl ::core::cmp::PartialEq for SecPkgContext_Sizes {
18773 fn eq(&self, other: &Self) -> bool {
18774 self.cbMaxToken == other.cbMaxToken && self.cbMaxSignature == other.cbMaxSignature && self.cbBlockSize == other.cbBlockSize && self.cbSecurityTrailer == other.cbSecurityTrailer
18775 }
18776}
18777impl ::core::cmp::Eq for SecPkgContext_Sizes {}
18778impl ::core::default::Default for SecPkgContext_Sizes {
18779 fn default() -> Self {
18780 unsafe { ::core::mem::zeroed() }
18781 }
18782}
18783#[repr(C)]
18784#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18785pub struct SecPkgContext_SrtpParameters {
18786 pub ProtectionProfile: u16,
18787 pub MasterKeyIdentifierSize: u8,
18788 pub MasterKeyIdentifier: *mut u8,
18789}
18790impl ::core::marker::Copy for SecPkgContext_SrtpParameters {}
18791impl ::core::clone::Clone for SecPkgContext_SrtpParameters {
18792 fn clone(&self) -> Self {
18793 *self
18794 }
18795}
18796impl ::core::fmt::Debug for SecPkgContext_SrtpParameters {
18797 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18798 f.debug_struct("SecPkgContext_SrtpParameters").field("ProtectionProfile", &self.ProtectionProfile).field("MasterKeyIdentifierSize", &self.MasterKeyIdentifierSize).field("MasterKeyIdentifier", &self.MasterKeyIdentifier).finish()
18799 }
18800}
18801impl ::windows::core::TypeKind for SecPkgContext_SrtpParameters {
18802 type TypeKind = ::windows::core::CopyType;
18803}
18804impl ::core::cmp::PartialEq for SecPkgContext_SrtpParameters {
18805 fn eq(&self, other: &Self) -> bool {
18806 self.ProtectionProfile == other.ProtectionProfile && self.MasterKeyIdentifierSize == other.MasterKeyIdentifierSize && self.MasterKeyIdentifier == other.MasterKeyIdentifier
18807 }
18808}
18809impl ::core::cmp::Eq for SecPkgContext_SrtpParameters {}
18810impl ::core::default::Default for SecPkgContext_SrtpParameters {
18811 fn default() -> Self {
18812 unsafe { ::core::mem::zeroed() }
18813 }
18814}
18815#[repr(C)]
18816#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18817pub struct SecPkgContext_StreamSizes {
18818 pub cbHeader: u32,
18819 pub cbTrailer: u32,
18820 pub cbMaximumMessage: u32,
18821 pub cBuffers: u32,
18822 pub cbBlockSize: u32,
18823}
18824impl ::core::marker::Copy for SecPkgContext_StreamSizes {}
18825impl ::core::clone::Clone for SecPkgContext_StreamSizes {
18826 fn clone(&self) -> Self {
18827 *self
18828 }
18829}
18830impl ::core::fmt::Debug for SecPkgContext_StreamSizes {
18831 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18832 f.debug_struct("SecPkgContext_StreamSizes").field("cbHeader", &self.cbHeader).field("cbTrailer", &self.cbTrailer).field("cbMaximumMessage", &self.cbMaximumMessage).field("cBuffers", &self.cBuffers).field("cbBlockSize", &self.cbBlockSize).finish()
18833 }
18834}
18835impl ::windows::core::TypeKind for SecPkgContext_StreamSizes {
18836 type TypeKind = ::windows::core::CopyType;
18837}
18838impl ::core::cmp::PartialEq for SecPkgContext_StreamSizes {
18839 fn eq(&self, other: &Self) -> bool {
18840 self.cbHeader == other.cbHeader && self.cbTrailer == other.cbTrailer && self.cbMaximumMessage == other.cbMaximumMessage && self.cBuffers == other.cBuffers && self.cbBlockSize == other.cbBlockSize
18841 }
18842}
18843impl ::core::cmp::Eq for SecPkgContext_StreamSizes {}
18844impl ::core::default::Default for SecPkgContext_StreamSizes {
18845 fn default() -> Self {
18846 unsafe { ::core::mem::zeroed() }
18847 }
18848}
18849#[repr(C)]
18850#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18851pub struct SecPkgContext_SubjectAttributes {
18852 pub AttributeInfo: *mut ::core::ffi::c_void,
18853}
18854impl ::core::marker::Copy for SecPkgContext_SubjectAttributes {}
18855impl ::core::clone::Clone for SecPkgContext_SubjectAttributes {
18856 fn clone(&self) -> Self {
18857 *self
18858 }
18859}
18860impl ::core::fmt::Debug for SecPkgContext_SubjectAttributes {
18861 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18862 f.debug_struct("SecPkgContext_SubjectAttributes").field("AttributeInfo", &self.AttributeInfo).finish()
18863 }
18864}
18865impl ::windows::core::TypeKind for SecPkgContext_SubjectAttributes {
18866 type TypeKind = ::windows::core::CopyType;
18867}
18868impl ::core::cmp::PartialEq for SecPkgContext_SubjectAttributes {
18869 fn eq(&self, other: &Self) -> bool {
18870 self.AttributeInfo == other.AttributeInfo
18871 }
18872}
18873impl ::core::cmp::Eq for SecPkgContext_SubjectAttributes {}
18874impl ::core::default::Default for SecPkgContext_SubjectAttributes {
18875 fn default() -> Self {
18876 unsafe { ::core::mem::zeroed() }
18877 }
18878}
18879#[repr(C)]
18880#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18881pub struct SecPkgContext_SupportedSignatures {
18882 pub cSignatureAndHashAlgorithms: u16,
18883 pub pSignatureAndHashAlgorithms: *mut u16,
18884}
18885impl ::core::marker::Copy for SecPkgContext_SupportedSignatures {}
18886impl ::core::clone::Clone for SecPkgContext_SupportedSignatures {
18887 fn clone(&self) -> Self {
18888 *self
18889 }
18890}
18891impl ::core::fmt::Debug for SecPkgContext_SupportedSignatures {
18892 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18893 f.debug_struct("SecPkgContext_SupportedSignatures").field("cSignatureAndHashAlgorithms", &self.cSignatureAndHashAlgorithms).field("pSignatureAndHashAlgorithms", &self.pSignatureAndHashAlgorithms).finish()
18894 }
18895}
18896impl ::windows::core::TypeKind for SecPkgContext_SupportedSignatures {
18897 type TypeKind = ::windows::core::CopyType;
18898}
18899impl ::core::cmp::PartialEq for SecPkgContext_SupportedSignatures {
18900 fn eq(&self, other: &Self) -> bool {
18901 self.cSignatureAndHashAlgorithms == other.cSignatureAndHashAlgorithms && self.pSignatureAndHashAlgorithms == other.pSignatureAndHashAlgorithms
18902 }
18903}
18904impl ::core::cmp::Eq for SecPkgContext_SupportedSignatures {}
18905impl ::core::default::Default for SecPkgContext_SupportedSignatures {
18906 fn default() -> Self {
18907 unsafe { ::core::mem::zeroed() }
18908 }
18909}
18910#[repr(C)]
18911#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18912pub struct SecPkgContext_Target {
18913 pub TargetLength: u32,
18914 pub Target: ::windows::core::PSTR,
18915}
18916impl ::core::marker::Copy for SecPkgContext_Target {}
18917impl ::core::clone::Clone for SecPkgContext_Target {
18918 fn clone(&self) -> Self {
18919 *self
18920 }
18921}
18922impl ::core::fmt::Debug for SecPkgContext_Target {
18923 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18924 f.debug_struct("SecPkgContext_Target").field("TargetLength", &self.TargetLength).field("Target", &self.Target).finish()
18925 }
18926}
18927impl ::windows::core::TypeKind for SecPkgContext_Target {
18928 type TypeKind = ::windows::core::CopyType;
18929}
18930impl ::core::cmp::PartialEq for SecPkgContext_Target {
18931 fn eq(&self, other: &Self) -> bool {
18932 self.TargetLength == other.TargetLength && self.Target == other.Target
18933 }
18934}
18935impl ::core::cmp::Eq for SecPkgContext_Target {}
18936impl ::core::default::Default for SecPkgContext_Target {
18937 fn default() -> Self {
18938 unsafe { ::core::mem::zeroed() }
18939 }
18940}
18941#[repr(C)]
18942#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18943pub struct SecPkgContext_TargetInformation {
18944 pub MarshalledTargetInfoLength: u32,
18945 pub MarshalledTargetInfo: *mut u8,
18946}
18947impl ::core::marker::Copy for SecPkgContext_TargetInformation {}
18948impl ::core::clone::Clone for SecPkgContext_TargetInformation {
18949 fn clone(&self) -> Self {
18950 *self
18951 }
18952}
18953impl ::core::fmt::Debug for SecPkgContext_TargetInformation {
18954 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18955 f.debug_struct("SecPkgContext_TargetInformation").field("MarshalledTargetInfoLength", &self.MarshalledTargetInfoLength).field("MarshalledTargetInfo", &self.MarshalledTargetInfo).finish()
18956 }
18957}
18958impl ::windows::core::TypeKind for SecPkgContext_TargetInformation {
18959 type TypeKind = ::windows::core::CopyType;
18960}
18961impl ::core::cmp::PartialEq for SecPkgContext_TargetInformation {
18962 fn eq(&self, other: &Self) -> bool {
18963 self.MarshalledTargetInfoLength == other.MarshalledTargetInfoLength && self.MarshalledTargetInfo == other.MarshalledTargetInfo
18964 }
18965}
18966impl ::core::cmp::Eq for SecPkgContext_TargetInformation {}
18967impl ::core::default::Default for SecPkgContext_TargetInformation {
18968 fn default() -> Self {
18969 unsafe { ::core::mem::zeroed() }
18970 }
18971}
18972#[repr(C)]
18973#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
18974pub struct SecPkgContext_TokenBinding {
18975 pub MajorVersion: u8,
18976 pub MinorVersion: u8,
18977 pub KeyParametersSize: u16,
18978 pub KeyParameters: *mut u8,
18979}
18980impl ::core::marker::Copy for SecPkgContext_TokenBinding {}
18981impl ::core::clone::Clone for SecPkgContext_TokenBinding {
18982 fn clone(&self) -> Self {
18983 *self
18984 }
18985}
18986impl ::core::fmt::Debug for SecPkgContext_TokenBinding {
18987 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18988 f.debug_struct("SecPkgContext_TokenBinding").field("MajorVersion", &self.MajorVersion).field("MinorVersion", &self.MinorVersion).field("KeyParametersSize", &self.KeyParametersSize).field("KeyParameters", &self.KeyParameters).finish()
18989 }
18990}
18991impl ::windows::core::TypeKind for SecPkgContext_TokenBinding {
18992 type TypeKind = ::windows::core::CopyType;
18993}
18994impl ::core::cmp::PartialEq for SecPkgContext_TokenBinding {
18995 fn eq(&self, other: &Self) -> bool {
18996 self.MajorVersion == other.MajorVersion && self.MinorVersion == other.MinorVersion && self.KeyParametersSize == other.KeyParametersSize && self.KeyParameters == other.KeyParameters
18997 }
18998}
18999impl ::core::cmp::Eq for SecPkgContext_TokenBinding {}
19000impl ::core::default::Default for SecPkgContext_TokenBinding {
19001 fn default() -> Self {
19002 unsafe { ::core::mem::zeroed() }
19003 }
19004}
19005#[repr(C)]
19006#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
19007#[cfg(feature = "Win32_Foundation")]
19008pub struct SecPkgContext_UiInfo {
19009 pub hParentWindow: super::super::super::Foundation::HWND,
19010}
19011#[cfg(feature = "Win32_Foundation")]
19012impl ::core::marker::Copy for SecPkgContext_UiInfo {}
19013#[cfg(feature = "Win32_Foundation")]
19014impl ::core::clone::Clone for SecPkgContext_UiInfo {
19015 fn clone(&self) -> Self {
19016 *self
19017 }
19018}
19019#[cfg(feature = "Win32_Foundation")]
19020impl ::core::fmt::Debug for SecPkgContext_UiInfo {
19021 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19022 f.debug_struct("SecPkgContext_UiInfo").field("hParentWindow", &self.hParentWindow).finish()
19023 }
19024}
19025#[cfg(feature = "Win32_Foundation")]
19026impl ::windows::core::TypeKind for SecPkgContext_UiInfo {
19027 type TypeKind = ::windows::core::CopyType;
19028}
19029#[cfg(feature = "Win32_Foundation")]
19030impl ::core::cmp::PartialEq for SecPkgContext_UiInfo {
19031 fn eq(&self, other: &Self) -> bool {
19032 self.hParentWindow == other.hParentWindow
19033 }
19034}
19035#[cfg(feature = "Win32_Foundation")]
19036impl ::core::cmp::Eq for SecPkgContext_UiInfo {}
19037#[cfg(feature = "Win32_Foundation")]
19038impl ::core::default::Default for SecPkgContext_UiInfo {
19039 fn default() -> Self {
19040 unsafe { ::core::mem::zeroed() }
19041 }
19042}
19043#[repr(C)]
19044#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
19045pub struct SecPkgContext_UserFlags {
19046 pub UserFlags: u32,
19047}
19048impl ::core::marker::Copy for SecPkgContext_UserFlags {}
19049impl ::core::clone::Clone for SecPkgContext_UserFlags {
19050 fn clone(&self) -> Self {
19051 *self
19052 }
19053}
19054impl ::core::fmt::Debug for SecPkgContext_UserFlags {
19055 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19056 f.debug_struct("SecPkgContext_UserFlags").field("UserFlags", &self.UserFlags).finish()
19057 }
19058}
19059impl ::windows::core::TypeKind for SecPkgContext_UserFlags {
19060 type TypeKind = ::windows::core::CopyType;
19061}
19062impl ::core::cmp::PartialEq for SecPkgContext_UserFlags {
19063 fn eq(&self, other: &Self) -> bool {
19064 self.UserFlags == other.UserFlags
19065 }
19066}
19067impl ::core::cmp::Eq for SecPkgContext_UserFlags {}
19068impl ::core::default::Default for SecPkgContext_UserFlags {
19069 fn default() -> Self {
19070 unsafe { ::core::mem::zeroed() }
19071 }
19072}
19073#[repr(C)]
19074#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
19075pub struct SecPkgCred_CipherStrengths {
19076 pub dwMinimumCipherStrength: u32,
19077 pub dwMaximumCipherStrength: u32,
19078}
19079impl ::core::marker::Copy for SecPkgCred_CipherStrengths {}
19080impl ::core::clone::Clone for SecPkgCred_CipherStrengths {
19081 fn clone(&self) -> Self {
19082 *self
19083 }
19084}
19085impl ::core::fmt::Debug for SecPkgCred_CipherStrengths {
19086 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19087 f.debug_struct("SecPkgCred_CipherStrengths").field("dwMinimumCipherStrength", &self.dwMinimumCipherStrength).field("dwMaximumCipherStrength", &self.dwMaximumCipherStrength).finish()
19088 }
19089}
19090impl ::windows::core::TypeKind for SecPkgCred_CipherStrengths {
19091 type TypeKind = ::windows::core::CopyType;
19092}
19093impl ::core::cmp::PartialEq for SecPkgCred_CipherStrengths {
19094 fn eq(&self, other: &Self) -> bool {
19095 self.dwMinimumCipherStrength == other.dwMinimumCipherStrength && self.dwMaximumCipherStrength == other.dwMaximumCipherStrength
19096 }
19097}
19098impl ::core::cmp::Eq for SecPkgCred_CipherStrengths {}
19099impl ::core::default::Default for SecPkgCred_CipherStrengths {
19100 fn default() -> Self {
19101 unsafe { ::core::mem::zeroed() }
19102 }
19103}
19104#[repr(C)]
19105#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
19106#[cfg(feature = "Win32_Foundation")]
19107pub struct SecPkgCred_ClientCertPolicy {
19108 pub dwFlags: u32,
19109 pub guidPolicyId: ::windows::core::GUID,
19110 pub dwCertFlags: u32,
19111 pub dwUrlRetrievalTimeout: u32,
19112 pub fCheckRevocationFreshnessTime: super::super::super::Foundation::BOOL,
19113 pub dwRevocationFreshnessTime: u32,
19114 pub fOmitUsageCheck: super::super::super::Foundation::BOOL,
19115 pub pwszSslCtlStoreName: ::windows::core::PWSTR,
19116 pub pwszSslCtlIdentifier: ::windows::core::PWSTR,
19117}
19118#[cfg(feature = "Win32_Foundation")]
19119impl ::core::marker::Copy for SecPkgCred_ClientCertPolicy {}
19120#[cfg(feature = "Win32_Foundation")]
19121impl ::core::clone::Clone for SecPkgCred_ClientCertPolicy {
19122 fn clone(&self) -> Self {
19123 *self
19124 }
19125}
19126#[cfg(feature = "Win32_Foundation")]
19127impl ::core::fmt::Debug for SecPkgCred_ClientCertPolicy {
19128 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19129 f.debug_struct("SecPkgCred_ClientCertPolicy")
19130 .field("dwFlags", &self.dwFlags)
19131 .field("guidPolicyId", &self.guidPolicyId)
19132 .field("dwCertFlags", &self.dwCertFlags)
19133 .field("dwUrlRetrievalTimeout", &self.dwUrlRetrievalTimeout)
19134 .field("fCheckRevocationFreshnessTime", &self.fCheckRevocationFreshnessTime)
19135 .field("dwRevocationFreshnessTime", &self.dwRevocationFreshnessTime)
19136 .field("fOmitUsageCheck", &self.fOmitUsageCheck)
19137 .field("pwszSslCtlStoreName", &self.pwszSslCtlStoreName)
19138 .field("pwszSslCtlIdentifier", &self.pwszSslCtlIdentifier)
19139 .finish()
19140 }
19141}
19142#[cfg(feature = "Win32_Foundation")]
19143impl ::windows::core::TypeKind for SecPkgCred_ClientCertPolicy {
19144 type TypeKind = ::windows::core::CopyType;
19145}
19146#[cfg(feature = "Win32_Foundation")]
19147impl ::core::cmp::PartialEq for SecPkgCred_ClientCertPolicy {
19148 fn eq(&self, other: &Self) -> bool {
19149 self.dwFlags == other.dwFlags && self.guidPolicyId == other.guidPolicyId && self.dwCertFlags == other.dwCertFlags && self.dwUrlRetrievalTimeout == other.dwUrlRetrievalTimeout && self.fCheckRevocationFreshnessTime == other.fCheckRevocationFreshnessTime && self.dwRevocationFreshnessTime == other.dwRevocationFreshnessTime && self.fOmitUsageCheck == other.fOmitUsageCheck && self.pwszSslCtlStoreName == other.pwszSslCtlStoreName && self.pwszSslCtlIdentifier == other.pwszSslCtlIdentifier
19150 }
19151}
19152#[cfg(feature = "Win32_Foundation")]
19153impl ::core::cmp::Eq for SecPkgCred_ClientCertPolicy {}
19154#[cfg(feature = "Win32_Foundation")]
19155impl ::core::default::Default for SecPkgCred_ClientCertPolicy {
19156 fn default() -> Self {
19157 unsafe { ::core::mem::zeroed() }
19158 }
19159}
19160#[repr(C)]
19161#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
19162pub struct SecPkgCred_SessionTicketKey {
19163 pub TicketInfoVersion: u32,
19164 pub KeyId: [u8; 16],
19165 pub KeyingMaterial: [u8; 64],
19166 pub KeyingMaterialSize: u8,
19167}
19168impl ::core::marker::Copy for SecPkgCred_SessionTicketKey {}
19169impl ::core::clone::Clone for SecPkgCred_SessionTicketKey {
19170 fn clone(&self) -> Self {
19171 *self
19172 }
19173}
19174impl ::core::fmt::Debug for SecPkgCred_SessionTicketKey {
19175 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19176 f.debug_struct("SecPkgCred_SessionTicketKey").field("TicketInfoVersion", &self.TicketInfoVersion).field("KeyId", &self.KeyId).field("KeyingMaterial", &self.KeyingMaterial).field("KeyingMaterialSize", &self.KeyingMaterialSize).finish()
19177 }
19178}
19179impl ::windows::core::TypeKind for SecPkgCred_SessionTicketKey {
19180 type TypeKind = ::windows::core::CopyType;
19181}
19182impl ::core::cmp::PartialEq for SecPkgCred_SessionTicketKey {
19183 fn eq(&self, other: &Self) -> bool {
19184 self.TicketInfoVersion == other.TicketInfoVersion && self.KeyId == other.KeyId && self.KeyingMaterial == other.KeyingMaterial && self.KeyingMaterialSize == other.KeyingMaterialSize
19185 }
19186}
19187impl ::core::cmp::Eq for SecPkgCred_SessionTicketKey {}
19188impl ::core::default::Default for SecPkgCred_SessionTicketKey {
19189 fn default() -> Self {
19190 unsafe { ::core::mem::zeroed() }
19191 }
19192}
19193#[repr(C)]
19194#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
19195pub struct SecPkgCred_SessionTicketKeys {
19196 pub cSessionTicketKeys: u32,
19197 pub pSessionTicketKeys: *mut SecPkgCred_SessionTicketKey,
19198}
19199impl ::core::marker::Copy for SecPkgCred_SessionTicketKeys {}
19200impl ::core::clone::Clone for SecPkgCred_SessionTicketKeys {
19201 fn clone(&self) -> Self {
19202 *self
19203 }
19204}
19205impl ::core::fmt::Debug for SecPkgCred_SessionTicketKeys {
19206 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19207 f.debug_struct("SecPkgCred_SessionTicketKeys").field("cSessionTicketKeys", &self.cSessionTicketKeys).field("pSessionTicketKeys", &self.pSessionTicketKeys).finish()
19208 }
19209}
19210impl ::windows::core::TypeKind for SecPkgCred_SessionTicketKeys {
19211 type TypeKind = ::windows::core::CopyType;
19212}
19213impl ::core::cmp::PartialEq for SecPkgCred_SessionTicketKeys {
19214 fn eq(&self, other: &Self) -> bool {
19215 self.cSessionTicketKeys == other.cSessionTicketKeys && self.pSessionTicketKeys == other.pSessionTicketKeys
19216 }
19217}
19218impl ::core::cmp::Eq for SecPkgCred_SessionTicketKeys {}
19219impl ::core::default::Default for SecPkgCred_SessionTicketKeys {
19220 fn default() -> Self {
19221 unsafe { ::core::mem::zeroed() }
19222 }
19223}
19224#[repr(C)]
19225#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
19226pub struct SecPkgCred_SupportedAlgs {
19227 pub cSupportedAlgs: u32,
19228 pub palgSupportedAlgs: *mut u32,
19229}
19230impl ::core::marker::Copy for SecPkgCred_SupportedAlgs {}
19231impl ::core::clone::Clone for SecPkgCred_SupportedAlgs {
19232 fn clone(&self) -> Self {
19233 *self
19234 }
19235}
19236impl ::core::fmt::Debug for SecPkgCred_SupportedAlgs {
19237 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19238 f.debug_struct("SecPkgCred_SupportedAlgs").field("cSupportedAlgs", &self.cSupportedAlgs).field("palgSupportedAlgs", &self.palgSupportedAlgs).finish()
19239 }
19240}
19241impl ::windows::core::TypeKind for SecPkgCred_SupportedAlgs {
19242 type TypeKind = ::windows::core::CopyType;
19243}
19244impl ::core::cmp::PartialEq for SecPkgCred_SupportedAlgs {
19245 fn eq(&self, other: &Self) -> bool {
19246 self.cSupportedAlgs == other.cSupportedAlgs && self.palgSupportedAlgs == other.palgSupportedAlgs
19247 }
19248}
19249impl ::core::cmp::Eq for SecPkgCred_SupportedAlgs {}
19250impl ::core::default::Default for SecPkgCred_SupportedAlgs {
19251 fn default() -> Self {
19252 unsafe { ::core::mem::zeroed() }
19253 }
19254}
19255#[repr(C)]
19256#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
19257pub struct SecPkgCred_SupportedProtocols {
19258 pub grbitProtocol: u32,
19259}
19260impl ::core::marker::Copy for SecPkgCred_SupportedProtocols {}
19261impl ::core::clone::Clone for SecPkgCred_SupportedProtocols {
19262 fn clone(&self) -> Self {
19263 *self
19264 }
19265}
19266impl ::core::fmt::Debug for SecPkgCred_SupportedProtocols {
19267 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19268 f.debug_struct("SecPkgCred_SupportedProtocols").field("grbitProtocol", &self.grbitProtocol).finish()
19269 }
19270}
19271impl ::windows::core::TypeKind for SecPkgCred_SupportedProtocols {
19272 type TypeKind = ::windows::core::CopyType;
19273}
19274impl ::core::cmp::PartialEq for SecPkgCred_SupportedProtocols {
19275 fn eq(&self, other: &Self) -> bool {
19276 self.grbitProtocol == other.grbitProtocol
19277 }
19278}
19279impl ::core::cmp::Eq for SecPkgCred_SupportedProtocols {}
19280impl ::core::default::Default for SecPkgCred_SupportedProtocols {
19281 fn default() -> Self {
19282 unsafe { ::core::mem::zeroed() }
19283 }
19284}
19285#[repr(C)]
19286#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
19287pub struct SecPkgCredentials_Cert {
19288 pub EncodedCertSize: u32,
19289 pub EncodedCert: *mut u8,
19290}
19291impl ::core::marker::Copy for SecPkgCredentials_Cert {}
19292impl ::core::clone::Clone for SecPkgCredentials_Cert {
19293 fn clone(&self) -> Self {
19294 *self
19295 }
19296}
19297impl ::core::fmt::Debug for SecPkgCredentials_Cert {
19298 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19299 f.debug_struct("SecPkgCredentials_Cert").field("EncodedCertSize", &self.EncodedCertSize).field("EncodedCert", &self.EncodedCert).finish()
19300 }
19301}
19302impl ::windows::core::TypeKind for SecPkgCredentials_Cert {
19303 type TypeKind = ::windows::core::CopyType;
19304}
19305impl ::core::cmp::PartialEq for SecPkgCredentials_Cert {
19306 fn eq(&self, other: &Self) -> bool {
19307 self.EncodedCertSize == other.EncodedCertSize && self.EncodedCert == other.EncodedCert
19308 }
19309}
19310impl ::core::cmp::Eq for SecPkgCredentials_Cert {}
19311impl ::core::default::Default for SecPkgCredentials_Cert {
19312 fn default() -> Self {
19313 unsafe { ::core::mem::zeroed() }
19314 }
19315}
19316#[repr(C)]
19317#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
19318pub struct SecPkgCredentials_KdcProxySettingsW {
19319 pub Version: u32,
19320 pub Flags: u32,
19321 pub ProxyServerOffset: u16,
19322 pub ProxyServerLength: u16,
19323 pub ClientTlsCredOffset: u16,
19324 pub ClientTlsCredLength: u16,
19325}
19326impl ::core::marker::Copy for SecPkgCredentials_KdcProxySettingsW {}
19327impl ::core::clone::Clone for SecPkgCredentials_KdcProxySettingsW {
19328 fn clone(&self) -> Self {
19329 *self
19330 }
19331}
19332impl ::core::fmt::Debug for SecPkgCredentials_KdcProxySettingsW {
19333 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19334 f.debug_struct("SecPkgCredentials_KdcProxySettingsW").field("Version", &self.Version).field("Flags", &self.Flags).field("ProxyServerOffset", &self.ProxyServerOffset).field("ProxyServerLength", &self.ProxyServerLength).field("ClientTlsCredOffset", &self.ClientTlsCredOffset).field("ClientTlsCredLength", &self.ClientTlsCredLength).finish()
19335 }
19336}
19337impl ::windows::core::TypeKind for SecPkgCredentials_KdcProxySettingsW {
19338 type TypeKind = ::windows::core::CopyType;
19339}
19340impl ::core::cmp::PartialEq for SecPkgCredentials_KdcProxySettingsW {
19341 fn eq(&self, other: &Self) -> bool {
19342 self.Version == other.Version && self.Flags == other.Flags && self.ProxyServerOffset == other.ProxyServerOffset && self.ProxyServerLength == other.ProxyServerLength && self.ClientTlsCredOffset == other.ClientTlsCredOffset && self.ClientTlsCredLength == other.ClientTlsCredLength
19343 }
19344}
19345impl ::core::cmp::Eq for SecPkgCredentials_KdcProxySettingsW {}
19346impl ::core::default::Default for SecPkgCredentials_KdcProxySettingsW {
19347 fn default() -> Self {
19348 unsafe { ::core::mem::zeroed() }
19349 }
19350}
19351#[repr(C)]
19352#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
19353pub struct SecPkgCredentials_NamesA {
19354 pub sUserName: *mut i8,
19355}
19356impl ::core::marker::Copy for SecPkgCredentials_NamesA {}
19357impl ::core::clone::Clone for SecPkgCredentials_NamesA {
19358 fn clone(&self) -> Self {
19359 *self
19360 }
19361}
19362impl ::core::fmt::Debug for SecPkgCredentials_NamesA {
19363 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19364 f.debug_struct("SecPkgCredentials_NamesA").field("sUserName", &self.sUserName).finish()
19365 }
19366}
19367impl ::windows::core::TypeKind for SecPkgCredentials_NamesA {
19368 type TypeKind = ::windows::core::CopyType;
19369}
19370impl ::core::cmp::PartialEq for SecPkgCredentials_NamesA {
19371 fn eq(&self, other: &Self) -> bool {
19372 self.sUserName == other.sUserName
19373 }
19374}
19375impl ::core::cmp::Eq for SecPkgCredentials_NamesA {}
19376impl ::core::default::Default for SecPkgCredentials_NamesA {
19377 fn default() -> Self {
19378 unsafe { ::core::mem::zeroed() }
19379 }
19380}
19381#[repr(C)]
19382#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
19383pub struct SecPkgCredentials_NamesW {
19384 pub sUserName: *mut u16,
19385}
19386impl ::core::marker::Copy for SecPkgCredentials_NamesW {}
19387impl ::core::clone::Clone for SecPkgCredentials_NamesW {
19388 fn clone(&self) -> Self {
19389 *self
19390 }
19391}
19392impl ::core::fmt::Debug for SecPkgCredentials_NamesW {
19393 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19394 f.debug_struct("SecPkgCredentials_NamesW").field("sUserName", &self.sUserName).finish()
19395 }
19396}
19397impl ::windows::core::TypeKind for SecPkgCredentials_NamesW {
19398 type TypeKind = ::windows::core::CopyType;
19399}
19400impl ::core::cmp::PartialEq for SecPkgCredentials_NamesW {
19401 fn eq(&self, other: &Self) -> bool {
19402 self.sUserName == other.sUserName
19403 }
19404}
19405impl ::core::cmp::Eq for SecPkgCredentials_NamesW {}
19406impl ::core::default::Default for SecPkgCredentials_NamesW {
19407 fn default() -> Self {
19408 unsafe { ::core::mem::zeroed() }
19409 }
19410}
19411#[repr(C)]
19412#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
19413pub struct SecPkgCredentials_SSIProviderA {
19414 pub sProviderName: *mut i8,
19415 pub ProviderInfoLength: u32,
19416 pub ProviderInfo: ::windows::core::PSTR,
19417}
19418impl ::core::marker::Copy for SecPkgCredentials_SSIProviderA {}
19419impl ::core::clone::Clone for SecPkgCredentials_SSIProviderA {
19420 fn clone(&self) -> Self {
19421 *self
19422 }
19423}
19424impl ::core::fmt::Debug for SecPkgCredentials_SSIProviderA {
19425 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19426 f.debug_struct("SecPkgCredentials_SSIProviderA").field("sProviderName", &self.sProviderName).field("ProviderInfoLength", &self.ProviderInfoLength).field("ProviderInfo", &self.ProviderInfo).finish()
19427 }
19428}
19429impl ::windows::core::TypeKind for SecPkgCredentials_SSIProviderA {
19430 type TypeKind = ::windows::core::CopyType;
19431}
19432impl ::core::cmp::PartialEq for SecPkgCredentials_SSIProviderA {
19433 fn eq(&self, other: &Self) -> bool {
19434 self.sProviderName == other.sProviderName && self.ProviderInfoLength == other.ProviderInfoLength && self.ProviderInfo == other.ProviderInfo
19435 }
19436}
19437impl ::core::cmp::Eq for SecPkgCredentials_SSIProviderA {}
19438impl ::core::default::Default for SecPkgCredentials_SSIProviderA {
19439 fn default() -> Self {
19440 unsafe { ::core::mem::zeroed() }
19441 }
19442}
19443#[repr(C)]
19444#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
19445pub struct SecPkgCredentials_SSIProviderW {
19446 pub sProviderName: *mut u16,
19447 pub ProviderInfoLength: u32,
19448 pub ProviderInfo: ::windows::core::PSTR,
19449}
19450impl ::core::marker::Copy for SecPkgCredentials_SSIProviderW {}
19451impl ::core::clone::Clone for SecPkgCredentials_SSIProviderW {
19452 fn clone(&self) -> Self {
19453 *self
19454 }
19455}
19456impl ::core::fmt::Debug for SecPkgCredentials_SSIProviderW {
19457 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19458 f.debug_struct("SecPkgCredentials_SSIProviderW").field("sProviderName", &self.sProviderName).field("ProviderInfoLength", &self.ProviderInfoLength).field("ProviderInfo", &self.ProviderInfo).finish()
19459 }
19460}
19461impl ::windows::core::TypeKind for SecPkgCredentials_SSIProviderW {
19462 type TypeKind = ::windows::core::CopyType;
19463}
19464impl ::core::cmp::PartialEq for SecPkgCredentials_SSIProviderW {
19465 fn eq(&self, other: &Self) -> bool {
19466 self.sProviderName == other.sProviderName && self.ProviderInfoLength == other.ProviderInfoLength && self.ProviderInfo == other.ProviderInfo
19467 }
19468}
19469impl ::core::cmp::Eq for SecPkgCredentials_SSIProviderW {}
19470impl ::core::default::Default for SecPkgCredentials_SSIProviderW {
19471 fn default() -> Self {
19472 unsafe { ::core::mem::zeroed() }
19473 }
19474}
19475#[repr(C)]
19476#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
19477pub struct SecPkgInfoA {
19478 pub fCapabilities: u32,
19479 pub wVersion: u16,
19480 pub wRPCID: u16,
19481 pub cbMaxToken: u32,
19482 pub Name: *mut i8,
19483 pub Comment: *mut i8,
19484}
19485impl ::core::marker::Copy for SecPkgInfoA {}
19486impl ::core::clone::Clone for SecPkgInfoA {
19487 fn clone(&self) -> Self {
19488 *self
19489 }
19490}
19491impl ::core::fmt::Debug for SecPkgInfoA {
19492 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19493 f.debug_struct("SecPkgInfoA").field("fCapabilities", &self.fCapabilities).field("wVersion", &self.wVersion).field("wRPCID", &self.wRPCID).field("cbMaxToken", &self.cbMaxToken).field("Name", &self.Name).field("Comment", &self.Comment).finish()
19494 }
19495}
19496impl ::windows::core::TypeKind for SecPkgInfoA {
19497 type TypeKind = ::windows::core::CopyType;
19498}
19499impl ::core::cmp::PartialEq for SecPkgInfoA {
19500 fn eq(&self, other: &Self) -> bool {
19501 self.fCapabilities == other.fCapabilities && self.wVersion == other.wVersion && self.wRPCID == other.wRPCID && self.cbMaxToken == other.cbMaxToken && self.Name == other.Name && self.Comment == other.Comment
19502 }
19503}
19504impl ::core::cmp::Eq for SecPkgInfoA {}
19505impl ::core::default::Default for SecPkgInfoA {
19506 fn default() -> Self {
19507 unsafe { ::core::mem::zeroed() }
19508 }
19509}
19510#[repr(C)]
19511#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
19512pub struct SecPkgInfoW {
19513 pub fCapabilities: u32,
19514 pub wVersion: u16,
19515 pub wRPCID: u16,
19516 pub cbMaxToken: u32,
19517 pub Name: *mut u16,
19518 pub Comment: *mut u16,
19519}
19520impl ::core::marker::Copy for SecPkgInfoW {}
19521impl ::core::clone::Clone for SecPkgInfoW {
19522 fn clone(&self) -> Self {
19523 *self
19524 }
19525}
19526impl ::core::fmt::Debug for SecPkgInfoW {
19527 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19528 f.debug_struct("SecPkgInfoW").field("fCapabilities", &self.fCapabilities).field("wVersion", &self.wVersion).field("wRPCID", &self.wRPCID).field("cbMaxToken", &self.cbMaxToken).field("Name", &self.Name).field("Comment", &self.Comment).finish()
19529 }
19530}
19531impl ::windows::core::TypeKind for SecPkgInfoW {
19532 type TypeKind = ::windows::core::CopyType;
19533}
19534impl ::core::cmp::PartialEq for SecPkgInfoW {
19535 fn eq(&self, other: &Self) -> bool {
19536 self.fCapabilities == other.fCapabilities && self.wVersion == other.wVersion && self.wRPCID == other.wRPCID && self.cbMaxToken == other.cbMaxToken && self.Name == other.Name && self.Comment == other.Comment
19537 }
19538}
19539impl ::core::cmp::Eq for SecPkgInfoW {}
19540impl ::core::default::Default for SecPkgInfoW {
19541 fn default() -> Self {
19542 unsafe { ::core::mem::zeroed() }
19543 }
19544}
19545#[repr(C)]
19546#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_Security_Credentials\"`*"]
19547#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
19548pub struct SecurityFunctionTableA {
19549 pub dwVersion: u32,
19550 pub EnumerateSecurityPackagesA: ENUMERATE_SECURITY_PACKAGES_FN_A,
19551 pub QueryCredentialsAttributesA: QUERY_CREDENTIALS_ATTRIBUTES_FN_A,
19552 pub AcquireCredentialsHandleA: ACQUIRE_CREDENTIALS_HANDLE_FN_A,
19553 pub FreeCredentialsHandle: FREE_CREDENTIALS_HANDLE_FN,
19554 pub Reserved2: *mut ::core::ffi::c_void,
19555 pub InitializeSecurityContextA: INITIALIZE_SECURITY_CONTEXT_FN_A,
19556 pub AcceptSecurityContext: ACCEPT_SECURITY_CONTEXT_FN,
19557 pub CompleteAuthToken: COMPLETE_AUTH_TOKEN_FN,
19558 pub DeleteSecurityContext: DELETE_SECURITY_CONTEXT_FN,
19559 pub ApplyControlToken: APPLY_CONTROL_TOKEN_FN,
19560 pub QueryContextAttributesA: QUERY_CONTEXT_ATTRIBUTES_FN_A,
19561 pub ImpersonateSecurityContext: IMPERSONATE_SECURITY_CONTEXT_FN,
19562 pub RevertSecurityContext: REVERT_SECURITY_CONTEXT_FN,
19563 pub MakeSignature: MAKE_SIGNATURE_FN,
19564 pub VerifySignature: VERIFY_SIGNATURE_FN,
19565 pub FreeContextBuffer: FREE_CONTEXT_BUFFER_FN,
19566 pub QuerySecurityPackageInfoA: QUERY_SECURITY_PACKAGE_INFO_FN_A,
19567 pub Reserved3: *mut ::core::ffi::c_void,
19568 pub Reserved4: *mut ::core::ffi::c_void,
19569 pub ExportSecurityContext: EXPORT_SECURITY_CONTEXT_FN,
19570 pub ImportSecurityContextA: IMPORT_SECURITY_CONTEXT_FN_A,
19571 pub AddCredentialsA: ADD_CREDENTIALS_FN_A,
19572 pub Reserved8: *mut ::core::ffi::c_void,
19573 pub QuerySecurityContextToken: QUERY_SECURITY_CONTEXT_TOKEN_FN,
19574 pub EncryptMessage: ENCRYPT_MESSAGE_FN,
19575 pub DecryptMessage: DECRYPT_MESSAGE_FN,
19576 pub SetContextAttributesA: SET_CONTEXT_ATTRIBUTES_FN_A,
19577 pub SetCredentialsAttributesA: SET_CREDENTIALS_ATTRIBUTES_FN_A,
19578 pub ChangeAccountPasswordA: CHANGE_PASSWORD_FN_A,
19579 pub QueryContextAttributesExA: QUERY_CONTEXT_ATTRIBUTES_EX_FN_A,
19580 pub QueryCredentialsAttributesExA: QUERY_CREDENTIALS_ATTRIBUTES_EX_FN_A,
19581}
19582#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
19583impl ::core::marker::Copy for SecurityFunctionTableA {}
19584#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
19585impl ::core::clone::Clone for SecurityFunctionTableA {
19586 fn clone(&self) -> Self {
19587 *self
19588 }
19589}
19590#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
19591impl ::core::fmt::Debug for SecurityFunctionTableA {
19592 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19593 f.debug_struct("SecurityFunctionTableA").field("dwVersion", &self.dwVersion).field("Reserved2", &self.Reserved2).field("Reserved3", &self.Reserved3).field("Reserved4", &self.Reserved4).field("Reserved8", &self.Reserved8).finish()
19594 }
19595}
19596#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
19597impl ::windows::core::TypeKind for SecurityFunctionTableA {
19598 type TypeKind = ::windows::core::CopyType;
19599}
19600#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
19601impl ::core::default::Default for SecurityFunctionTableA {
19602 fn default() -> Self {
19603 unsafe { ::core::mem::zeroed() }
19604 }
19605}
19606#[repr(C)]
19607#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_Security_Credentials\"`*"]
19608#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
19609pub struct SecurityFunctionTableW {
19610 pub dwVersion: u32,
19611 pub EnumerateSecurityPackagesW: ENUMERATE_SECURITY_PACKAGES_FN_W,
19612 pub QueryCredentialsAttributesW: QUERY_CREDENTIALS_ATTRIBUTES_FN_W,
19613 pub AcquireCredentialsHandleW: ACQUIRE_CREDENTIALS_HANDLE_FN_W,
19614 pub FreeCredentialsHandle: FREE_CREDENTIALS_HANDLE_FN,
19615 pub Reserved2: *mut ::core::ffi::c_void,
19616 pub InitializeSecurityContextW: INITIALIZE_SECURITY_CONTEXT_FN_W,
19617 pub AcceptSecurityContext: ACCEPT_SECURITY_CONTEXT_FN,
19618 pub CompleteAuthToken: COMPLETE_AUTH_TOKEN_FN,
19619 pub DeleteSecurityContext: DELETE_SECURITY_CONTEXT_FN,
19620 pub ApplyControlToken: APPLY_CONTROL_TOKEN_FN,
19621 pub QueryContextAttributesW: QUERY_CONTEXT_ATTRIBUTES_FN_W,
19622 pub ImpersonateSecurityContext: IMPERSONATE_SECURITY_CONTEXT_FN,
19623 pub RevertSecurityContext: REVERT_SECURITY_CONTEXT_FN,
19624 pub MakeSignature: MAKE_SIGNATURE_FN,
19625 pub VerifySignature: VERIFY_SIGNATURE_FN,
19626 pub FreeContextBuffer: FREE_CONTEXT_BUFFER_FN,
19627 pub QuerySecurityPackageInfoW: QUERY_SECURITY_PACKAGE_INFO_FN_W,
19628 pub Reserved3: *mut ::core::ffi::c_void,
19629 pub Reserved4: *mut ::core::ffi::c_void,
19630 pub ExportSecurityContext: EXPORT_SECURITY_CONTEXT_FN,
19631 pub ImportSecurityContextW: IMPORT_SECURITY_CONTEXT_FN_W,
19632 pub AddCredentialsW: ADD_CREDENTIALS_FN_W,
19633 pub Reserved8: *mut ::core::ffi::c_void,
19634 pub QuerySecurityContextToken: QUERY_SECURITY_CONTEXT_TOKEN_FN,
19635 pub EncryptMessage: ENCRYPT_MESSAGE_FN,
19636 pub DecryptMessage: DECRYPT_MESSAGE_FN,
19637 pub SetContextAttributesW: SET_CONTEXT_ATTRIBUTES_FN_W,
19638 pub SetCredentialsAttributesW: SET_CREDENTIALS_ATTRIBUTES_FN_W,
19639 pub ChangeAccountPasswordW: CHANGE_PASSWORD_FN_W,
19640 pub QueryContextAttributesExW: QUERY_CONTEXT_ATTRIBUTES_EX_FN_W,
19641 pub QueryCredentialsAttributesExW: QUERY_CREDENTIALS_ATTRIBUTES_EX_FN_W,
19642}
19643#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
19644impl ::core::marker::Copy for SecurityFunctionTableW {}
19645#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
19646impl ::core::clone::Clone for SecurityFunctionTableW {
19647 fn clone(&self) -> Self {
19648 *self
19649 }
19650}
19651#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
19652impl ::core::fmt::Debug for SecurityFunctionTableW {
19653 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19654 f.debug_struct("SecurityFunctionTableW").field("dwVersion", &self.dwVersion).field("Reserved2", &self.Reserved2).field("Reserved3", &self.Reserved3).field("Reserved4", &self.Reserved4).field("Reserved8", &self.Reserved8).finish()
19655 }
19656}
19657#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
19658impl ::windows::core::TypeKind for SecurityFunctionTableW {
19659 type TypeKind = ::windows::core::CopyType;
19660}
19661#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
19662impl ::core::default::Default for SecurityFunctionTableW {
19663 fn default() -> Self {
19664 unsafe { ::core::mem::zeroed() }
19665 }
19666}
19667#[repr(C)]
19668#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
19669pub struct TLS_EXTENSION_SUBSCRIPTION {
19670 pub ExtensionType: u16,
19671 pub HandshakeType: u16,
19672}
19673impl ::core::marker::Copy for TLS_EXTENSION_SUBSCRIPTION {}
19674impl ::core::clone::Clone for TLS_EXTENSION_SUBSCRIPTION {
19675 fn clone(&self) -> Self {
19676 *self
19677 }
19678}
19679impl ::core::fmt::Debug for TLS_EXTENSION_SUBSCRIPTION {
19680 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19681 f.debug_struct("TLS_EXTENSION_SUBSCRIPTION").field("ExtensionType", &self.ExtensionType).field("HandshakeType", &self.HandshakeType).finish()
19682 }
19683}
19684impl ::windows::core::TypeKind for TLS_EXTENSION_SUBSCRIPTION {
19685 type TypeKind = ::windows::core::CopyType;
19686}
19687impl ::core::cmp::PartialEq for TLS_EXTENSION_SUBSCRIPTION {
19688 fn eq(&self, other: &Self) -> bool {
19689 self.ExtensionType == other.ExtensionType && self.HandshakeType == other.HandshakeType
19690 }
19691}
19692impl ::core::cmp::Eq for TLS_EXTENSION_SUBSCRIPTION {}
19693impl ::core::default::Default for TLS_EXTENSION_SUBSCRIPTION {
19694 fn default() -> Self {
19695 unsafe { ::core::mem::zeroed() }
19696 }
19697}
19698#[repr(C)]
19699#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
19700pub struct TOKENBINDING_IDENTIFIER {
19701 pub keyType: u8,
19702}
19703impl ::core::marker::Copy for TOKENBINDING_IDENTIFIER {}
19704impl ::core::clone::Clone for TOKENBINDING_IDENTIFIER {
19705 fn clone(&self) -> Self {
19706 *self
19707 }
19708}
19709impl ::core::fmt::Debug for TOKENBINDING_IDENTIFIER {
19710 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19711 f.debug_struct("TOKENBINDING_IDENTIFIER").field("keyType", &self.keyType).finish()
19712 }
19713}
19714impl ::windows::core::TypeKind for TOKENBINDING_IDENTIFIER {
19715 type TypeKind = ::windows::core::CopyType;
19716}
19717impl ::core::cmp::PartialEq for TOKENBINDING_IDENTIFIER {
19718 fn eq(&self, other: &Self) -> bool {
19719 self.keyType == other.keyType
19720 }
19721}
19722impl ::core::cmp::Eq for TOKENBINDING_IDENTIFIER {}
19723impl ::core::default::Default for TOKENBINDING_IDENTIFIER {
19724 fn default() -> Self {
19725 unsafe { ::core::mem::zeroed() }
19726 }
19727}
19728#[repr(C)]
19729#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
19730pub struct TOKENBINDING_KEY_TYPES {
19731 pub keyCount: u32,
19732 pub keyType: *mut TOKENBINDING_KEY_PARAMETERS_TYPE,
19733}
19734impl ::core::marker::Copy for TOKENBINDING_KEY_TYPES {}
19735impl ::core::clone::Clone for TOKENBINDING_KEY_TYPES {
19736 fn clone(&self) -> Self {
19737 *self
19738 }
19739}
19740impl ::core::fmt::Debug for TOKENBINDING_KEY_TYPES {
19741 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19742 f.debug_struct("TOKENBINDING_KEY_TYPES").field("keyCount", &self.keyCount).field("keyType", &self.keyType).finish()
19743 }
19744}
19745impl ::windows::core::TypeKind for TOKENBINDING_KEY_TYPES {
19746 type TypeKind = ::windows::core::CopyType;
19747}
19748impl ::core::cmp::PartialEq for TOKENBINDING_KEY_TYPES {
19749 fn eq(&self, other: &Self) -> bool {
19750 self.keyCount == other.keyCount && self.keyType == other.keyType
19751 }
19752}
19753impl ::core::cmp::Eq for TOKENBINDING_KEY_TYPES {}
19754impl ::core::default::Default for TOKENBINDING_KEY_TYPES {
19755 fn default() -> Self {
19756 unsafe { ::core::mem::zeroed() }
19757 }
19758}
19759#[repr(C)]
19760#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
19761pub struct TOKENBINDING_RESULT_DATA {
19762 pub bindingType: TOKENBINDING_TYPE,
19763 pub identifierSize: u32,
19764 pub identifierData: *mut TOKENBINDING_IDENTIFIER,
19765 pub extensionFormat: TOKENBINDING_EXTENSION_FORMAT,
19766 pub extensionSize: u32,
19767 pub extensionData: *mut ::core::ffi::c_void,
19768}
19769impl ::core::marker::Copy for TOKENBINDING_RESULT_DATA {}
19770impl ::core::clone::Clone for TOKENBINDING_RESULT_DATA {
19771 fn clone(&self) -> Self {
19772 *self
19773 }
19774}
19775impl ::core::fmt::Debug for TOKENBINDING_RESULT_DATA {
19776 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19777 f.debug_struct("TOKENBINDING_RESULT_DATA").field("bindingType", &self.bindingType).field("identifierSize", &self.identifierSize).field("identifierData", &self.identifierData).field("extensionFormat", &self.extensionFormat).field("extensionSize", &self.extensionSize).field("extensionData", &self.extensionData).finish()
19778 }
19779}
19780impl ::windows::core::TypeKind for TOKENBINDING_RESULT_DATA {
19781 type TypeKind = ::windows::core::CopyType;
19782}
19783impl ::core::cmp::PartialEq for TOKENBINDING_RESULT_DATA {
19784 fn eq(&self, other: &Self) -> bool {
19785 self.bindingType == other.bindingType && self.identifierSize == other.identifierSize && self.identifierData == other.identifierData && self.extensionFormat == other.extensionFormat && self.extensionSize == other.extensionSize && self.extensionData == other.extensionData
19786 }
19787}
19788impl ::core::cmp::Eq for TOKENBINDING_RESULT_DATA {}
19789impl ::core::default::Default for TOKENBINDING_RESULT_DATA {
19790 fn default() -> Self {
19791 unsafe { ::core::mem::zeroed() }
19792 }
19793}
19794#[repr(C)]
19795#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
19796pub struct TOKENBINDING_RESULT_LIST {
19797 pub resultCount: u32,
19798 pub resultData: *mut TOKENBINDING_RESULT_DATA,
19799}
19800impl ::core::marker::Copy for TOKENBINDING_RESULT_LIST {}
19801impl ::core::clone::Clone for TOKENBINDING_RESULT_LIST {
19802 fn clone(&self) -> Self {
19803 *self
19804 }
19805}
19806impl ::core::fmt::Debug for TOKENBINDING_RESULT_LIST {
19807 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19808 f.debug_struct("TOKENBINDING_RESULT_LIST").field("resultCount", &self.resultCount).field("resultData", &self.resultData).finish()
19809 }
19810}
19811impl ::windows::core::TypeKind for TOKENBINDING_RESULT_LIST {
19812 type TypeKind = ::windows::core::CopyType;
19813}
19814impl ::core::cmp::PartialEq for TOKENBINDING_RESULT_LIST {
19815 fn eq(&self, other: &Self) -> bool {
19816 self.resultCount == other.resultCount && self.resultData == other.resultData
19817 }
19818}
19819impl ::core::cmp::Eq for TOKENBINDING_RESULT_LIST {}
19820impl ::core::default::Default for TOKENBINDING_RESULT_LIST {
19821 fn default() -> Self {
19822 unsafe { ::core::mem::zeroed() }
19823 }
19824}
19825#[repr(C)]
19826#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
19827#[cfg(feature = "Win32_Foundation")]
19828pub struct TRUSTED_CONTROLLERS_INFO {
19829 pub Entries: u32,
19830 pub Names: *mut super::super::super::Foundation::UNICODE_STRING,
19831}
19832#[cfg(feature = "Win32_Foundation")]
19833impl ::core::marker::Copy for TRUSTED_CONTROLLERS_INFO {}
19834#[cfg(feature = "Win32_Foundation")]
19835impl ::core::clone::Clone for TRUSTED_CONTROLLERS_INFO {
19836 fn clone(&self) -> Self {
19837 *self
19838 }
19839}
19840#[cfg(feature = "Win32_Foundation")]
19841impl ::core::fmt::Debug for TRUSTED_CONTROLLERS_INFO {
19842 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19843 f.debug_struct("TRUSTED_CONTROLLERS_INFO").field("Entries", &self.Entries).field("Names", &self.Names).finish()
19844 }
19845}
19846#[cfg(feature = "Win32_Foundation")]
19847impl ::windows::core::TypeKind for TRUSTED_CONTROLLERS_INFO {
19848 type TypeKind = ::windows::core::CopyType;
19849}
19850#[cfg(feature = "Win32_Foundation")]
19851impl ::core::cmp::PartialEq for TRUSTED_CONTROLLERS_INFO {
19852 fn eq(&self, other: &Self) -> bool {
19853 self.Entries == other.Entries && self.Names == other.Names
19854 }
19855}
19856#[cfg(feature = "Win32_Foundation")]
19857impl ::core::cmp::Eq for TRUSTED_CONTROLLERS_INFO {}
19858#[cfg(feature = "Win32_Foundation")]
19859impl ::core::default::Default for TRUSTED_CONTROLLERS_INFO {
19860 fn default() -> Self {
19861 unsafe { ::core::mem::zeroed() }
19862 }
19863}
19864#[repr(C)]
19865#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
19866pub struct TRUSTED_DOMAIN_AUTH_INFORMATION {
19867 pub IncomingAuthInfos: u32,
19868 pub IncomingAuthenticationInformation: *mut LSA_AUTH_INFORMATION,
19869 pub IncomingPreviousAuthenticationInformation: *mut LSA_AUTH_INFORMATION,
19870 pub OutgoingAuthInfos: u32,
19871 pub OutgoingAuthenticationInformation: *mut LSA_AUTH_INFORMATION,
19872 pub OutgoingPreviousAuthenticationInformation: *mut LSA_AUTH_INFORMATION,
19873}
19874impl ::core::marker::Copy for TRUSTED_DOMAIN_AUTH_INFORMATION {}
19875impl ::core::clone::Clone for TRUSTED_DOMAIN_AUTH_INFORMATION {
19876 fn clone(&self) -> Self {
19877 *self
19878 }
19879}
19880impl ::core::fmt::Debug for TRUSTED_DOMAIN_AUTH_INFORMATION {
19881 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19882 f.debug_struct("TRUSTED_DOMAIN_AUTH_INFORMATION")
19883 .field("IncomingAuthInfos", &self.IncomingAuthInfos)
19884 .field("IncomingAuthenticationInformation", &self.IncomingAuthenticationInformation)
19885 .field("IncomingPreviousAuthenticationInformation", &self.IncomingPreviousAuthenticationInformation)
19886 .field("OutgoingAuthInfos", &self.OutgoingAuthInfos)
19887 .field("OutgoingAuthenticationInformation", &self.OutgoingAuthenticationInformation)
19888 .field("OutgoingPreviousAuthenticationInformation", &self.OutgoingPreviousAuthenticationInformation)
19889 .finish()
19890 }
19891}
19892impl ::windows::core::TypeKind for TRUSTED_DOMAIN_AUTH_INFORMATION {
19893 type TypeKind = ::windows::core::CopyType;
19894}
19895impl ::core::cmp::PartialEq for TRUSTED_DOMAIN_AUTH_INFORMATION {
19896 fn eq(&self, other: &Self) -> bool {
19897 self.IncomingAuthInfos == other.IncomingAuthInfos && self.IncomingAuthenticationInformation == other.IncomingAuthenticationInformation && self.IncomingPreviousAuthenticationInformation == other.IncomingPreviousAuthenticationInformation && self.OutgoingAuthInfos == other.OutgoingAuthInfos && self.OutgoingAuthenticationInformation == other.OutgoingAuthenticationInformation && self.OutgoingPreviousAuthenticationInformation == other.OutgoingPreviousAuthenticationInformation
19898 }
19899}
19900impl ::core::cmp::Eq for TRUSTED_DOMAIN_AUTH_INFORMATION {}
19901impl ::core::default::Default for TRUSTED_DOMAIN_AUTH_INFORMATION {
19902 fn default() -> Self {
19903 unsafe { ::core::mem::zeroed() }
19904 }
19905}
19906#[repr(C)]
19907#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
19908#[cfg(feature = "Win32_Foundation")]
19909pub struct TRUSTED_DOMAIN_FULL_INFORMATION {
19910 pub Information: TRUSTED_DOMAIN_INFORMATION_EX,
19911 pub PosixOffset: TRUSTED_POSIX_OFFSET_INFO,
19912 pub AuthInformation: TRUSTED_DOMAIN_AUTH_INFORMATION,
19913}
19914#[cfg(feature = "Win32_Foundation")]
19915impl ::core::marker::Copy for TRUSTED_DOMAIN_FULL_INFORMATION {}
19916#[cfg(feature = "Win32_Foundation")]
19917impl ::core::clone::Clone for TRUSTED_DOMAIN_FULL_INFORMATION {
19918 fn clone(&self) -> Self {
19919 *self
19920 }
19921}
19922#[cfg(feature = "Win32_Foundation")]
19923impl ::core::fmt::Debug for TRUSTED_DOMAIN_FULL_INFORMATION {
19924 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19925 f.debug_struct("TRUSTED_DOMAIN_FULL_INFORMATION").field("Information", &self.Information).field("PosixOffset", &self.PosixOffset).field("AuthInformation", &self.AuthInformation).finish()
19926 }
19927}
19928#[cfg(feature = "Win32_Foundation")]
19929impl ::windows::core::TypeKind for TRUSTED_DOMAIN_FULL_INFORMATION {
19930 type TypeKind = ::windows::core::CopyType;
19931}
19932#[cfg(feature = "Win32_Foundation")]
19933impl ::core::cmp::PartialEq for TRUSTED_DOMAIN_FULL_INFORMATION {
19934 fn eq(&self, other: &Self) -> bool {
19935 self.Information == other.Information && self.PosixOffset == other.PosixOffset && self.AuthInformation == other.AuthInformation
19936 }
19937}
19938#[cfg(feature = "Win32_Foundation")]
19939impl ::core::cmp::Eq for TRUSTED_DOMAIN_FULL_INFORMATION {}
19940#[cfg(feature = "Win32_Foundation")]
19941impl ::core::default::Default for TRUSTED_DOMAIN_FULL_INFORMATION {
19942 fn default() -> Self {
19943 unsafe { ::core::mem::zeroed() }
19944 }
19945}
19946#[repr(C)]
19947#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
19948#[cfg(feature = "Win32_Foundation")]
19949pub struct TRUSTED_DOMAIN_FULL_INFORMATION2 {
19950 pub Information: TRUSTED_DOMAIN_INFORMATION_EX2,
19951 pub PosixOffset: TRUSTED_POSIX_OFFSET_INFO,
19952 pub AuthInformation: TRUSTED_DOMAIN_AUTH_INFORMATION,
19953}
19954#[cfg(feature = "Win32_Foundation")]
19955impl ::core::marker::Copy for TRUSTED_DOMAIN_FULL_INFORMATION2 {}
19956#[cfg(feature = "Win32_Foundation")]
19957impl ::core::clone::Clone for TRUSTED_DOMAIN_FULL_INFORMATION2 {
19958 fn clone(&self) -> Self {
19959 *self
19960 }
19961}
19962#[cfg(feature = "Win32_Foundation")]
19963impl ::core::fmt::Debug for TRUSTED_DOMAIN_FULL_INFORMATION2 {
19964 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19965 f.debug_struct("TRUSTED_DOMAIN_FULL_INFORMATION2").field("Information", &self.Information).field("PosixOffset", &self.PosixOffset).field("AuthInformation", &self.AuthInformation).finish()
19966 }
19967}
19968#[cfg(feature = "Win32_Foundation")]
19969impl ::windows::core::TypeKind for TRUSTED_DOMAIN_FULL_INFORMATION2 {
19970 type TypeKind = ::windows::core::CopyType;
19971}
19972#[cfg(feature = "Win32_Foundation")]
19973impl ::core::cmp::PartialEq for TRUSTED_DOMAIN_FULL_INFORMATION2 {
19974 fn eq(&self, other: &Self) -> bool {
19975 self.Information == other.Information && self.PosixOffset == other.PosixOffset && self.AuthInformation == other.AuthInformation
19976 }
19977}
19978#[cfg(feature = "Win32_Foundation")]
19979impl ::core::cmp::Eq for TRUSTED_DOMAIN_FULL_INFORMATION2 {}
19980#[cfg(feature = "Win32_Foundation")]
19981impl ::core::default::Default for TRUSTED_DOMAIN_FULL_INFORMATION2 {
19982 fn default() -> Self {
19983 unsafe { ::core::mem::zeroed() }
19984 }
19985}
19986#[repr(C)]
19987#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
19988#[cfg(feature = "Win32_Foundation")]
19989pub struct TRUSTED_DOMAIN_INFORMATION_EX {
19990 pub Name: super::super::super::Foundation::UNICODE_STRING,
19991 pub FlatName: super::super::super::Foundation::UNICODE_STRING,
19992 pub Sid: super::super::super::Foundation::PSID,
19993 pub TrustDirection: TRUSTED_DOMAIN_TRUST_DIRECTION,
19994 pub TrustType: TRUSTED_DOMAIN_TRUST_TYPE,
19995 pub TrustAttributes: TRUSTED_DOMAIN_TRUST_ATTRIBUTES,
19996}
19997#[cfg(feature = "Win32_Foundation")]
19998impl ::core::marker::Copy for TRUSTED_DOMAIN_INFORMATION_EX {}
19999#[cfg(feature = "Win32_Foundation")]
20000impl ::core::clone::Clone for TRUSTED_DOMAIN_INFORMATION_EX {
20001 fn clone(&self) -> Self {
20002 *self
20003 }
20004}
20005#[cfg(feature = "Win32_Foundation")]
20006impl ::core::fmt::Debug for TRUSTED_DOMAIN_INFORMATION_EX {
20007 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20008 f.debug_struct("TRUSTED_DOMAIN_INFORMATION_EX").field("Name", &self.Name).field("FlatName", &self.FlatName).field("Sid", &self.Sid).field("TrustDirection", &self.TrustDirection).field("TrustType", &self.TrustType).field("TrustAttributes", &self.TrustAttributes).finish()
20009 }
20010}
20011#[cfg(feature = "Win32_Foundation")]
20012impl ::windows::core::TypeKind for TRUSTED_DOMAIN_INFORMATION_EX {
20013 type TypeKind = ::windows::core::CopyType;
20014}
20015#[cfg(feature = "Win32_Foundation")]
20016impl ::core::cmp::PartialEq for TRUSTED_DOMAIN_INFORMATION_EX {
20017 fn eq(&self, other: &Self) -> bool {
20018 self.Name == other.Name && self.FlatName == other.FlatName && self.Sid == other.Sid && self.TrustDirection == other.TrustDirection && self.TrustType == other.TrustType && self.TrustAttributes == other.TrustAttributes
20019 }
20020}
20021#[cfg(feature = "Win32_Foundation")]
20022impl ::core::cmp::Eq for TRUSTED_DOMAIN_INFORMATION_EX {}
20023#[cfg(feature = "Win32_Foundation")]
20024impl ::core::default::Default for TRUSTED_DOMAIN_INFORMATION_EX {
20025 fn default() -> Self {
20026 unsafe { ::core::mem::zeroed() }
20027 }
20028}
20029#[repr(C)]
20030#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20031#[cfg(feature = "Win32_Foundation")]
20032pub struct TRUSTED_DOMAIN_INFORMATION_EX2 {
20033 pub Name: super::super::super::Foundation::UNICODE_STRING,
20034 pub FlatName: super::super::super::Foundation::UNICODE_STRING,
20035 pub Sid: super::super::super::Foundation::PSID,
20036 pub TrustDirection: u32,
20037 pub TrustType: u32,
20038 pub TrustAttributes: u32,
20039 pub ForestTrustLength: u32,
20040 pub ForestTrustInfo: *mut u8,
20041}
20042#[cfg(feature = "Win32_Foundation")]
20043impl ::core::marker::Copy for TRUSTED_DOMAIN_INFORMATION_EX2 {}
20044#[cfg(feature = "Win32_Foundation")]
20045impl ::core::clone::Clone for TRUSTED_DOMAIN_INFORMATION_EX2 {
20046 fn clone(&self) -> Self {
20047 *self
20048 }
20049}
20050#[cfg(feature = "Win32_Foundation")]
20051impl ::core::fmt::Debug for TRUSTED_DOMAIN_INFORMATION_EX2 {
20052 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20053 f.debug_struct("TRUSTED_DOMAIN_INFORMATION_EX2").field("Name", &self.Name).field("FlatName", &self.FlatName).field("Sid", &self.Sid).field("TrustDirection", &self.TrustDirection).field("TrustType", &self.TrustType).field("TrustAttributes", &self.TrustAttributes).field("ForestTrustLength", &self.ForestTrustLength).field("ForestTrustInfo", &self.ForestTrustInfo).finish()
20054 }
20055}
20056#[cfg(feature = "Win32_Foundation")]
20057impl ::windows::core::TypeKind for TRUSTED_DOMAIN_INFORMATION_EX2 {
20058 type TypeKind = ::windows::core::CopyType;
20059}
20060#[cfg(feature = "Win32_Foundation")]
20061impl ::core::cmp::PartialEq for TRUSTED_DOMAIN_INFORMATION_EX2 {
20062 fn eq(&self, other: &Self) -> bool {
20063 self.Name == other.Name && self.FlatName == other.FlatName && self.Sid == other.Sid && self.TrustDirection == other.TrustDirection && self.TrustType == other.TrustType && self.TrustAttributes == other.TrustAttributes && self.ForestTrustLength == other.ForestTrustLength && self.ForestTrustInfo == other.ForestTrustInfo
20064 }
20065}
20066#[cfg(feature = "Win32_Foundation")]
20067impl ::core::cmp::Eq for TRUSTED_DOMAIN_INFORMATION_EX2 {}
20068#[cfg(feature = "Win32_Foundation")]
20069impl ::core::default::Default for TRUSTED_DOMAIN_INFORMATION_EX2 {
20070 fn default() -> Self {
20071 unsafe { ::core::mem::zeroed() }
20072 }
20073}
20074#[repr(C)]
20075#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20076#[cfg(feature = "Win32_Foundation")]
20077pub struct TRUSTED_DOMAIN_NAME_INFO {
20078 pub Name: super::super::super::Foundation::UNICODE_STRING,
20079}
20080#[cfg(feature = "Win32_Foundation")]
20081impl ::core::marker::Copy for TRUSTED_DOMAIN_NAME_INFO {}
20082#[cfg(feature = "Win32_Foundation")]
20083impl ::core::clone::Clone for TRUSTED_DOMAIN_NAME_INFO {
20084 fn clone(&self) -> Self {
20085 *self
20086 }
20087}
20088#[cfg(feature = "Win32_Foundation")]
20089impl ::core::fmt::Debug for TRUSTED_DOMAIN_NAME_INFO {
20090 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20091 f.debug_struct("TRUSTED_DOMAIN_NAME_INFO").field("Name", &self.Name).finish()
20092 }
20093}
20094#[cfg(feature = "Win32_Foundation")]
20095impl ::windows::core::TypeKind for TRUSTED_DOMAIN_NAME_INFO {
20096 type TypeKind = ::windows::core::CopyType;
20097}
20098#[cfg(feature = "Win32_Foundation")]
20099impl ::core::cmp::PartialEq for TRUSTED_DOMAIN_NAME_INFO {
20100 fn eq(&self, other: &Self) -> bool {
20101 self.Name == other.Name
20102 }
20103}
20104#[cfg(feature = "Win32_Foundation")]
20105impl ::core::cmp::Eq for TRUSTED_DOMAIN_NAME_INFO {}
20106#[cfg(feature = "Win32_Foundation")]
20107impl ::core::default::Default for TRUSTED_DOMAIN_NAME_INFO {
20108 fn default() -> Self {
20109 unsafe { ::core::mem::zeroed() }
20110 }
20111}
20112#[repr(C)]
20113#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20114pub struct TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES {
20115 pub SupportedEncryptionTypes: u32,
20116}
20117impl ::core::marker::Copy for TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES {}
20118impl ::core::clone::Clone for TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES {
20119 fn clone(&self) -> Self {
20120 *self
20121 }
20122}
20123impl ::core::fmt::Debug for TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES {
20124 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20125 f.debug_struct("TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES").field("SupportedEncryptionTypes", &self.SupportedEncryptionTypes).finish()
20126 }
20127}
20128impl ::windows::core::TypeKind for TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES {
20129 type TypeKind = ::windows::core::CopyType;
20130}
20131impl ::core::cmp::PartialEq for TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES {
20132 fn eq(&self, other: &Self) -> bool {
20133 self.SupportedEncryptionTypes == other.SupportedEncryptionTypes
20134 }
20135}
20136impl ::core::cmp::Eq for TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES {}
20137impl ::core::default::Default for TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES {
20138 fn default() -> Self {
20139 unsafe { ::core::mem::zeroed() }
20140 }
20141}
20142#[repr(C)]
20143#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20144#[cfg(feature = "Win32_Foundation")]
20145pub struct TRUSTED_PASSWORD_INFO {
20146 pub Password: super::super::super::Foundation::UNICODE_STRING,
20147 pub OldPassword: super::super::super::Foundation::UNICODE_STRING,
20148}
20149#[cfg(feature = "Win32_Foundation")]
20150impl ::core::marker::Copy for TRUSTED_PASSWORD_INFO {}
20151#[cfg(feature = "Win32_Foundation")]
20152impl ::core::clone::Clone for TRUSTED_PASSWORD_INFO {
20153 fn clone(&self) -> Self {
20154 *self
20155 }
20156}
20157#[cfg(feature = "Win32_Foundation")]
20158impl ::core::fmt::Debug for TRUSTED_PASSWORD_INFO {
20159 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20160 f.debug_struct("TRUSTED_PASSWORD_INFO").field("Password", &self.Password).field("OldPassword", &self.OldPassword).finish()
20161 }
20162}
20163#[cfg(feature = "Win32_Foundation")]
20164impl ::windows::core::TypeKind for TRUSTED_PASSWORD_INFO {
20165 type TypeKind = ::windows::core::CopyType;
20166}
20167#[cfg(feature = "Win32_Foundation")]
20168impl ::core::cmp::PartialEq for TRUSTED_PASSWORD_INFO {
20169 fn eq(&self, other: &Self) -> bool {
20170 self.Password == other.Password && self.OldPassword == other.OldPassword
20171 }
20172}
20173#[cfg(feature = "Win32_Foundation")]
20174impl ::core::cmp::Eq for TRUSTED_PASSWORD_INFO {}
20175#[cfg(feature = "Win32_Foundation")]
20176impl ::core::default::Default for TRUSTED_PASSWORD_INFO {
20177 fn default() -> Self {
20178 unsafe { ::core::mem::zeroed() }
20179 }
20180}
20181#[repr(C)]
20182#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20183pub struct TRUSTED_POSIX_OFFSET_INFO {
20184 pub Offset: u32,
20185}
20186impl ::core::marker::Copy for TRUSTED_POSIX_OFFSET_INFO {}
20187impl ::core::clone::Clone for TRUSTED_POSIX_OFFSET_INFO {
20188 fn clone(&self) -> Self {
20189 *self
20190 }
20191}
20192impl ::core::fmt::Debug for TRUSTED_POSIX_OFFSET_INFO {
20193 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20194 f.debug_struct("TRUSTED_POSIX_OFFSET_INFO").field("Offset", &self.Offset).finish()
20195 }
20196}
20197impl ::windows::core::TypeKind for TRUSTED_POSIX_OFFSET_INFO {
20198 type TypeKind = ::windows::core::CopyType;
20199}
20200impl ::core::cmp::PartialEq for TRUSTED_POSIX_OFFSET_INFO {
20201 fn eq(&self, other: &Self) -> bool {
20202 self.Offset == other.Offset
20203 }
20204}
20205impl ::core::cmp::Eq for TRUSTED_POSIX_OFFSET_INFO {}
20206impl ::core::default::Default for TRUSTED_POSIX_OFFSET_INFO {
20207 fn default() -> Self {
20208 unsafe { ::core::mem::zeroed() }
20209 }
20210}
20211#[repr(C, packed(4))]
20212#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20213#[cfg(feature = "Win32_Foundation")]
20214pub struct USER_ALL_INFORMATION {
20215 pub LastLogon: i64,
20216 pub LastLogoff: i64,
20217 pub PasswordLastSet: i64,
20218 pub AccountExpires: i64,
20219 pub PasswordCanChange: i64,
20220 pub PasswordMustChange: i64,
20221 pub UserName: super::super::super::Foundation::UNICODE_STRING,
20222 pub FullName: super::super::super::Foundation::UNICODE_STRING,
20223 pub HomeDirectory: super::super::super::Foundation::UNICODE_STRING,
20224 pub HomeDirectoryDrive: super::super::super::Foundation::UNICODE_STRING,
20225 pub ScriptPath: super::super::super::Foundation::UNICODE_STRING,
20226 pub ProfilePath: super::super::super::Foundation::UNICODE_STRING,
20227 pub AdminComment: super::super::super::Foundation::UNICODE_STRING,
20228 pub WorkStations: super::super::super::Foundation::UNICODE_STRING,
20229 pub UserComment: super::super::super::Foundation::UNICODE_STRING,
20230 pub Parameters: super::super::super::Foundation::UNICODE_STRING,
20231 pub LmPassword: super::super::super::Foundation::UNICODE_STRING,
20232 pub NtPassword: super::super::super::Foundation::UNICODE_STRING,
20233 pub PrivateData: super::super::super::Foundation::UNICODE_STRING,
20234 pub SecurityDescriptor: SR_SECURITY_DESCRIPTOR,
20235 pub UserId: u32,
20236 pub PrimaryGroupId: u32,
20237 pub UserAccountControl: u32,
20238 pub WhichFields: u32,
20239 pub LogonHours: LOGON_HOURS,
20240 pub BadPasswordCount: u16,
20241 pub LogonCount: u16,
20242 pub CountryCode: u16,
20243 pub CodePage: u16,
20244 pub LmPasswordPresent: super::super::super::Foundation::BOOLEAN,
20245 pub NtPasswordPresent: super::super::super::Foundation::BOOLEAN,
20246 pub PasswordExpired: super::super::super::Foundation::BOOLEAN,
20247 pub PrivateDataSensitive: super::super::super::Foundation::BOOLEAN,
20248}
20249#[cfg(feature = "Win32_Foundation")]
20250impl ::core::marker::Copy for USER_ALL_INFORMATION {}
20251#[cfg(feature = "Win32_Foundation")]
20252impl ::core::clone::Clone for USER_ALL_INFORMATION {
20253 fn clone(&self) -> Self {
20254 *self
20255 }
20256}
20257#[cfg(feature = "Win32_Foundation")]
20258impl ::windows::core::TypeKind for USER_ALL_INFORMATION {
20259 type TypeKind = ::windows::core::CopyType;
20260}
20261#[cfg(feature = "Win32_Foundation")]
20262impl ::core::default::Default for USER_ALL_INFORMATION {
20263 fn default() -> Self {
20264 unsafe { ::core::mem::zeroed() }
20265 }
20266}
20267#[repr(C)]
20268#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_System_PasswordManagement\"`*"]
20269#[cfg(feature = "Win32_System_PasswordManagement")]
20270pub struct USER_SESSION_KEY {
20271 pub data: [super::super::super::System::PasswordManagement::CYPHER_BLOCK; 2],
20272}
20273#[cfg(feature = "Win32_System_PasswordManagement")]
20274impl ::core::marker::Copy for USER_SESSION_KEY {}
20275#[cfg(feature = "Win32_System_PasswordManagement")]
20276impl ::core::clone::Clone for USER_SESSION_KEY {
20277 fn clone(&self) -> Self {
20278 *self
20279 }
20280}
20281#[cfg(feature = "Win32_System_PasswordManagement")]
20282impl ::core::fmt::Debug for USER_SESSION_KEY {
20283 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20284 f.debug_struct("USER_SESSION_KEY").field("data", &self.data).finish()
20285 }
20286}
20287#[cfg(feature = "Win32_System_PasswordManagement")]
20288impl ::windows::core::TypeKind for USER_SESSION_KEY {
20289 type TypeKind = ::windows::core::CopyType;
20290}
20291#[cfg(feature = "Win32_System_PasswordManagement")]
20292impl ::core::cmp::PartialEq for USER_SESSION_KEY {
20293 fn eq(&self, other: &Self) -> bool {
20294 self.data == other.data
20295 }
20296}
20297#[cfg(feature = "Win32_System_PasswordManagement")]
20298impl ::core::cmp::Eq for USER_SESSION_KEY {}
20299#[cfg(feature = "Win32_System_PasswordManagement")]
20300impl ::core::default::Default for USER_SESSION_KEY {
20301 fn default() -> Self {
20302 unsafe { ::core::mem::zeroed() }
20303 }
20304}
20305#[repr(C)]
20306#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20307#[cfg(feature = "Win32_Foundation")]
20308pub struct X509Certificate {
20309 pub Version: u32,
20310 pub SerialNumber: [u32; 4],
20311 pub SignatureAlgorithm: u32,
20312 pub ValidFrom: super::super::super::Foundation::FILETIME,
20313 pub ValidUntil: super::super::super::Foundation::FILETIME,
20314 pub pszIssuer: ::windows::core::PSTR,
20315 pub pszSubject: ::windows::core::PSTR,
20316 pub pPublicKey: *mut PctPublicKey,
20317}
20318#[cfg(feature = "Win32_Foundation")]
20319impl ::core::marker::Copy for X509Certificate {}
20320#[cfg(feature = "Win32_Foundation")]
20321impl ::core::clone::Clone for X509Certificate {
20322 fn clone(&self) -> Self {
20323 *self
20324 }
20325}
20326#[cfg(feature = "Win32_Foundation")]
20327impl ::core::fmt::Debug for X509Certificate {
20328 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20329 f.debug_struct("X509Certificate").field("Version", &self.Version).field("SerialNumber", &self.SerialNumber).field("SignatureAlgorithm", &self.SignatureAlgorithm).field("ValidFrom", &self.ValidFrom).field("ValidUntil", &self.ValidUntil).field("pszIssuer", &self.pszIssuer).field("pszSubject", &self.pszSubject).field("pPublicKey", &self.pPublicKey).finish()
20330 }
20331}
20332#[cfg(feature = "Win32_Foundation")]
20333impl ::windows::core::TypeKind for X509Certificate {
20334 type TypeKind = ::windows::core::CopyType;
20335}
20336#[cfg(feature = "Win32_Foundation")]
20337impl ::core::cmp::PartialEq for X509Certificate {
20338 fn eq(&self, other: &Self) -> bool {
20339 self.Version == other.Version && self.SerialNumber == other.SerialNumber && self.SignatureAlgorithm == other.SignatureAlgorithm && self.ValidFrom == other.ValidFrom && self.ValidUntil == other.ValidUntil && self.pszIssuer == other.pszIssuer && self.pszSubject == other.pszSubject && self.pPublicKey == other.pPublicKey
20340 }
20341}
20342#[cfg(feature = "Win32_Foundation")]
20343impl ::core::cmp::Eq for X509Certificate {}
20344#[cfg(feature = "Win32_Foundation")]
20345impl ::core::default::Default for X509Certificate {
20346 fn default() -> Self {
20347 unsafe { ::core::mem::zeroed() }
20348 }
20349}
20350#[repr(C)]
20351pub struct _HMAPPER(pub u8);
20352#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20353#[cfg(feature = "Win32_Security_Credentials")]
20354pub type ACCEPT_SECURITY_CONTEXT_FN = ::core::option::Option<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) -> ::windows::core::HRESULT>;
20355#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20356#[cfg(feature = "Win32_Security_Credentials")]
20357pub type ACQUIRE_CREDENTIALS_HANDLE_FN_A = ::core::option::Option<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: SEC_GET_KEY_FN, param6: *mut ::core::ffi::c_void, param7: *mut super::super::Credentials::SecHandle, param8: *mut i64) -> ::windows::core::HRESULT>;
20358#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20359#[cfg(feature = "Win32_Security_Credentials")]
20360pub type ACQUIRE_CREDENTIALS_HANDLE_FN_W = ::core::option::Option<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: SEC_GET_KEY_FN, param6: *mut ::core::ffi::c_void, param7: *mut super::super::Credentials::SecHandle, param8: *mut i64) -> ::windows::core::HRESULT>;
20361#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20362#[cfg(feature = "Win32_Security_Credentials")]
20363pub type ADD_CREDENTIALS_FN_A = ::core::option::Option<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: SEC_GET_KEY_FN, param6: *mut ::core::ffi::c_void, param7: *mut i64) -> ::windows::core::HRESULT>;
20364#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20365#[cfg(feature = "Win32_Security_Credentials")]
20366pub type ADD_CREDENTIALS_FN_W = ::core::option::Option<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: SEC_GET_KEY_FN, param6: *mut ::core::ffi::c_void, param7: *mut i64) -> ::windows::core::HRESULT>;
20367#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20368#[cfg(feature = "Win32_Security_Credentials")]
20369pub type APPLY_CONTROL_TOKEN_FN = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: *mut SecBufferDesc) -> ::windows::core::HRESULT>;
20370#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20371#[cfg(feature = "Win32_Foundation")]
20372pub type CHANGE_PASSWORD_FN_A = ::core::option::Option<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) -> ::windows::core::HRESULT>;
20373#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20374#[cfg(feature = "Win32_Foundation")]
20375pub type CHANGE_PASSWORD_FN_W = ::core::option::Option<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) -> ::windows::core::HRESULT>;
20376#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20377#[cfg(feature = "Win32_Security_Credentials")]
20378pub type COMPLETE_AUTH_TOKEN_FN = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: *mut SecBufferDesc) -> ::windows::core::HRESULT>;
20379#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_Security_Credentials\"`*"]
20380#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
20381pub type CredFreeCredentialsFn = ::core::option::Option<unsafe extern "system" fn(count: u32, credentials: *mut *mut ENCRYPTED_CREDENTIALW) -> ()>;
20382#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_Security_Credentials\"`*"]
20383#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
20384pub type CredReadDomainCredentialsFn = ::core::option::Option<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>;
20385#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_Security_Credentials\"`*"]
20386#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
20387pub type CredReadFn = ::core::option::Option<unsafe extern "system" fn(logonid: *const super::super::super::Foundation::LUID, credflags: u32, targetname: ::windows::core::PCWSTR, r#type: u32, flags: u32, credential: *mut *mut ENCRYPTED_CREDENTIALW) -> super::super::super::Foundation::NTSTATUS>;
20388#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_Security_Credentials\"`*"]
20389#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
20390pub type CredWriteFn = ::core::option::Option<unsafe extern "system" fn(logonid: *const super::super::super::Foundation::LUID, credflags: u32, credential: *const ENCRYPTED_CREDENTIALW, flags: u32) -> super::super::super::Foundation::NTSTATUS>;
20391#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20392#[cfg(feature = "Win32_Foundation")]
20393pub type CrediUnmarshalandDecodeStringFn = ::core::option::Option<unsafe extern "system" fn(marshaledstring: ::windows::core::PCWSTR, blob: *mut *mut u8, blobsize: *mut u32, isfailurefatal: *mut u8) -> super::super::super::Foundation::NTSTATUS>;
20394#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20395#[cfg(feature = "Win32_Security_Credentials")]
20396pub type DECRYPT_MESSAGE_FN = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: *mut SecBufferDesc, param2: u32, param3: *mut u32) -> ::windows::core::HRESULT>;
20397#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20398#[cfg(feature = "Win32_Security_Credentials")]
20399pub type DELETE_SECURITY_CONTEXT_FN = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle) -> ::windows::core::HRESULT>;
20400#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20401#[cfg(feature = "Win32_Security_Credentials")]
20402pub type ENCRYPT_MESSAGE_FN = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut SecBufferDesc, param3: u32) -> ::windows::core::HRESULT>;
20403#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20404pub type ENUMERATE_SECURITY_PACKAGES_FN_A = ::core::option::Option<unsafe extern "system" fn(param0: *mut u32, param1: *mut *mut SecPkgInfoA) -> ::windows::core::HRESULT>;
20405#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20406pub type ENUMERATE_SECURITY_PACKAGES_FN_W = ::core::option::Option<unsafe extern "system" fn(param0: *mut u32, param1: *mut *mut SecPkgInfoW) -> ::windows::core::HRESULT>;
20407#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20408#[cfg(feature = "Win32_Security_Credentials")]
20409pub type EXPORT_SECURITY_CONTEXT_FN = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut SecBuffer, param3: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT>;
20410#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20411pub type FREE_CONTEXT_BUFFER_FN = ::core::option::Option<unsafe extern "system" fn(param0: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT>;
20412#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20413#[cfg(feature = "Win32_Security_Credentials")]
20414pub type FREE_CREDENTIALS_HANDLE_FN = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle) -> ::windows::core::HRESULT>;
20415#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20416#[cfg(feature = "Win32_Security_Credentials")]
20417pub type IMPERSONATE_SECURITY_CONTEXT_FN = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle) -> ::windows::core::HRESULT>;
20418#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20419#[cfg(feature = "Win32_Security_Credentials")]
20420pub type IMPORT_SECURITY_CONTEXT_FN_A = ::core::option::Option<unsafe extern "system" fn(param0: *mut i8, param1: *mut SecBuffer, param2: *mut ::core::ffi::c_void, param3: *mut super::super::Credentials::SecHandle) -> ::windows::core::HRESULT>;
20421#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20422#[cfg(feature = "Win32_Security_Credentials")]
20423pub type IMPORT_SECURITY_CONTEXT_FN_W = ::core::option::Option<unsafe extern "system" fn(param0: *mut u16, param1: *mut SecBuffer, param2: *mut ::core::ffi::c_void, param3: *mut super::super::Credentials::SecHandle) -> ::windows::core::HRESULT>;
20424#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20425#[cfg(feature = "Win32_Security_Credentials")]
20426pub type INITIALIZE_SECURITY_CONTEXT_FN_A = ::core::option::Option<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) -> ::windows::core::HRESULT>;
20427#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20428#[cfg(feature = "Win32_Security_Credentials")]
20429pub type INITIALIZE_SECURITY_CONTEXT_FN_W = ::core::option::Option<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) -> ::windows::core::HRESULT>;
20430#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_Security_Credentials\"`*"]
20431#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
20432pub type INIT_SECURITY_INTERFACE_A = ::core::option::Option<unsafe extern "system" fn() -> *mut SecurityFunctionTableA>;
20433#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_Security_Credentials\"`*"]
20434#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials"))]
20435pub type INIT_SECURITY_INTERFACE_W = ::core::option::Option<unsafe extern "system" fn() -> *mut SecurityFunctionTableW>;
20436#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20437#[cfg(feature = "Win32_Foundation")]
20438pub type KspCompleteTokenFn = ::core::option::Option<unsafe extern "system" fn(contextid: usize, token: *const SecBufferDesc) -> super::super::super::Foundation::NTSTATUS>;
20439#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20440#[cfg(feature = "Win32_Foundation")]
20441pub type KspDeleteContextFn = ::core::option::Option<unsafe extern "system" fn(contextid: usize, lsacontextid: *mut usize) -> super::super::super::Foundation::NTSTATUS>;
20442#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20443#[cfg(feature = "Win32_Foundation")]
20444pub type KspGetTokenFn = ::core::option::Option<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>;
20445#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20446#[cfg(feature = "Win32_Foundation")]
20447pub type KspInitContextFn = ::core::option::Option<unsafe extern "system" fn(contextid: usize, contextdata: *const SecBuffer, newcontextid: *mut usize) -> super::super::super::Foundation::NTSTATUS>;
20448#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`*"]
20449#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
20450pub type KspInitPackageFn = ::core::option::Option<unsafe extern "system" fn(functiontable: *const SECPKG_KERNEL_FUNCTIONS) -> super::super::super::Foundation::NTSTATUS>;
20451#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20452#[cfg(feature = "Win32_Foundation")]
20453pub type KspMakeSignatureFn = ::core::option::Option<unsafe extern "system" fn(contextid: usize, fqop: u32, message: *const SecBufferDesc, messageseqno: u32) -> super::super::super::Foundation::NTSTATUS>;
20454#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20455#[cfg(feature = "Win32_Foundation")]
20456pub type KspMapHandleFn = ::core::option::Option<unsafe extern "system" fn(contextid: usize, lsacontextid: *mut usize) -> super::super::super::Foundation::NTSTATUS>;
20457#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20458#[cfg(feature = "Win32_Foundation")]
20459pub type KspQueryAttributesFn = ::core::option::Option<unsafe extern "system" fn(contextid: usize, attribute: u32, buffer: *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS>;
20460#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20461#[cfg(feature = "Win32_Foundation")]
20462pub type KspSealMessageFn = ::core::option::Option<unsafe extern "system" fn(contextid: usize, fqop: u32, message: *const SecBufferDesc, messageseqno: u32) -> super::super::super::Foundation::NTSTATUS>;
20463#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20464#[cfg(feature = "Win32_Foundation")]
20465pub type KspSerializeAuthDataFn = ::core::option::Option<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>;
20466#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20467#[cfg(feature = "Win32_Foundation")]
20468pub type KspSetPagingModeFn = ::core::option::Option<unsafe extern "system" fn(pagingmode: super::super::super::Foundation::BOOLEAN) -> super::super::super::Foundation::NTSTATUS>;
20469#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20470#[cfg(feature = "Win32_Foundation")]
20471pub type KspUnsealMessageFn = ::core::option::Option<unsafe extern "system" fn(contextid: usize, message: *const SecBufferDesc, messageseqno: u32, pfqop: *mut u32) -> super::super::super::Foundation::NTSTATUS>;
20472#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20473#[cfg(feature = "Win32_Foundation")]
20474pub type KspVerifySignatureFn = ::core::option::Option<unsafe extern "system" fn(contextid: usize, message: *const SecBufferDesc, messageseqno: u32, pfqop: *mut u32) -> super::super::super::Foundation::NTSTATUS>;
20475#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20476#[cfg(feature = "Win32_Foundation")]
20477pub type LSA_AP_POST_LOGON_USER = ::core::option::Option<unsafe extern "system" fn(postlogonuserinfo: *const SECPKG_POST_LOGON_USER_INFO) -> super::super::super::Foundation::NTSTATUS>;
20478#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20479#[cfg(feature = "Win32_Security_Credentials")]
20480pub type MAKE_SIGNATURE_FN = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut SecBufferDesc, param3: u32) -> ::windows::core::HRESULT>;
20481#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20482pub type PKSEC_CREATE_CONTEXT_LIST = ::core::option::Option<unsafe extern "system" fn(r#type: KSEC_CONTEXT_TYPE) -> *mut ::core::ffi::c_void>;
20483#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_System_Kernel\"`*"]
20484#[cfg(feature = "Win32_System_Kernel")]
20485pub type PKSEC_DEREFERENCE_LIST_ENTRY = ::core::option::Option<unsafe extern "system" fn(entry: *const KSEC_LIST_ENTRY, delete: *mut u8) -> ()>;
20486#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_System_Kernel\"`*"]
20487#[cfg(feature = "Win32_System_Kernel")]
20488pub type PKSEC_INSERT_LIST_ENTRY = ::core::option::Option<unsafe extern "system" fn(list: *const ::core::ffi::c_void, entry: *const KSEC_LIST_ENTRY) -> ()>;
20489#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20490pub type PKSEC_LOCATE_PKG_BY_ID = ::core::option::Option<unsafe extern "system" fn(packageid: u32) -> *mut ::core::ffi::c_void>;
20491#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`*"]
20492#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
20493pub type PKSEC_REFERENCE_LIST_ENTRY = ::core::option::Option<unsafe extern "system" fn(entry: *const KSEC_LIST_ENTRY, signature: u32, removenoref: super::super::super::Foundation::BOOLEAN) -> super::super::super::Foundation::NTSTATUS>;
20494#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20495#[cfg(feature = "Win32_Foundation")]
20496pub type PKSEC_SERIALIZE_SCHANNEL_AUTH_DATA = ::core::option::Option<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>;
20497#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20498#[cfg(feature = "Win32_Foundation")]
20499pub type PKSEC_SERIALIZE_WINNT_AUTH_DATA = ::core::option::Option<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>;
20500#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`*"]
20501#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
20502pub type PLSA_ADD_CREDENTIAL = ::core::option::Option<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>;
20503#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20504#[cfg(feature = "Win32_Foundation")]
20505pub type PLSA_ALLOCATE_CLIENT_BUFFER = ::core::option::Option<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>;
20506#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20507pub type PLSA_ALLOCATE_LSA_HEAP = ::core::option::Option<unsafe extern "system" fn(length: u32) -> *mut ::core::ffi::c_void>;
20508#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20509pub type PLSA_ALLOCATE_PRIVATE_HEAP = ::core::option::Option<unsafe extern "system" fn(length: usize) -> *mut ::core::ffi::c_void>;
20510#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20511pub type PLSA_ALLOCATE_SHARED_MEMORY = ::core::option::Option<unsafe extern "system" fn(sharedmem: *const ::core::ffi::c_void, size: u32) -> *mut ::core::ffi::c_void>;
20512#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20513#[cfg(feature = "Win32_Foundation")]
20514pub type PLSA_AP_CALL_PACKAGE = ::core::option::Option<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>;
20515#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20516#[cfg(feature = "Win32_Foundation")]
20517pub type PLSA_AP_CALL_PACKAGE_PASSTHROUGH = ::core::option::Option<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>;
20518#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`*"]
20519#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
20520pub type PLSA_AP_INITIALIZE_PACKAGE = ::core::option::Option<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>;
20521#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20522#[cfg(feature = "Win32_Foundation")]
20523pub type PLSA_AP_LOGON_TERMINATED = ::core::option::Option<unsafe extern "system" fn(logonid: *const super::super::super::Foundation::LUID) -> ()>;
20524#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20525#[cfg(feature = "Win32_Foundation")]
20526pub type PLSA_AP_LOGON_USER = ::core::option::Option<unsafe extern "system" fn(clientrequest: *const *const ::core::ffi::c_void, logontype: SECURITY_LOGON_TYPE, authenticationinformation: *const ::core::ffi::c_void, clientauthenticationbase: *const ::core::ffi::c_void, authenticationinformationlength: u32, profilebuffer: *mut *mut ::core::ffi::c_void, profilebufferlength: *mut u32, logonid: *mut super::super::super::Foundation::LUID, substatus: *mut i32, tokeninformationtype: *mut LSA_TOKEN_INFORMATION_TYPE, tokeninformation: *mut *mut ::core::ffi::c_void, accountname: *mut *mut super::super::super::Foundation::UNICODE_STRING, authenticatingauthority: *mut *mut super::super::super::Foundation::UNICODE_STRING) -> super::super::super::Foundation::NTSTATUS>;
20527#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20528#[cfg(feature = "Win32_Foundation")]
20529pub type PLSA_AP_LOGON_USER_EX = ::core::option::Option<
20530 unsafe extern "system" fn(clientrequest: *const *const ::core::ffi::c_void, logontype: SECURITY_LOGON_TYPE, authenticationinformation: *const ::core::ffi::c_void, clientauthenticationbase: *const ::core::ffi::c_void, authenticationinformationlength: u32, profilebuffer: *mut *mut ::core::ffi::c_void, profilebufferlength: *mut u32, logonid: *mut super::super::super::Foundation::LUID, substatus: *mut i32, tokeninformationtype: *mut LSA_TOKEN_INFORMATION_TYPE, tokeninformation: *mut *mut ::core::ffi::c_void, accountname: *mut *mut super::super::super::Foundation::UNICODE_STRING, authenticatingauthority: *mut *mut super::super::super::Foundation::UNICODE_STRING, machinename: *mut *mut super::super::super::Foundation::UNICODE_STRING) -> super::super::super::Foundation::NTSTATUS,
20531>;
20532#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20533#[cfg(feature = "Win32_Foundation")]
20534pub type PLSA_AP_LOGON_USER_EX2 = ::core::option::Option<
20535 unsafe extern "system" fn(
20536 clientrequest: *const *const ::core::ffi::c_void,
20537 logontype: SECURITY_LOGON_TYPE,
20538 protocolsubmitbuffer: *const ::core::ffi::c_void,
20539 clientbufferbase: *const ::core::ffi::c_void,
20540 submitbuffersize: u32,
20541 profilebuffer: *mut *mut ::core::ffi::c_void,
20542 profilebuffersize: *mut u32,
20543 logonid: *mut super::super::super::Foundation::LUID,
20544 substatus: *mut i32,
20545 tokeninformationtype: *mut LSA_TOKEN_INFORMATION_TYPE,
20546 tokeninformation: *mut *mut ::core::ffi::c_void,
20547 accountname: *mut *mut super::super::super::Foundation::UNICODE_STRING,
20548 authenticatingauthority: *mut *mut super::super::super::Foundation::UNICODE_STRING,
20549 machinename: *mut *mut super::super::super::Foundation::UNICODE_STRING,
20550 primarycredentials: *mut SECPKG_PRIMARY_CRED,
20551 supplementalcredentials: *mut *mut SECPKG_SUPPLEMENTAL_CRED_ARRAY,
20552 ) -> super::super::super::Foundation::NTSTATUS,
20553>;
20554#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20555#[cfg(feature = "Win32_Foundation")]
20556pub type PLSA_AP_LOGON_USER_EX3 = ::core::option::Option<
20557 unsafe extern "system" fn(
20558 clientrequest: *const *const ::core::ffi::c_void,
20559 logontype: SECURITY_LOGON_TYPE,
20560 protocolsubmitbuffer: *const ::core::ffi::c_void,
20561 clientbufferbase: *const ::core::ffi::c_void,
20562 submitbuffersize: u32,
20563 surrogatelogon: *mut SECPKG_SURROGATE_LOGON,
20564 profilebuffer: *mut *mut ::core::ffi::c_void,
20565 profilebuffersize: *mut u32,
20566 logonid: *mut super::super::super::Foundation::LUID,
20567 substatus: *mut i32,
20568 tokeninformationtype: *mut LSA_TOKEN_INFORMATION_TYPE,
20569 tokeninformation: *mut *mut ::core::ffi::c_void,
20570 accountname: *mut *mut super::super::super::Foundation::UNICODE_STRING,
20571 authenticatingauthority: *mut *mut super::super::super::Foundation::UNICODE_STRING,
20572 machinename: *mut *mut super::super::super::Foundation::UNICODE_STRING,
20573 primarycredentials: *mut SECPKG_PRIMARY_CRED,
20574 supplementalcredentials: *mut *mut SECPKG_SUPPLEMENTAL_CRED_ARRAY,
20575 ) -> super::super::super::Foundation::NTSTATUS,
20576>;
20577#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20578#[cfg(feature = "Win32_Foundation")]
20579pub type PLSA_AP_POST_LOGON_USER_SURROGATE = ::core::option::Option<
20580 unsafe extern "system" fn(
20581 clientrequest: *const *const ::core::ffi::c_void,
20582 logontype: SECURITY_LOGON_TYPE,
20583 protocolsubmitbuffer: *const ::core::ffi::c_void,
20584 clientbufferbase: *const ::core::ffi::c_void,
20585 submitbuffersize: u32,
20586 surrogatelogon: *const SECPKG_SURROGATE_LOGON,
20587 profilebuffer: *const ::core::ffi::c_void,
20588 profilebuffersize: u32,
20589 logonid: *const super::super::super::Foundation::LUID,
20590 status: super::super::super::Foundation::NTSTATUS,
20591 substatus: super::super::super::Foundation::NTSTATUS,
20592 tokeninformationtype: LSA_TOKEN_INFORMATION_TYPE,
20593 tokeninformation: *const ::core::ffi::c_void,
20594 accountname: *const super::super::super::Foundation::UNICODE_STRING,
20595 authenticatingauthority: *const super::super::super::Foundation::UNICODE_STRING,
20596 machinename: *const super::super::super::Foundation::UNICODE_STRING,
20597 primarycredentials: *const SECPKG_PRIMARY_CRED,
20598 supplementalcredentials: *const SECPKG_SUPPLEMENTAL_CRED_ARRAY,
20599 ) -> super::super::super::Foundation::NTSTATUS,
20600>;
20601#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20602#[cfg(feature = "Win32_Foundation")]
20603pub type PLSA_AP_PRE_LOGON_USER_SURROGATE = ::core::option::Option<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>;
20604#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20605#[cfg(feature = "Win32_Foundation")]
20606pub type PLSA_AUDIT_ACCOUNT_LOGON = ::core::option::Option<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>;
20607#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20608#[cfg(feature = "Win32_Foundation")]
20609pub type PLSA_AUDIT_LOGON = ::core::option::Option<unsafe extern "system" fn(status: super::super::super::Foundation::NTSTATUS, substatus: super::super::super::Foundation::NTSTATUS, accountname: *const super::super::super::Foundation::UNICODE_STRING, authenticatingauthority: *const super::super::super::Foundation::UNICODE_STRING, workstationname: *const super::super::super::Foundation::UNICODE_STRING, usersid: super::super::super::Foundation::PSID, logontype: SECURITY_LOGON_TYPE, tokensource: *const super::super::TOKEN_SOURCE, logonid: *const super::super::super::Foundation::LUID) -> ()>;
20610#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20611#[cfg(feature = "Win32_Foundation")]
20612pub type PLSA_AUDIT_LOGON_EX = ::core::option::Option<unsafe extern "system" fn(status: super::super::super::Foundation::NTSTATUS, substatus: super::super::super::Foundation::NTSTATUS, accountname: *const super::super::super::Foundation::UNICODE_STRING, authenticatingauthority: *const super::super::super::Foundation::UNICODE_STRING, workstationname: *const super::super::super::Foundation::UNICODE_STRING, usersid: super::super::super::Foundation::PSID, logontype: SECURITY_LOGON_TYPE, impersonationlevel: super::super::SECURITY_IMPERSONATION_LEVEL, tokensource: *const super::super::TOKEN_SOURCE, logonid: *const super::super::super::Foundation::LUID) -> ()>;
20613#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20614#[cfg(feature = "Win32_Foundation")]
20615pub type PLSA_CALLBACK_FUNCTION = ::core::option::Option<unsafe extern "system" fn(argument1: usize, argument2: usize, inputbuffer: *mut SecBuffer, outputbuffer: *mut SecBuffer) -> super::super::super::Foundation::NTSTATUS>;
20616#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20617#[cfg(feature = "Win32_Foundation")]
20618pub type PLSA_CALL_PACKAGE = ::core::option::Option<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>;
20619#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20620#[cfg(feature = "Win32_Foundation")]
20621pub type PLSA_CALL_PACKAGEEX = ::core::option::Option<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>;
20622#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20623#[cfg(feature = "Win32_Foundation")]
20624pub type PLSA_CALL_PACKAGE_PASSTHROUGH = ::core::option::Option<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>;
20625#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20626#[cfg(feature = "Win32_Foundation")]
20627pub type PLSA_CANCEL_NOTIFICATION = ::core::option::Option<unsafe extern "system" fn(notifyhandle: super::super::super::Foundation::HANDLE) -> super::super::super::Foundation::NTSTATUS>;
20628#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20629#[cfg(feature = "Win32_Foundation")]
20630pub type PLSA_CHECK_PROTECTED_USER_BY_TOKEN = ::core::option::Option<unsafe extern "system" fn(usertoken: super::super::super::Foundation::HANDLE, protecteduser: *mut super::super::super::Foundation::BOOLEAN) -> super::super::super::Foundation::NTSTATUS>;
20631#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20632#[cfg(feature = "Win32_Foundation")]
20633pub type PLSA_CLIENT_CALLBACK = ::core::option::Option<unsafe extern "system" fn(callback: ::windows::core::PCSTR, argument1: usize, argument2: usize, input: *const SecBuffer, output: *mut SecBuffer) -> super::super::super::Foundation::NTSTATUS>;
20634#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20635#[cfg(feature = "Win32_Foundation")]
20636pub type PLSA_CLOSE_SAM_USER = ::core::option::Option<unsafe extern "system" fn(userhandle: *const ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS>;
20637#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20638#[cfg(feature = "Win32_Foundation")]
20639pub type PLSA_CONVERT_AUTH_DATA_TO_TOKEN = ::core::option::Option<unsafe extern "system" fn(userauthdata: *const ::core::ffi::c_void, userauthdatasize: u32, impersonationlevel: super::super::SECURITY_IMPERSONATION_LEVEL, tokensource: *const super::super::TOKEN_SOURCE, logontype: SECURITY_LOGON_TYPE, authorityname: *const super::super::super::Foundation::UNICODE_STRING, token: *mut super::super::super::Foundation::HANDLE, logonid: *mut super::super::super::Foundation::LUID, accountname: *mut super::super::super::Foundation::UNICODE_STRING, substatus: *mut i32) -> super::super::super::Foundation::NTSTATUS>;
20640#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20641#[cfg(feature = "Win32_Foundation")]
20642pub type PLSA_COPY_FROM_CLIENT_BUFFER = ::core::option::Option<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>;
20643#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20644#[cfg(feature = "Win32_Foundation")]
20645pub type PLSA_COPY_TO_CLIENT_BUFFER = ::core::option::Option<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>;
20646#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20647#[cfg(feature = "Win32_Foundation")]
20648pub type PLSA_CRACK_SINGLE_NAME = ::core::option::Option<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>;
20649#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20650#[cfg(feature = "Win32_Foundation")]
20651pub type PLSA_CREATE_LOGON_SESSION = ::core::option::Option<unsafe extern "system" fn(logonid: *mut super::super::super::Foundation::LUID) -> super::super::super::Foundation::NTSTATUS>;
20652#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20653pub type PLSA_CREATE_SHARED_MEMORY = ::core::option::Option<unsafe extern "system" fn(maxsize: u32, initialsize: u32) -> *mut ::core::ffi::c_void>;
20654#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_System_Threading\"`*"]
20655#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Threading"))]
20656pub type PLSA_CREATE_THREAD = ::core::option::Option<unsafe extern "system" fn(securityattributes: *const super::super::SECURITY_ATTRIBUTES, stacksize: u32, startfunction: super::super::super::System::Threading::LPTHREAD_START_ROUTINE, threadparameter: *const ::core::ffi::c_void, creationflags: u32, threadid: *mut u32) -> super::super::super::Foundation::HANDLE>;
20657#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20658#[cfg(feature = "Win32_Foundation")]
20659pub type PLSA_CREATE_TOKEN =
20660 ::core::option::Option<unsafe extern "system" fn(logonid: *const super::super::super::Foundation::LUID, tokensource: *const super::super::TOKEN_SOURCE, logontype: SECURITY_LOGON_TYPE, impersonationlevel: super::super::SECURITY_IMPERSONATION_LEVEL, tokeninformationtype: LSA_TOKEN_INFORMATION_TYPE, tokeninformation: *const ::core::ffi::c_void, tokengroups: *const super::super::TOKEN_GROUPS, accountname: *const super::super::super::Foundation::UNICODE_STRING, authorityname: *const super::super::super::Foundation::UNICODE_STRING, workstation: *const super::super::super::Foundation::UNICODE_STRING, profilepath: *const super::super::super::Foundation::UNICODE_STRING, token: *mut super::super::super::Foundation::HANDLE, substatus: *mut i32) -> super::super::super::Foundation::NTSTATUS>;
20661#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20662#[cfg(feature = "Win32_Foundation")]
20663pub type PLSA_CREATE_TOKEN_EX = ::core::option::Option<unsafe extern "system" fn(logonid: *const super::super::super::Foundation::LUID, tokensource: *const super::super::TOKEN_SOURCE, logontype: SECURITY_LOGON_TYPE, impersonationlevel: super::super::SECURITY_IMPERSONATION_LEVEL, tokeninformationtype: LSA_TOKEN_INFORMATION_TYPE, tokeninformation: *const ::core::ffi::c_void, tokengroups: *const super::super::TOKEN_GROUPS, workstation: *const super::super::super::Foundation::UNICODE_STRING, profilepath: *const super::super::super::Foundation::UNICODE_STRING, sessioninformation: *const ::core::ffi::c_void, sessioninformationtype: SECPKG_SESSIONINFO_TYPE, token: *mut super::super::super::Foundation::HANDLE, substatus: *mut i32) -> super::super::super::Foundation::NTSTATUS>;
20664#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`*"]
20665#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
20666pub type PLSA_DELETE_CREDENTIAL = ::core::option::Option<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>;
20667#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20668#[cfg(feature = "Win32_Foundation")]
20669pub type PLSA_DELETE_LOGON_SESSION = ::core::option::Option<unsafe extern "system" fn(logonid: *const super::super::super::Foundation::LUID) -> super::super::super::Foundation::NTSTATUS>;
20670#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20671#[cfg(feature = "Win32_Foundation")]
20672pub type PLSA_DELETE_SHARED_MEMORY = ::core::option::Option<unsafe extern "system" fn(sharedmem: *const ::core::ffi::c_void) -> super::super::super::Foundation::BOOLEAN>;
20673#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20674#[cfg(feature = "Win32_Foundation")]
20675pub type PLSA_DUPLICATE_HANDLE = ::core::option::Option<unsafe extern "system" fn(sourcehandle: super::super::super::Foundation::HANDLE, destionationhandle: *mut super::super::super::Foundation::HANDLE) -> super::super::super::Foundation::NTSTATUS>;
20676#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20677#[cfg(feature = "Win32_Foundation")]
20678pub type PLSA_EXPAND_AUTH_DATA_FOR_DOMAIN = ::core::option::Option<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>;
20679#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20680#[cfg(feature = "Win32_Foundation")]
20681pub type PLSA_FREE_CLIENT_BUFFER = ::core::option::Option<unsafe extern "system" fn(clientrequest: *const *const ::core::ffi::c_void, clientbaseaddress: *const ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS>;
20682#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20683pub type PLSA_FREE_LSA_HEAP = ::core::option::Option<unsafe extern "system" fn(base: *const ::core::ffi::c_void) -> ()>;
20684#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20685pub type PLSA_FREE_PRIVATE_HEAP = ::core::option::Option<unsafe extern "system" fn(base: *const ::core::ffi::c_void) -> ()>;
20686#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20687pub type PLSA_FREE_SHARED_MEMORY = ::core::option::Option<unsafe extern "system" fn(sharedmem: *const ::core::ffi::c_void, memory: *mut ::core::ffi::c_void) -> ()>;
20688#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20689#[cfg(feature = "Win32_Foundation")]
20690pub type PLSA_GET_APP_MODE_INFO = ::core::option::Option<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>;
20691#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20692#[cfg(feature = "Win32_Foundation")]
20693pub type PLSA_GET_AUTH_DATA_FOR_USER = ::core::option::Option<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>;
20694#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20695#[cfg(feature = "Win32_Foundation")]
20696pub type PLSA_GET_CALL_INFO = ::core::option::Option<unsafe extern "system" fn(info: *mut SECPKG_CALL_INFO) -> super::super::super::Foundation::BOOLEAN>;
20697#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20698#[cfg(feature = "Win32_Foundation")]
20699pub type PLSA_GET_CLIENT_INFO = ::core::option::Option<unsafe extern "system" fn(clientinfo: *mut SECPKG_CLIENT_INFO) -> super::super::super::Foundation::NTSTATUS>;
20700#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`*"]
20701#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
20702pub type PLSA_GET_CREDENTIALS = ::core::option::Option<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>;
20703#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20704#[cfg(feature = "Win32_Foundation")]
20705pub type PLSA_GET_EXTENDED_CALL_FLAGS = ::core::option::Option<unsafe extern "system" fn(flags: *mut u32) -> super::super::super::Foundation::NTSTATUS>;
20706#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20707#[cfg(feature = "Win32_Foundation")]
20708pub type PLSA_GET_SERVICE_ACCOUNT_PASSWORD = ::core::option::Option<unsafe extern "system" fn(accountname: *const super::super::super::Foundation::UNICODE_STRING, domainname: *const super::super::super::Foundation::UNICODE_STRING, credfetch: CRED_FETCH, filetimeexpiry: *mut super::super::super::Foundation::FILETIME, currentpassword: *mut super::super::super::Foundation::UNICODE_STRING, previouspassword: *mut super::super::super::Foundation::UNICODE_STRING, filetimecurrpwdvalidforoutbound: *mut super::super::super::Foundation::FILETIME) -> super::super::super::Foundation::NTSTATUS>;
20709#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20710#[cfg(feature = "Win32_Foundation")]
20711pub type PLSA_GET_USER_AUTH_DATA = ::core::option::Option<unsafe extern "system" fn(userhandle: *const ::core::ffi::c_void, userauthdata: *mut *mut u8, userauthdatasize: *mut u32) -> super::super::super::Foundation::NTSTATUS>;
20712#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20713#[cfg(feature = "Win32_Foundation")]
20714pub type PLSA_GET_USER_CREDENTIALS = ::core::option::Option<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>;
20715#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20716#[cfg(feature = "Win32_Foundation")]
20717pub type PLSA_IMPERSONATE_CLIENT = ::core::option::Option<unsafe extern "system" fn() -> super::super::super::Foundation::NTSTATUS>;
20718#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20719pub type PLSA_LOCATE_PKG_BY_ID = ::core::option::Option<unsafe extern "system" fn(packgeid: u32) -> *mut ::core::ffi::c_void>;
20720#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20721#[cfg(feature = "Win32_Foundation")]
20722pub type PLSA_MAP_BUFFER = ::core::option::Option<unsafe extern "system" fn(inputbuffer: *const SecBuffer, outputbuffer: *mut SecBuffer) -> super::super::super::Foundation::NTSTATUS>;
20723#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20724#[cfg(feature = "Win32_Foundation")]
20725pub type PLSA_OPEN_SAM_USER = ::core::option::Option<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>;
20726#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20727#[cfg(feature = "Win32_Foundation")]
20728pub type PLSA_OPEN_TOKEN_BY_LOGON_ID = ::core::option::Option<unsafe extern "system" fn(logonid: *const super::super::super::Foundation::LUID, rettokenhandle: *mut super::super::super::Foundation::HANDLE) -> super::super::super::Foundation::NTSTATUS>;
20729#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20730pub type PLSA_PROTECT_MEMORY = ::core::option::Option<unsafe extern "system" fn(buffer: *mut ::core::ffi::c_void, buffersize: u32) -> ()>;
20731#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20732#[cfg(feature = "Win32_Foundation")]
20733pub type PLSA_QUERY_CLIENT_REQUEST = ::core::option::Option<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>;
20734#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20735#[cfg(feature = "Win32_Foundation")]
20736pub type PLSA_REDIRECTED_LOGON_CALLBACK = ::core::option::Option<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>;
20737#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20738#[cfg(feature = "Win32_Foundation")]
20739pub type PLSA_REDIRECTED_LOGON_CLEANUP_CALLBACK = ::core::option::Option<unsafe extern "system" fn(redirectedlogonhandle: super::super::super::Foundation::HANDLE) -> ()>;
20740#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20741#[cfg(feature = "Win32_Foundation")]
20742pub type PLSA_REDIRECTED_LOGON_GET_LOGON_CREDS = ::core::option::Option<unsafe extern "system" fn(redirectedlogonhandle: super::super::super::Foundation::HANDLE, logonbuffer: *mut *mut u8, logonbufferlength: *mut u32) -> super::super::super::Foundation::NTSTATUS>;
20743#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20744#[cfg(feature = "Win32_Foundation")]
20745pub type PLSA_REDIRECTED_LOGON_GET_SUPP_CREDS = ::core::option::Option<unsafe extern "system" fn(redirectedlogonhandle: super::super::super::Foundation::HANDLE, supplementalcredentials: *mut *mut SECPKG_SUPPLEMENTAL_CRED_ARRAY) -> super::super::super::Foundation::NTSTATUS>;
20746#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20747#[cfg(feature = "Win32_Foundation")]
20748pub type PLSA_REDIRECTED_LOGON_INIT = ::core::option::Option<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>;
20749#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20750#[cfg(feature = "Win32_Foundation")]
20751pub type PLSA_REGISTER_CALLBACK = ::core::option::Option<unsafe extern "system" fn(callbackid: u32, callback: PLSA_CALLBACK_FUNCTION) -> super::super::super::Foundation::NTSTATUS>;
20752#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_System_Threading\"`*"]
20753#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Threading"))]
20754pub type PLSA_REGISTER_NOTIFICATION = ::core::option::Option<unsafe extern "system" fn(startfunction: 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>;
20755#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20756#[cfg(feature = "Win32_Foundation")]
20757pub type PLSA_SAVE_SUPPLEMENTAL_CREDENTIALS = ::core::option::Option<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>;
20758#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20759#[cfg(feature = "Win32_Foundation")]
20760pub type PLSA_SET_APP_MODE_INFO = ::core::option::Option<unsafe extern "system" fn(userfunction: u32, argument1: usize, argument2: usize, userdata: *const SecBuffer, returntolsa: super::super::super::Foundation::BOOLEAN) -> super::super::super::Foundation::NTSTATUS>;
20761#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20762#[cfg(feature = "Win32_Foundation")]
20763pub type PLSA_UNLOAD_PACKAGE = ::core::option::Option<unsafe extern "system" fn() -> super::super::super::Foundation::NTSTATUS>;
20764#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20765#[cfg(feature = "Win32_Foundation")]
20766pub type PLSA_UPDATE_PRIMARY_CREDENTIALS = ::core::option::Option<unsafe extern "system" fn(primarycredentials: *const SECPKG_PRIMARY_CRED, credentials: *const SECPKG_SUPPLEMENTAL_CRED_ARRAY) -> super::super::super::Foundation::NTSTATUS>;
20767#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20768pub type PSAM_CREDENTIAL_UPDATE_FREE_ROUTINE = ::core::option::Option<unsafe extern "system" fn(p: *const ::core::ffi::c_void) -> ()>;
20769#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20770#[cfg(feature = "Win32_Foundation")]
20771pub type PSAM_CREDENTIAL_UPDATE_NOTIFY_ROUTINE = ::core::option::Option<unsafe extern "system" fn(clearpassword: *const super::super::super::Foundation::UNICODE_STRING, oldcredentials: *const ::core::ffi::c_void, oldcredentialsize: u32, useraccountcontrol: u32, upn: *const super::super::super::Foundation::UNICODE_STRING, username: *const super::super::super::Foundation::UNICODE_STRING, netbiosdomainname: *const super::super::super::Foundation::UNICODE_STRING, dnsdomainname: *const super::super::super::Foundation::UNICODE_STRING, newcredentials: *mut *mut ::core::ffi::c_void, newcredentialsize: *mut u32) -> super::super::super::Foundation::NTSTATUS>;
20772#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20773#[cfg(feature = "Win32_Foundation")]
20774pub type PSAM_CREDENTIAL_UPDATE_REGISTER_MAPPED_ENTRYPOINTS_ROUTINE = ::core::option::Option<unsafe extern "system" fn(table: *mut SAM_REGISTER_MAPPING_TABLE) -> super::super::super::Foundation::NTSTATUS>;
20775#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20776#[cfg(feature = "Win32_Foundation")]
20777pub type PSAM_CREDENTIAL_UPDATE_REGISTER_ROUTINE = ::core::option::Option<unsafe extern "system" fn(credentialname: *mut super::super::super::Foundation::UNICODE_STRING) -> super::super::super::Foundation::BOOLEAN>;
20778#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20779#[cfg(feature = "Win32_Foundation")]
20780pub type PSAM_INIT_NOTIFICATION_ROUTINE = ::core::option::Option<unsafe extern "system" fn() -> super::super::super::Foundation::BOOLEAN>;
20781#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20782#[cfg(feature = "Win32_Foundation")]
20783pub type PSAM_PASSWORD_FILTER_ROUTINE = ::core::option::Option<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>;
20784#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20785#[cfg(feature = "Win32_Foundation")]
20786pub type PSAM_PASSWORD_NOTIFICATION_ROUTINE = ::core::option::Option<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>;
20787#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20788#[cfg(feature = "Win32_Security_Credentials")]
20789pub type QUERY_CONTEXT_ATTRIBUTES_EX_FN_A = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void, param3: u32) -> ::windows::core::HRESULT>;
20790#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20791#[cfg(feature = "Win32_Security_Credentials")]
20792pub type QUERY_CONTEXT_ATTRIBUTES_EX_FN_W = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void, param3: u32) -> ::windows::core::HRESULT>;
20793#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20794#[cfg(feature = "Win32_Security_Credentials")]
20795pub type QUERY_CONTEXT_ATTRIBUTES_FN_A = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT>;
20796#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20797#[cfg(feature = "Win32_Security_Credentials")]
20798pub type QUERY_CONTEXT_ATTRIBUTES_FN_W = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT>;
20799#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20800#[cfg(feature = "Win32_Security_Credentials")]
20801pub type QUERY_CREDENTIALS_ATTRIBUTES_EX_FN_A = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void, param3: u32) -> ::windows::core::HRESULT>;
20802#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20803#[cfg(feature = "Win32_Security_Credentials")]
20804pub type QUERY_CREDENTIALS_ATTRIBUTES_EX_FN_W = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void, param3: u32) -> ::windows::core::HRESULT>;
20805#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20806#[cfg(feature = "Win32_Security_Credentials")]
20807pub type QUERY_CREDENTIALS_ATTRIBUTES_FN_A = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT>;
20808#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20809#[cfg(feature = "Win32_Security_Credentials")]
20810pub type QUERY_CREDENTIALS_ATTRIBUTES_FN_W = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT>;
20811#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20812#[cfg(feature = "Win32_Security_Credentials")]
20813pub type QUERY_SECURITY_CONTEXT_TOKEN_FN = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT>;
20814#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20815pub type QUERY_SECURITY_PACKAGE_INFO_FN_A = ::core::option::Option<unsafe extern "system" fn(param0: *mut i8, param1: *mut *mut SecPkgInfoA) -> ::windows::core::HRESULT>;
20816#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20817pub type QUERY_SECURITY_PACKAGE_INFO_FN_W = ::core::option::Option<unsafe extern "system" fn(param0: *mut u16, param1: *mut *mut SecPkgInfoW) -> ::windows::core::HRESULT>;
20818#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20819#[cfg(feature = "Win32_Security_Credentials")]
20820pub type REVERT_SECURITY_CONTEXT_FN = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle) -> ::windows::core::HRESULT>;
20821#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20822pub type SEC_GET_KEY_FN = ::core::option::Option<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 ::windows::core::HRESULT) -> ()>;
20823#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20824#[cfg(feature = "Win32_Security_Credentials")]
20825pub type SET_CONTEXT_ATTRIBUTES_FN_A = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void, param3: u32) -> ::windows::core::HRESULT>;
20826#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20827#[cfg(feature = "Win32_Security_Credentials")]
20828pub type SET_CONTEXT_ATTRIBUTES_FN_W = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void, param3: u32) -> ::windows::core::HRESULT>;
20829#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20830#[cfg(feature = "Win32_Security_Credentials")]
20831pub type SET_CREDENTIALS_ATTRIBUTES_FN_A = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void, param3: u32) -> ::windows::core::HRESULT>;
20832#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20833#[cfg(feature = "Win32_Security_Credentials")]
20834pub type SET_CREDENTIALS_ATTRIBUTES_FN_W = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: u32, param2: *mut ::core::ffi::c_void, param3: u32) -> ::windows::core::HRESULT>;
20835#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20836#[cfg(feature = "Win32_Foundation")]
20837pub type SSL_CRACK_CERTIFICATE_FN = ::core::option::Option<unsafe extern "system" fn(pbcertificate: *mut u8, cbcertificate: u32, verifysignature: super::super::super::Foundation::BOOL, ppcertificate: *mut *mut X509Certificate) -> super::super::super::Foundation::BOOL>;
20838#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20839#[cfg(feature = "Win32_Foundation")]
20840pub type SSL_EMPTY_CACHE_FN_A = ::core::option::Option<unsafe extern "system" fn(psztargetname: ::windows::core::PCSTR, dwflags: u32) -> super::super::super::Foundation::BOOL>;
20841#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20842#[cfg(feature = "Win32_Foundation")]
20843pub type SSL_EMPTY_CACHE_FN_W = ::core::option::Option<unsafe extern "system" fn(psztargetname: ::windows::core::PCWSTR, dwflags: u32) -> super::super::super::Foundation::BOOL>;
20844#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20845#[cfg(feature = "Win32_Foundation")]
20846pub type SSL_FREE_CERTIFICATE_FN = ::core::option::Option<unsafe extern "system" fn(pcertificate: *mut X509Certificate) -> ()>;
20847#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20848#[cfg(feature = "Win32_Foundation")]
20849pub type SpAcceptCredentialsFn = ::core::option::Option<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>;
20850#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20851#[cfg(feature = "Win32_Foundation")]
20852pub type SpAcceptLsaModeContextFn = ::core::option::Option<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>;
20853#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20854#[cfg(feature = "Win32_Foundation")]
20855pub type SpAcquireCredentialsHandleFn = ::core::option::Option<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>;
20856#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20857#[cfg(feature = "Win32_Foundation")]
20858pub type SpAddCredentialsFn = ::core::option::Option<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>;
20859#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20860#[cfg(feature = "Win32_Foundation")]
20861pub type SpApplyControlTokenFn = ::core::option::Option<unsafe extern "system" fn(contexthandle: usize, controltoken: *const SecBufferDesc) -> super::super::super::Foundation::NTSTATUS>;
20862#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20863#[cfg(feature = "Win32_Foundation")]
20864pub type SpChangeAccountPasswordFn = ::core::option::Option<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>;
20865#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20866#[cfg(feature = "Win32_Foundation")]
20867pub type SpCompleteAuthTokenFn = ::core::option::Option<unsafe extern "system" fn(contexthandle: usize, inputbuffer: *const SecBufferDesc) -> super::super::super::Foundation::NTSTATUS>;
20868#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20869#[cfg(feature = "Win32_Foundation")]
20870pub type SpDeleteContextFn = ::core::option::Option<unsafe extern "system" fn(contexthandle: usize) -> super::super::super::Foundation::NTSTATUS>;
20871#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20872#[cfg(feature = "Win32_Foundation")]
20873pub type SpDeleteCredentialsFn = ::core::option::Option<unsafe extern "system" fn(credentialhandle: usize, key: *const SecBuffer) -> super::super::super::Foundation::NTSTATUS>;
20874#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20875#[cfg(feature = "Win32_Foundation")]
20876pub type SpExchangeMetaDataFn = ::core::option::Option<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>;
20877#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20878#[cfg(feature = "Win32_Foundation")]
20879pub type SpExportSecurityContextFn = ::core::option::Option<unsafe extern "system" fn(phcontext: usize, fflags: u32, ppackedcontext: *mut SecBuffer, ptoken: *mut super::super::super::Foundation::HANDLE) -> super::super::super::Foundation::NTSTATUS>;
20880#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20881#[cfg(feature = "Win32_Foundation")]
20882pub type SpFormatCredentialsFn = ::core::option::Option<unsafe extern "system" fn(credentials: *const SecBuffer, formattedcredentials: *mut SecBuffer) -> super::super::super::Foundation::NTSTATUS>;
20883#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20884#[cfg(feature = "Win32_Foundation")]
20885pub type SpFreeCredentialsHandleFn = ::core::option::Option<unsafe extern "system" fn(credentialhandle: usize) -> super::super::super::Foundation::NTSTATUS>;
20886#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20887#[cfg(feature = "Win32_Foundation")]
20888pub type SpGetContextTokenFn = ::core::option::Option<unsafe extern "system" fn(contexthandle: usize, impersonationtoken: *mut super::super::super::Foundation::HANDLE) -> super::super::super::Foundation::NTSTATUS>;
20889#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20890#[cfg(feature = "Win32_Foundation")]
20891pub type SpGetCredUIContextFn = ::core::option::Option<unsafe extern "system" fn(contexthandle: usize, credtype: *const ::windows::core::GUID, flatcreduicontextlength: *mut u32, flatcreduicontext: *mut *mut u8) -> super::super::super::Foundation::NTSTATUS>;
20892#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20893#[cfg(feature = "Win32_Foundation")]
20894pub type SpGetCredentialsFn = ::core::option::Option<unsafe extern "system" fn(credentialhandle: usize, credentials: *mut SecBuffer) -> super::super::super::Foundation::NTSTATUS>;
20895#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20896#[cfg(feature = "Win32_Foundation")]
20897pub type SpGetExtendedInformationFn = ::core::option::Option<unsafe extern "system" fn(class: SECPKG_EXTENDED_INFORMATION_CLASS, ppinformation: *mut *mut SECPKG_EXTENDED_INFORMATION) -> super::super::super::Foundation::NTSTATUS>;
20898#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20899#[cfg(feature = "Win32_Foundation")]
20900pub type SpGetInfoFn = ::core::option::Option<unsafe extern "system" fn(packageinfo: *mut SecPkgInfoA) -> super::super::super::Foundation::NTSTATUS>;
20901#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20902#[cfg(feature = "Win32_Foundation")]
20903pub type SpGetRemoteCredGuardLogonBufferFn = ::core::option::Option<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 PLSA_REDIRECTED_LOGON_CALLBACK, cleanupcallback: *mut PLSA_REDIRECTED_LOGON_CLEANUP_CALLBACK, logonbuffersize: *mut u32, logonbuffer: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS>;
20904#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20905#[cfg(feature = "Win32_Foundation")]
20906pub type SpGetRemoteCredGuardSupplementalCredsFn = ::core::option::Option<unsafe extern "system" fn(credhandle: usize, targetname: *const super::super::super::Foundation::UNICODE_STRING, redirectedlogonhandle: *mut super::super::super::Foundation::HANDLE, callback: *mut PLSA_REDIRECTED_LOGON_CALLBACK, cleanupcallback: *mut PLSA_REDIRECTED_LOGON_CLEANUP_CALLBACK, supplementalcredssize: *mut u32, supplementalcreds: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS>;
20907#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20908#[cfg(feature = "Win32_Foundation")]
20909pub type SpGetTbalSupplementalCredsFn = ::core::option::Option<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>;
20910#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20911#[cfg(feature = "Win32_Foundation")]
20912pub type SpGetUserInfoFn = ::core::option::Option<unsafe extern "system" fn(logonid: *const super::super::super::Foundation::LUID, flags: u32, userdata: *mut *mut SECURITY_USER_DATA) -> super::super::super::Foundation::NTSTATUS>;
20913#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20914#[cfg(feature = "Win32_Foundation")]
20915pub type SpImportSecurityContextFn = ::core::option::Option<unsafe extern "system" fn(ppackedcontext: *const SecBuffer, token: super::super::super::Foundation::HANDLE, phcontext: *mut usize) -> super::super::super::Foundation::NTSTATUS>;
20916#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20917#[cfg(feature = "Win32_Foundation")]
20918pub type SpInitLsaModeContextFn = ::core::option::Option<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>;
20919#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20920#[cfg(feature = "Win32_Foundation")]
20921pub type SpInitUserModeContextFn = ::core::option::Option<unsafe extern "system" fn(contexthandle: usize, packedcontext: *const SecBuffer) -> super::super::super::Foundation::NTSTATUS>;
20922#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_Security_Credentials\"`, `\"Win32_System_Kernel\"`, `\"Win32_System_Threading\"`*"]
20923#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
20924pub type SpInitializeFn = ::core::option::Option<unsafe extern "system" fn(packageid: usize, parameters: *const SECPKG_PARAMETERS, functiontable: *const LSA_SECPKG_FUNCTION_TABLE) -> super::super::super::Foundation::NTSTATUS>;
20925#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20926#[cfg(feature = "Win32_Foundation")]
20927pub type SpInstanceInitFn = ::core::option::Option<unsafe extern "system" fn(version: u32, functiontable: *const SECPKG_DLL_FUNCTIONS, userfunctions: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS>;
20928#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`, `\"Win32_Security_Credentials\"`, `\"Win32_System_Kernel\"`, `\"Win32_System_Threading\"`*"]
20929#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security_Credentials", feature = "Win32_System_Kernel", feature = "Win32_System_Threading"))]
20930pub type SpLsaModeInitializeFn = ::core::option::Option<unsafe extern "system" fn(lsaversion: u32, packageversion: *mut u32, pptables: *mut *mut SECPKG_FUNCTION_TABLE, pctables: *mut u32) -> super::super::super::Foundation::NTSTATUS>;
20931#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20932#[cfg(feature = "Win32_Foundation")]
20933pub type SpMakeSignatureFn = ::core::option::Option<unsafe extern "system" fn(contexthandle: usize, qualityofprotection: u32, messagebuffers: *const SecBufferDesc, messagesequencenumber: u32) -> super::super::super::Foundation::NTSTATUS>;
20934#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20935#[cfg(feature = "Win32_Foundation")]
20936pub type SpMarshalAttributeDataFn = ::core::option::Option<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>;
20937#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20938#[cfg(feature = "Win32_Foundation")]
20939pub type SpMarshallSupplementalCredsFn = ::core::option::Option<unsafe extern "system" fn(credentialsize: u32, credentials: *const u8, marshalledcredsize: *mut u32, marshalledcreds: *mut *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS>;
20940#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20941#[cfg(feature = "Win32_Foundation")]
20942pub type SpQueryContextAttributesFn = ::core::option::Option<unsafe extern "system" fn(contexthandle: usize, contextattribute: u32, buffer: *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS>;
20943#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20944#[cfg(feature = "Win32_Foundation")]
20945pub type SpQueryCredentialsAttributesFn = ::core::option::Option<unsafe extern "system" fn(credentialhandle: usize, credentialattribute: u32, buffer: *mut ::core::ffi::c_void) -> super::super::super::Foundation::NTSTATUS>;
20946#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20947#[cfg(feature = "Win32_Foundation")]
20948pub type SpQueryMetaDataFn = ::core::option::Option<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>;
20949#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20950#[cfg(feature = "Win32_Foundation")]
20951pub type SpSaveCredentialsFn = ::core::option::Option<unsafe extern "system" fn(credentialhandle: usize, credentials: *const SecBuffer) -> super::super::super::Foundation::NTSTATUS>;
20952#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20953#[cfg(feature = "Win32_Foundation")]
20954pub type SpSealMessageFn = ::core::option::Option<unsafe extern "system" fn(contexthandle: usize, qualityofprotection: u32, messagebuffers: *const SecBufferDesc, messagesequencenumber: u32) -> super::super::super::Foundation::NTSTATUS>;
20955#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20956#[cfg(feature = "Win32_Foundation")]
20957pub type SpSetContextAttributesFn = ::core::option::Option<unsafe extern "system" fn(contexthandle: usize, contextattribute: u32, buffer: *const ::core::ffi::c_void, buffersize: u32) -> super::super::super::Foundation::NTSTATUS>;
20958#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20959#[cfg(feature = "Win32_Foundation")]
20960pub type SpSetCredentialsAttributesFn = ::core::option::Option<unsafe extern "system" fn(credentialhandle: usize, credentialattribute: u32, buffer: *const ::core::ffi::c_void, buffersize: u32) -> super::super::super::Foundation::NTSTATUS>;
20961#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20962#[cfg(feature = "Win32_Foundation")]
20963pub type SpSetExtendedInformationFn = ::core::option::Option<unsafe extern "system" fn(class: SECPKG_EXTENDED_INFORMATION_CLASS, info: *const SECPKG_EXTENDED_INFORMATION) -> super::super::super::Foundation::NTSTATUS>;
20964#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20965#[cfg(feature = "Win32_Foundation")]
20966pub type SpShutdownFn = ::core::option::Option<unsafe extern "system" fn() -> super::super::super::Foundation::NTSTATUS>;
20967#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20968#[cfg(feature = "Win32_Foundation")]
20969pub type SpUnsealMessageFn = ::core::option::Option<unsafe extern "system" fn(contexthandle: usize, messagebuffers: *const SecBufferDesc, messagesequencenumber: u32, qualityofprotection: *mut u32) -> super::super::super::Foundation::NTSTATUS>;
20970#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20971#[cfg(feature = "Win32_Foundation")]
20972pub type SpUpdateCredentialsFn = ::core::option::Option<unsafe extern "system" fn(contexthandle: usize, credtype: *const ::windows::core::GUID, flatcreduicontextlength: u32, flatcreduicontext: *const u8) -> super::super::super::Foundation::NTSTATUS>;
20973#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20974#[cfg(feature = "Win32_Foundation")]
20975pub type SpUserModeInitializeFn = ::core::option::Option<unsafe extern "system" fn(lsaversion: u32, packageversion: *mut u32, pptables: *mut *mut SECPKG_USER_FUNCTION_TABLE, pctables: *mut u32) -> super::super::super::Foundation::NTSTATUS>;
20976#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20977#[cfg(feature = "Win32_Foundation")]
20978pub type SpValidateTargetInfoFn = ::core::option::Option<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>;
20979#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Foundation\"`*"]
20980#[cfg(feature = "Win32_Foundation")]
20981pub type SpVerifySignatureFn = ::core::option::Option<unsafe extern "system" fn(contexthandle: usize, messagebuffers: *const SecBufferDesc, messagesequencenumber: u32, qualityofprotection: *mut u32) -> super::super::super::Foundation::NTSTATUS>;
20982#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20983pub type SslGetExtensionsFn = ::core::option::Option<unsafe extern "system" fn(clienthello: *const u8, clienthellobytesize: u32, genericextensions: *mut SCH_EXTENSION_DATA, genericextensionscount: u8, bytestoread: *mut u32, flags: SchGetExtensionsOptions) -> ::windows::core::HRESULT>;
20984#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`*"]
20985pub type SslGetServerIdentityFn = ::core::option::Option<unsafe extern "system" fn(clienthello: *const u8, clienthellosize: u32, serveridentity: *mut *mut u8, serveridentitysize: *mut u32, flags: u32) -> ::windows::core::HRESULT>;
20986#[doc = "*Required features: `\"Win32_Security_Authentication_Identity\"`, `\"Win32_Security_Credentials\"`*"]
20987#[cfg(feature = "Win32_Security_Credentials")]
20988pub type VERIFY_SIGNATURE_FN = ::core::option::Option<unsafe extern "system" fn(param0: *mut super::super::Credentials::SecHandle, param1: *mut SecBufferDesc, param2: u32, param3: *mut u32) -> ::windows::core::HRESULT>;
20989#[cfg(feature = "implement")]
20990::core::include!("impl.rs");