1#[cfg(feature = "Win32_Security_AppLocker")]
2#[doc = "Required features: `\"Win32_Security_AppLocker\"`"]
3pub mod AppLocker;
4#[cfg(feature = "Win32_Security_Authentication")]
5#[doc = "Required features: `\"Win32_Security_Authentication\"`"]
6pub mod Authentication;
7#[cfg(feature = "Win32_Security_Authorization")]
8#[doc = "Required features: `\"Win32_Security_Authorization\"`"]
9pub mod Authorization;
10#[cfg(feature = "Win32_Security_ConfigurationSnapin")]
11#[doc = "Required features: `\"Win32_Security_ConfigurationSnapin\"`"]
12pub mod ConfigurationSnapin;
13#[cfg(feature = "Win32_Security_Credentials")]
14#[doc = "Required features: `\"Win32_Security_Credentials\"`"]
15pub mod Credentials;
16#[cfg(feature = "Win32_Security_Cryptography")]
17#[doc = "Required features: `\"Win32_Security_Cryptography\"`"]
18pub mod Cryptography;
19#[cfg(feature = "Win32_Security_DiagnosticDataQuery")]
20#[doc = "Required features: `\"Win32_Security_DiagnosticDataQuery\"`"]
21pub mod DiagnosticDataQuery;
22#[cfg(feature = "Win32_Security_DirectoryServices")]
23#[doc = "Required features: `\"Win32_Security_DirectoryServices\"`"]
24pub mod DirectoryServices;
25#[cfg(feature = "Win32_Security_EnterpriseData")]
26#[doc = "Required features: `\"Win32_Security_EnterpriseData\"`"]
27pub mod EnterpriseData;
28#[cfg(feature = "Win32_Security_ExtensibleAuthenticationProtocol")]
29#[doc = "Required features: `\"Win32_Security_ExtensibleAuthenticationProtocol\"`"]
30pub mod ExtensibleAuthenticationProtocol;
31#[cfg(feature = "Win32_Security_Isolation")]
32#[doc = "Required features: `\"Win32_Security_Isolation\"`"]
33pub mod Isolation;
34#[cfg(feature = "Win32_Security_LicenseProtection")]
35#[doc = "Required features: `\"Win32_Security_LicenseProtection\"`"]
36pub mod LicenseProtection;
37#[cfg(feature = "Win32_Security_NetworkAccessProtection")]
38#[doc = "Required features: `\"Win32_Security_NetworkAccessProtection\"`"]
39pub mod NetworkAccessProtection;
40#[cfg(feature = "Win32_Security_Tpm")]
41#[doc = "Required features: `\"Win32_Security_Tpm\"`"]
42pub mod Tpm;
43#[cfg(feature = "Win32_Security_WinTrust")]
44#[doc = "Required features: `\"Win32_Security_WinTrust\"`"]
45pub mod WinTrust;
46#[cfg(feature = "Win32_Security_WinWlx")]
47#[doc = "Required features: `\"Win32_Security_WinWlx\"`"]
48pub mod WinWlx;
49#[doc = "Required features: `\"Win32_Foundation\"`"]
50#[cfg(feature = "Win32_Foundation")]
51#[inline]
52pub unsafe fn AccessCheck<P0, P1>(psecuritydescriptor: P0, clienttoken: P1, desiredaccess: u32, genericmapping: *const GENERIC_MAPPING, privilegeset: ::core::option::Option<*mut PRIVILEGE_SET>, privilegesetlength: *mut u32, grantedaccess: *mut u32, accessstatus: *mut super::Foundation::BOOL) -> ::windows_core::Result<()>
53where
54 P0: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
55 P1: ::windows_core::IntoParam<super::Foundation::HANDLE>,
56{
57 ::windows_targets::link!("advapi32.dll" "system" fn AccessCheck(psecuritydescriptor : PSECURITY_DESCRIPTOR, clienttoken : super::Foundation:: HANDLE, desiredaccess : u32, genericmapping : *const GENERIC_MAPPING, privilegeset : *mut PRIVILEGE_SET, privilegesetlength : *mut u32, grantedaccess : *mut u32, accessstatus : *mut super::Foundation:: BOOL) -> super::Foundation:: BOOL);
58 AccessCheck(psecuritydescriptor:psecuritydescriptor.into_param().abi(), clienttoken:clienttoken.into_param().abi(), desiredaccess, genericmapping, ::core::mem::transmute(src:privilegeset.unwrap_or(::std::ptr::null_mut())), privilegesetlength, grantedaccess, accessstatus).ok()
59}
60#[doc = "Required features: `\"Win32_Foundation\"`"]
61#[cfg(feature = "Win32_Foundation")]
62#[inline]
63pub unsafe fn AccessCheckAndAuditAlarmA<P0, P1, P2, P3, P4>(subsystemname: P0, handleid: ::core::option::Option<*const ::core::ffi::c_void>, objecttypename: P1, objectname: P2, securitydescriptor: P3, desiredaccess: u32, genericmapping: *const GENERIC_MAPPING, objectcreation: P4, grantedaccess: *mut u32, accessstatus: *mut super::Foundation::BOOL, pfgenerateonclose: *mut super::Foundation::BOOL) -> ::windows_core::Result<()>
64where
65 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
66 P1: ::windows_core::IntoParam<::windows_core::PCSTR>,
67 P2: ::windows_core::IntoParam<::windows_core::PCSTR>,
68 P3: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
69 P4: ::windows_core::IntoParam<super::Foundation::BOOL>,
70{
71 ::windows_targets::link!("advapi32.dll" "system" fn AccessCheckAndAuditAlarmA(subsystemname : ::windows_core::PCSTR, handleid : *const ::core::ffi::c_void, objecttypename : ::windows_core::PCSTR, objectname : ::windows_core::PCSTR, securitydescriptor : PSECURITY_DESCRIPTOR, desiredaccess : u32, genericmapping : *const GENERIC_MAPPING, objectcreation : super::Foundation:: BOOL, grantedaccess : *mut u32, accessstatus : *mut super::Foundation:: BOOL, pfgenerateonclose : *mut super::Foundation:: BOOL) -> super::Foundation:: BOOL);
72 AccessCheckAndAuditAlarmA(subsystemname:subsystemname.into_param().abi(), ::core::mem::transmute(handleid.unwrap_or(::std::ptr::null())), objecttypename:objecttypename.into_param().abi(), objectname:objectname.into_param().abi(), securitydescriptor:securitydescriptor.into_param().abi(), desiredaccess, genericmapping, objectcreation:objectcreation.into_param().abi(), grantedaccess, accessstatus, pfgenerateonclose).ok()
73}
74#[doc = "Required features: `\"Win32_Foundation\"`"]
75#[cfg(feature = "Win32_Foundation")]
76#[inline]
77pub unsafe fn AccessCheckAndAuditAlarmW<P0, P1, P2, P3, P4>(subsystemname: P0, handleid: ::core::option::Option<*const ::core::ffi::c_void>, objecttypename: P1, objectname: P2, securitydescriptor: P3, desiredaccess: u32, genericmapping: *const GENERIC_MAPPING, objectcreation: P4, grantedaccess: *mut u32, accessstatus: *mut super::Foundation::BOOL, pfgenerateonclose: *mut super::Foundation::BOOL) -> super::Foundation::BOOL
78where
79 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
80 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
81 P2: ::windows_core::IntoParam<::windows_core::PCWSTR>,
82 P3: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
83 P4: ::windows_core::IntoParam<super::Foundation::BOOL>,
84{
85 ::windows_targets::link!("advapi32.dll" "system" fn AccessCheckAndAuditAlarmW(subsystemname : ::windows_core::PCWSTR, handleid : *const ::core::ffi::c_void, objecttypename : ::windows_core::PCWSTR, objectname : ::windows_core::PCWSTR, securitydescriptor : PSECURITY_DESCRIPTOR, desiredaccess : u32, genericmapping : *const GENERIC_MAPPING, objectcreation : super::Foundation:: BOOL, grantedaccess : *mut u32, accessstatus : *mut super::Foundation:: BOOL, pfgenerateonclose : *mut super::Foundation:: BOOL) -> super::Foundation:: BOOL);
86 AccessCheckAndAuditAlarmW(subsystemname:subsystemname.into_param().abi(), ::core::mem::transmute(handleid.unwrap_or(::std::ptr::null())), objecttypename:objecttypename.into_param().abi(), objectname:objectname.into_param().abi(), securitydescriptor:securitydescriptor.into_param().abi(), desiredaccess, genericmapping, objectcreation:objectcreation.into_param().abi(), grantedaccess, accessstatus, pfgenerateonclose)
87}
88#[doc = "Required features: `\"Win32_Foundation\"`"]
89#[cfg(feature = "Win32_Foundation")]
90#[inline]
91pub unsafe fn AccessCheckByType<P0, P1, P2>(psecuritydescriptor: P0, principalselfsid: P1, clienttoken: P2, desiredaccess: u32, objecttypelist: ::core::option::Option<&mut [OBJECT_TYPE_LIST]>, genericmapping: *const GENERIC_MAPPING, privilegeset: ::core::option::Option<*mut PRIVILEGE_SET>, privilegesetlength: *mut u32, grantedaccess: *mut u32, accessstatus: *mut super::Foundation::BOOL) -> ::windows_core::Result<()>
92where
93 P0: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
94 P1: ::windows_core::IntoParam<super::Foundation::PSID>,
95 P2: ::windows_core::IntoParam<super::Foundation::HANDLE>,
96{
97 ::windows_targets::link!("advapi32.dll" "system" fn AccessCheckByType(psecuritydescriptor : PSECURITY_DESCRIPTOR, principalselfsid : super::Foundation:: PSID, clienttoken : super::Foundation:: HANDLE, desiredaccess : u32, objecttypelist : *mut OBJECT_TYPE_LIST, objecttypelistlength : u32, genericmapping : *const GENERIC_MAPPING, privilegeset : *mut PRIVILEGE_SET, privilegesetlength : *mut u32, grantedaccess : *mut u32, accessstatus : *mut super::Foundation:: BOOL) -> super::Foundation:: BOOL);
98 AccessCheckByType(psecuritydescriptor:psecuritydescriptor.into_param().abi(), principalselfsid:principalselfsid.into_param().abi(), clienttoken:clienttoken.into_param().abi(), desiredaccess, ::core::mem::transmute(objecttypelist.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), objecttypelistlength:objecttypelist.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), genericmapping, ::core::mem::transmute(src:privilegeset.unwrap_or(::std::ptr::null_mut())), privilegesetlength, grantedaccess, accessstatus).ok()
99}
100#[doc = "Required features: `\"Win32_Foundation\"`"]
101#[cfg(feature = "Win32_Foundation")]
102#[inline]
103pub unsafe fn AccessCheckByTypeAndAuditAlarmA<P0, P1, P2, P3, P4, P5>(subsystemname: P0, handleid: *const ::core::ffi::c_void, objecttypename: P1, objectname: P2, securitydescriptor: P3, principalselfsid: P4, desiredaccess: u32, audittype: AUDIT_EVENT_TYPE, flags: u32, objecttypelist: ::core::option::Option<&mut [OBJECT_TYPE_LIST]>, genericmapping: *const GENERIC_MAPPING, objectcreation: P5, grantedaccess: *mut u32, accessstatus: *mut super::Foundation::BOOL, pfgenerateonclose: *mut super::Foundation::BOOL) -> ::windows_core::Result<()>
104where
105 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
106 P1: ::windows_core::IntoParam<::windows_core::PCSTR>,
107 P2: ::windows_core::IntoParam<::windows_core::PCSTR>,
108 P3: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
109 P4: ::windows_core::IntoParam<super::Foundation::PSID>,
110 P5: ::windows_core::IntoParam<super::Foundation::BOOL>,
111{
112 ::windows_targets::link!("advapi32.dll" "system" fn AccessCheckByTypeAndAuditAlarmA(subsystemname : ::windows_core::PCSTR, handleid : *const ::core::ffi::c_void, objecttypename : ::windows_core::PCSTR, objectname : ::windows_core::PCSTR, securitydescriptor : PSECURITY_DESCRIPTOR, principalselfsid : super::Foundation:: PSID, desiredaccess : u32, audittype : AUDIT_EVENT_TYPE, flags : u32, objecttypelist : *mut OBJECT_TYPE_LIST, objecttypelistlength : u32, genericmapping : *const GENERIC_MAPPING, objectcreation : super::Foundation:: BOOL, grantedaccess : *mut u32, accessstatus : *mut super::Foundation:: BOOL, pfgenerateonclose : *mut super::Foundation:: BOOL) -> super::Foundation:: BOOL);
113 AccessCheckByTypeAndAuditAlarmABOOL(
114 subsystemname:subsystemname.into_param().abi(),
115 handleid,
116 objecttypename:objecttypename.into_param().abi(),
117 objectname:objectname.into_param().abi(),
118 securitydescriptor:securitydescriptor.into_param().abi(),
119 principalselfsid:principalselfsid.into_param().abi(),
120 desiredaccess,
121 audittype,
122 flags,
123 ::core::mem::transmute(objecttypelist.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())),
124 objecttypelistlength:objecttypelist.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()),
125 genericmapping,
126 objectcreation:objectcreation.into_param().abi(),
127 grantedaccess,
128 accessstatus,
129 pfgenerateonclose,
130 )
131 .ok()
132}
133#[doc = "Required features: `\"Win32_Foundation\"`"]
134#[cfg(feature = "Win32_Foundation")]
135#[inline]
136pub unsafe fn AccessCheckByTypeAndAuditAlarmW<P0, P1, P2, P3, P4, P5>(subsystemname: P0, handleid: *const ::core::ffi::c_void, objecttypename: P1, objectname: P2, securitydescriptor: P3, principalselfsid: P4, desiredaccess: u32, audittype: AUDIT_EVENT_TYPE, flags: u32, objecttypelist: ::core::option::Option<&mut [OBJECT_TYPE_LIST]>, genericmapping: *const GENERIC_MAPPING, objectcreation: P5, grantedaccess: *mut u32, accessstatus: *mut super::Foundation::BOOL, pfgenerateonclose: *mut super::Foundation::BOOL) -> super::Foundation::BOOL
137where
138 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
139 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
140 P2: ::windows_core::IntoParam<::windows_core::PCWSTR>,
141 P3: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
142 P4: ::windows_core::IntoParam<super::Foundation::PSID>,
143 P5: ::windows_core::IntoParam<super::Foundation::BOOL>,
144{
145 ::windows_targets::link!("advapi32.dll" "system" fn AccessCheckByTypeAndAuditAlarmW(subsystemname : ::windows_core::PCWSTR, handleid : *const ::core::ffi::c_void, objecttypename : ::windows_core::PCWSTR, objectname : ::windows_core::PCWSTR, securitydescriptor : PSECURITY_DESCRIPTOR, principalselfsid : super::Foundation:: PSID, desiredaccess : u32, audittype : AUDIT_EVENT_TYPE, flags : u32, objecttypelist : *mut OBJECT_TYPE_LIST, objecttypelistlength : u32, genericmapping : *const GENERIC_MAPPING, objectcreation : super::Foundation:: BOOL, grantedaccess : *mut u32, accessstatus : *mut super::Foundation:: BOOL, pfgenerateonclose : *mut super::Foundation:: BOOL) -> super::Foundation:: BOOL);
146 AccessCheckByTypeAndAuditAlarmW(
147 subsystemname:subsystemname.into_param().abi(),
148 handleid,
149 objecttypename:objecttypename.into_param().abi(),
150 objectname:objectname.into_param().abi(),
151 securitydescriptor:securitydescriptor.into_param().abi(),
152 principalselfsid:principalselfsid.into_param().abi(),
153 desiredaccess,
154 audittype,
155 flags,
156 ::core::mem::transmute(objecttypelist.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())),
157 objecttypelistlength:objecttypelist.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()),
158 genericmapping,
159 objectcreation:objectcreation.into_param().abi(),
160 grantedaccess,
161 accessstatus,
162 pfgenerateonclose,
163 )
164}
165#[doc = "Required features: `\"Win32_Foundation\"`"]
166#[cfg(feature = "Win32_Foundation")]
167#[inline]
168pub unsafe fn AccessCheckByTypeResultList<P0, P1, P2>(psecuritydescriptor: P0, principalselfsid: P1, clienttoken: P2, desiredaccess: u32, objecttypelist: ::core::option::Option<*mut OBJECT_TYPE_LIST>, objecttypelistlength: u32, genericmapping: *const GENERIC_MAPPING, privilegeset: ::core::option::Option<*mut PRIVILEGE_SET>, privilegesetlength: *mut u32, grantedaccesslist: *mut u32, accessstatuslist: *mut u32) -> ::windows_core::Result<()>
169where
170 P0: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
171 P1: ::windows_core::IntoParam<super::Foundation::PSID>,
172 P2: ::windows_core::IntoParam<super::Foundation::HANDLE>,
173{
174 ::windows_targets::link!("advapi32.dll" "system" fn AccessCheckByTypeResultList(psecuritydescriptor : PSECURITY_DESCRIPTOR, principalselfsid : super::Foundation:: PSID, clienttoken : super::Foundation:: HANDLE, desiredaccess : u32, objecttypelist : *mut OBJECT_TYPE_LIST, objecttypelistlength : u32, genericmapping : *const GENERIC_MAPPING, privilegeset : *mut PRIVILEGE_SET, privilegesetlength : *mut u32, grantedaccesslist : *mut u32, accessstatuslist : *mut u32) -> super::Foundation:: BOOL);
175 AccessCheckByTypeResultList(psecuritydescriptor:psecuritydescriptor.into_param().abi(), principalselfsid:principalselfsid.into_param().abi(), clienttoken:clienttoken.into_param().abi(), desiredaccess, ::core::mem::transmute(objecttypelist.unwrap_or(::std::ptr::null_mut())), objecttypelistlength, genericmapping, ::core::mem::transmute(src:privilegeset.unwrap_or(::std::ptr::null_mut())), privilegesetlength, grantedaccesslist, accessstatuslist).ok()
176}
177#[doc = "Required features: `\"Win32_Foundation\"`"]
178#[cfg(feature = "Win32_Foundation")]
179#[inline]
180pub unsafe fn AccessCheckByTypeResultListAndAuditAlarmA<P0, P1, P2, P3, P4, P5>(subsystemname: P0, handleid: *const ::core::ffi::c_void, objecttypename: P1, objectname: P2, securitydescriptor: P3, principalselfsid: P4, desiredaccess: u32, audittype: AUDIT_EVENT_TYPE, flags: u32, objecttypelist: ::core::option::Option<*mut OBJECT_TYPE_LIST>, objecttypelistlength: u32, genericmapping: *const GENERIC_MAPPING, objectcreation: P5, grantedaccess: *mut u32, accessstatuslist: *mut u32, pfgenerateonclose: *mut super::Foundation::BOOL) -> ::windows_core::Result<()>
181where
182 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
183 P1: ::windows_core::IntoParam<::windows_core::PCSTR>,
184 P2: ::windows_core::IntoParam<::windows_core::PCSTR>,
185 P3: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
186 P4: ::windows_core::IntoParam<super::Foundation::PSID>,
187 P5: ::windows_core::IntoParam<super::Foundation::BOOL>,
188{
189 ::windows_targets::link!("advapi32.dll" "system" fn AccessCheckByTypeResultListAndAuditAlarmA(subsystemname : ::windows_core::PCSTR, handleid : *const ::core::ffi::c_void, objecttypename : ::windows_core::PCSTR, objectname : ::windows_core::PCSTR, securitydescriptor : PSECURITY_DESCRIPTOR, principalselfsid : super::Foundation:: PSID, desiredaccess : u32, audittype : AUDIT_EVENT_TYPE, flags : u32, objecttypelist : *mut OBJECT_TYPE_LIST, objecttypelistlength : u32, genericmapping : *const GENERIC_MAPPING, objectcreation : super::Foundation:: BOOL, grantedaccess : *mut u32, accessstatuslist : *mut u32, pfgenerateonclose : *mut super::Foundation:: BOOL) -> super::Foundation:: BOOL);
190 AccessCheckByTypeResultListAndAuditAlarmA(subsystemname:subsystemname.into_param().abi(), handleid, objecttypename:objecttypename.into_param().abi(), objectname:objectname.into_param().abi(), securitydescriptor:securitydescriptor.into_param().abi(), principalselfsid:principalselfsid.into_param().abi(), desiredaccess, audittype, flags, ::core::mem::transmute(objecttypelist.unwrap_or(::std::ptr::null_mut())), objecttypelistlength, genericmapping, objectcreation:objectcreation.into_param().abi(), grantedaccess, accessstatuslist, pfgenerateonclose).ok()
191}
192#[doc = "Required features: `\"Win32_Foundation\"`"]
193#[cfg(feature = "Win32_Foundation")]
194#[inline]
195pub unsafe fn AccessCheckByTypeResultListAndAuditAlarmByHandleA<P0, P1, P2, P3, P4, P5, P6>(subsystemname: P0, handleid: *const ::core::ffi::c_void, clienttoken: P1, objecttypename: P2, objectname: P3, securitydescriptor: P4, principalselfsid: P5, desiredaccess: u32, audittype: AUDIT_EVENT_TYPE, flags: u32, objecttypelist: ::core::option::Option<*mut OBJECT_TYPE_LIST>, objecttypelistlength: u32, genericmapping: *const GENERIC_MAPPING, objectcreation: P6, grantedaccess: *mut u32, accessstatuslist: *mut u32, pfgenerateonclose: *mut super::Foundation::BOOL) -> ::windows_core::Result<()>
196where
197 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
198 P1: ::windows_core::IntoParam<super::Foundation::HANDLE>,
199 P2: ::windows_core::IntoParam<::windows_core::PCSTR>,
200 P3: ::windows_core::IntoParam<::windows_core::PCSTR>,
201 P4: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
202 P5: ::windows_core::IntoParam<super::Foundation::PSID>,
203 P6: ::windows_core::IntoParam<super::Foundation::BOOL>,
204{
205 ::windows_targets::link!("advapi32.dll" "system" fn AccessCheckByTypeResultListAndAuditAlarmByHandleA(subsystemname : ::windows_core::PCSTR, handleid : *const ::core::ffi::c_void, clienttoken : super::Foundation:: HANDLE, objecttypename : ::windows_core::PCSTR, objectname : ::windows_core::PCSTR, securitydescriptor : PSECURITY_DESCRIPTOR, principalselfsid : super::Foundation:: PSID, desiredaccess : u32, audittype : AUDIT_EVENT_TYPE, flags : u32, objecttypelist : *mut OBJECT_TYPE_LIST, objecttypelistlength : u32, genericmapping : *const GENERIC_MAPPING, objectcreation : super::Foundation:: BOOL, grantedaccess : *mut u32, accessstatuslist : *mut u32, pfgenerateonclose : *mut super::Foundation:: BOOL) -> super::Foundation:: BOOL);
206 AccessCheckByTypeResultListAndAuditAlarmByHandleA(subsystemname:subsystemname.into_param().abi(), handleid, clienttoken:clienttoken.into_param().abi(), objecttypename:objecttypename.into_param().abi(), objectname:objectname.into_param().abi(), securitydescriptor:securitydescriptor.into_param().abi(), principalselfsid:principalselfsid.into_param().abi(), desiredaccess, audittype, flags, ::core::mem::transmute(objecttypelist.unwrap_or(::std::ptr::null_mut())), objecttypelistlength, genericmapping, objectcreation:objectcreation.into_param().abi(), grantedaccess, accessstatuslist, pfgenerateonclose).ok()
207}
208#[doc = "Required features: `\"Win32_Foundation\"`"]
209#[cfg(feature = "Win32_Foundation")]
210#[inline]
211pub unsafe fn AccessCheckByTypeResultListAndAuditAlarmByHandleW<P0, P1, P2, P3, P4, P5, P6>(subsystemname: P0, handleid: *const ::core::ffi::c_void, clienttoken: P1, objecttypename: P2, objectname: P3, securitydescriptor: P4, principalselfsid: P5, desiredaccess: u32, audittype: AUDIT_EVENT_TYPE, flags: u32, objecttypelist: ::core::option::Option<*mut OBJECT_TYPE_LIST>, objecttypelistlength: u32, genericmapping: *const GENERIC_MAPPING, objectcreation: P6, grantedaccesslist: *mut u32, accessstatuslist: *mut u32, pfgenerateonclose: *mut super::Foundation::BOOL) -> super::Foundation::BOOL
212where
213 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
214 P1: ::windows_core::IntoParam<super::Foundation::HANDLE>,
215 P2: ::windows_core::IntoParam<::windows_core::PCWSTR>,
216 P3: ::windows_core::IntoParam<::windows_core::PCWSTR>,
217 P4: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
218 P5: ::windows_core::IntoParam<super::Foundation::PSID>,
219 P6: ::windows_core::IntoParam<super::Foundation::BOOL>,
220{
221 ::windows_targets::link!("advapi32.dll" "system" fn AccessCheckByTypeResultListAndAuditAlarmByHandleW(subsystemname : ::windows_core::PCWSTR, handleid : *const ::core::ffi::c_void, clienttoken : super::Foundation:: HANDLE, objecttypename : ::windows_core::PCWSTR, objectname : ::windows_core::PCWSTR, securitydescriptor : PSECURITY_DESCRIPTOR, principalselfsid : super::Foundation:: PSID, desiredaccess : u32, audittype : AUDIT_EVENT_TYPE, flags : u32, objecttypelist : *mut OBJECT_TYPE_LIST, objecttypelistlength : u32, genericmapping : *const GENERIC_MAPPING, objectcreation : super::Foundation:: BOOL, grantedaccesslist : *mut u32, accessstatuslist : *mut u32, pfgenerateonclose : *mut super::Foundation:: BOOL) -> super::Foundation:: BOOL);
222 AccessCheckByTypeResultListAndAuditAlarmByHandleW(subsystemname:subsystemname.into_param().abi(), handleid, clienttoken:clienttoken.into_param().abi(), objecttypename:objecttypename.into_param().abi(), objectname:objectname.into_param().abi(), securitydescriptor:securitydescriptor.into_param().abi(), principalselfsid:principalselfsid.into_param().abi(), desiredaccess, audittype, flags, ::core::mem::transmute(objecttypelist.unwrap_or(::std::ptr::null_mut())), objecttypelistlength, genericmapping, objectcreation:objectcreation.into_param().abi(), grantedaccesslist, accessstatuslist, pfgenerateonclose)
223}
224#[doc = "Required features: `\"Win32_Foundation\"`"]
225#[cfg(feature = "Win32_Foundation")]
226#[inline]
227pub unsafe fn AccessCheckByTypeResultListAndAuditAlarmW<P0, P1, P2, P3, P4, P5>(subsystemname: P0, handleid: *const ::core::ffi::c_void, objecttypename: P1, objectname: P2, securitydescriptor: P3, principalselfsid: P4, desiredaccess: u32, audittype: AUDIT_EVENT_TYPE, flags: u32, objecttypelist: ::core::option::Option<*mut OBJECT_TYPE_LIST>, objecttypelistlength: u32, genericmapping: *const GENERIC_MAPPING, objectcreation: P5, grantedaccesslist: *mut u32, accessstatuslist: *mut u32, pfgenerateonclose: *mut super::Foundation::BOOL) -> super::Foundation::BOOL
228where
229 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
230 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
231 P2: ::windows_core::IntoParam<::windows_core::PCWSTR>,
232 P3: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
233 P4: ::windows_core::IntoParam<super::Foundation::PSID>,
234 P5: ::windows_core::IntoParam<super::Foundation::BOOL>,
235{
236 ::windows_targets::link!("advapi32.dll" "system" fn AccessCheckByTypeResultListAndAuditAlarmW(subsystemname : ::windows_core::PCWSTR, handleid : *const ::core::ffi::c_void, objecttypename : ::windows_core::PCWSTR, objectname : ::windows_core::PCWSTR, securitydescriptor : PSECURITY_DESCRIPTOR, principalselfsid : super::Foundation:: PSID, desiredaccess : u32, audittype : AUDIT_EVENT_TYPE, flags : u32, objecttypelist : *mut OBJECT_TYPE_LIST, objecttypelistlength : u32, genericmapping : *const GENERIC_MAPPING, objectcreation : super::Foundation:: BOOL, grantedaccesslist : *mut u32, accessstatuslist : *mut u32, pfgenerateonclose : *mut super::Foundation:: BOOL) -> super::Foundation:: BOOL);
237 AccessCheckByTypeResultListAndAuditAlarmW(subsystemname:subsystemname.into_param().abi(), handleid, objecttypename:objecttypename.into_param().abi(), objectname:objectname.into_param().abi(), securitydescriptor:securitydescriptor.into_param().abi(), principalselfsid:principalselfsid.into_param().abi(), desiredaccess, audittype, flags, ::core::mem::transmute(objecttypelist.unwrap_or(::std::ptr::null_mut())), objecttypelistlength, genericmapping, objectcreation:objectcreation.into_param().abi(), grantedaccesslist, accessstatuslist, pfgenerateonclose)
238}
239#[doc = "Required features: `\"Win32_Foundation\"`"]
240#[cfg(feature = "Win32_Foundation")]
241#[inline]
242pub unsafe fn AddAccessAllowedAce<P0>(pacl: *mut ACL, dwacerevision: ACE_REVISION, accessmask: u32, psid: P0) -> ::windows_core::Result<()>
243where
244 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
245{
246 ::windows_targets::link!("advapi32.dll" "system" fn AddAccessAllowedAce(pacl : *mut ACL, dwacerevision : ACE_REVISION, accessmask : u32, psid : super::Foundation:: PSID) -> super::Foundation:: BOOL);
247 AddAccessAllowedAce(pacl, dwacerevision, accessmask, psid:psid.into_param().abi()).ok()
248}
249#[doc = "Required features: `\"Win32_Foundation\"`"]
250#[cfg(feature = "Win32_Foundation")]
251#[inline]
252pub unsafe fn AddAccessAllowedAceEx<P0>(pacl: *mut ACL, dwacerevision: ACE_REVISION, aceflags: ACE_FLAGS, accessmask: u32, psid: P0) -> ::windows_core::Result<()>
253where
254 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
255{
256 ::windows_targets::link!("advapi32.dll" "system" fn AddAccessAllowedAceEx(pacl : *mut ACL, dwacerevision : ACE_REVISION, aceflags : ACE_FLAGS, accessmask : u32, psid : super::Foundation:: PSID) -> super::Foundation:: BOOL);
257 AddAccessAllowedAceEx(pacl, dwacerevision, aceflags, accessmask, psid:psid.into_param().abi()).ok()
258}
259#[doc = "Required features: `\"Win32_Foundation\"`"]
260#[cfg(feature = "Win32_Foundation")]
261#[inline]
262pub unsafe fn AddAccessAllowedObjectAce<P0>(pacl: *mut ACL, dwacerevision: ACE_REVISION, aceflags: ACE_FLAGS, accessmask: u32, objecttypeguid: ::core::option::Option<*const ::windows_core::GUID>, inheritedobjecttypeguid: ::core::option::Option<*const ::windows_core::GUID>, psid: P0) -> ::windows_core::Result<()>
263where
264 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
265{
266 ::windows_targets::link!("advapi32.dll" "system" fn AddAccessAllowedObjectAce(pacl : *mut ACL, dwacerevision : ACE_REVISION, aceflags : ACE_FLAGS, accessmask : u32, objecttypeguid : *const ::windows_core::GUID, inheritedobjecttypeguid : *const ::windows_core::GUID, psid : super::Foundation:: PSID) -> super::Foundation:: BOOL);
267 AddAccessAllowedObjectAce(pacl, dwacerevision, aceflags, accessmask, ::core::mem::transmute(objecttypeguid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(inheritedobjecttypeguid.unwrap_or(::std::ptr::null())), psid:psid.into_param().abi()).ok()
268}
269#[doc = "Required features: `\"Win32_Foundation\"`"]
270#[cfg(feature = "Win32_Foundation")]
271#[inline]
272pub unsafe fn AddAccessDeniedAce<P0>(pacl: *mut ACL, dwacerevision: ACE_REVISION, accessmask: u32, psid: P0) -> ::windows_core::Result<()>
273where
274 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
275{
276 ::windows_targets::link!("advapi32.dll" "system" fn AddAccessDeniedAce(pacl : *mut ACL, dwacerevision : ACE_REVISION, accessmask : u32, psid : super::Foundation:: PSID) -> super::Foundation:: BOOL);
277 AddAccessDeniedAce(pacl, dwacerevision, accessmask, psid:psid.into_param().abi()).ok()
278}
279#[doc = "Required features: `\"Win32_Foundation\"`"]
280#[cfg(feature = "Win32_Foundation")]
281#[inline]
282pub unsafe fn AddAccessDeniedAceEx<P0>(pacl: *mut ACL, dwacerevision: ACE_REVISION, aceflags: ACE_FLAGS, accessmask: u32, psid: P0) -> ::windows_core::Result<()>
283where
284 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
285{
286 ::windows_targets::link!("advapi32.dll" "system" fn AddAccessDeniedAceEx(pacl : *mut ACL, dwacerevision : ACE_REVISION, aceflags : ACE_FLAGS, accessmask : u32, psid : super::Foundation:: PSID) -> super::Foundation:: BOOL);
287 AddAccessDeniedAceEx(pacl, dwacerevision, aceflags, accessmask, psid:psid.into_param().abi()).ok()
288}
289#[doc = "Required features: `\"Win32_Foundation\"`"]
290#[cfg(feature = "Win32_Foundation")]
291#[inline]
292pub unsafe fn AddAccessDeniedObjectAce<P0>(pacl: *mut ACL, dwacerevision: ACE_REVISION, aceflags: ACE_FLAGS, accessmask: u32, objecttypeguid: ::core::option::Option<*const ::windows_core::GUID>, inheritedobjecttypeguid: ::core::option::Option<*const ::windows_core::GUID>, psid: P0) -> ::windows_core::Result<()>
293where
294 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
295{
296 ::windows_targets::link!("advapi32.dll" "system" fn AddAccessDeniedObjectAce(pacl : *mut ACL, dwacerevision : ACE_REVISION, aceflags : ACE_FLAGS, accessmask : u32, objecttypeguid : *const ::windows_core::GUID, inheritedobjecttypeguid : *const ::windows_core::GUID, psid : super::Foundation:: PSID) -> super::Foundation:: BOOL);
297 AddAccessDeniedObjectAce(pacl, dwacerevision, aceflags, accessmask, ::core::mem::transmute(objecttypeguid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(inheritedobjecttypeguid.unwrap_or(::std::ptr::null())), psid:psid.into_param().abi()).ok()
298}
299#[doc = "Required features: `\"Win32_Foundation\"`"]
300#[cfg(feature = "Win32_Foundation")]
301#[inline]
302pub unsafe fn AddAce(pacl: *mut ACL, dwacerevision: ACE_REVISION, dwstartingaceindex: u32, pacelist: *const ::core::ffi::c_void, nacelistlength: u32) -> ::windows_core::Result<()> {
303 ::windows_targets::link!("advapi32.dll" "system" fn AddAce(pacl : *mut ACL, dwacerevision : ACE_REVISION, dwstartingaceindex : u32, pacelist : *const ::core::ffi::c_void, nacelistlength : u32) -> super::Foundation:: BOOL);
304 AddAce(pacl, dwacerevision, dwstartingaceindex, pacelist, nacelistlength).ok()
305}
306#[doc = "Required features: `\"Win32_Foundation\"`"]
307#[cfg(feature = "Win32_Foundation")]
308#[inline]
309pub unsafe fn AddAuditAccessAce<P0, P1, P2>(pacl: *mut ACL, dwacerevision: ACE_REVISION, dwaccessmask: u32, psid: P0, bauditsuccess: P1, bauditfailure: P2) -> ::windows_core::Result<()>
310where
311 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
312 P1: ::windows_core::IntoParam<super::Foundation::BOOL>,
313 P2: ::windows_core::IntoParam<super::Foundation::BOOL>,
314{
315 ::windows_targets::link!("advapi32.dll" "system" fn AddAuditAccessAce(pacl : *mut ACL, dwacerevision : ACE_REVISION, dwaccessmask : u32, psid : super::Foundation:: PSID, bauditsuccess : super::Foundation:: BOOL, bauditfailure : super::Foundation:: BOOL) -> super::Foundation:: BOOL);
316 AddAuditAccessAce(pacl, dwacerevision, dwaccessmask, psid:psid.into_param().abi(), bauditsuccess:bauditsuccess.into_param().abi(), bauditfailure:bauditfailure.into_param().abi()).ok()
317}
318#[doc = "Required features: `\"Win32_Foundation\"`"]
319#[cfg(feature = "Win32_Foundation")]
320#[inline]
321pub unsafe fn AddAuditAccessAceEx<P0, P1, P2>(pacl: *mut ACL, dwacerevision: ACE_REVISION, aceflags: ACE_FLAGS, dwaccessmask: u32, psid: P0, bauditsuccess: P1, bauditfailure: P2) -> ::windows_core::Result<()>
322where
323 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
324 P1: ::windows_core::IntoParam<super::Foundation::BOOL>,
325 P2: ::windows_core::IntoParam<super::Foundation::BOOL>,
326{
327 ::windows_targets::link!("advapi32.dll" "system" fn AddAuditAccessAceEx(pacl : *mut ACL, dwacerevision : ACE_REVISION, aceflags : ACE_FLAGS, dwaccessmask : u32, psid : super::Foundation:: PSID, bauditsuccess : super::Foundation:: BOOL, bauditfailure : super::Foundation:: BOOL) -> super::Foundation:: BOOL);
328 AddAuditAccessAceEx(pacl, dwacerevision, aceflags, dwaccessmask, psid:psid.into_param().abi(), bauditsuccess:bauditsuccess.into_param().abi(), bauditfailure:bauditfailure.into_param().abi()).ok()
329}
330#[doc = "Required features: `\"Win32_Foundation\"`"]
331#[cfg(feature = "Win32_Foundation")]
332#[inline]
333pub unsafe fn AddAuditAccessObjectAce<P0, P1, P2>(pacl: *mut ACL, dwacerevision: ACE_REVISION, aceflags: ACE_FLAGS, accessmask: u32, objecttypeguid: ::core::option::Option<*const ::windows_core::GUID>, inheritedobjecttypeguid: ::core::option::Option<*const ::windows_core::GUID>, psid: P0, bauditsuccess: P1, bauditfailure: P2) -> ::windows_core::Result<()>
334where
335 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
336 P1: ::windows_core::IntoParam<super::Foundation::BOOL>,
337 P2: ::windows_core::IntoParam<super::Foundation::BOOL>,
338{
339 ::windows_targets::link!("advapi32.dll" "system" fn AddAuditAccessObjectAce(pacl : *mut ACL, dwacerevision : ACE_REVISION, aceflags : ACE_FLAGS, accessmask : u32, objecttypeguid : *const ::windows_core::GUID, inheritedobjecttypeguid : *const ::windows_core::GUID, psid : super::Foundation:: PSID, bauditsuccess : super::Foundation:: BOOL, bauditfailure : super::Foundation:: BOOL) -> super::Foundation:: BOOL);
340 AddAuditAccessObjectAce(pacl, dwacerevision, aceflags, accessmask, ::core::mem::transmute(objecttypeguid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(inheritedobjecttypeguid.unwrap_or(::std::ptr::null())), psid:psid.into_param().abi(), bauditsuccess:bauditsuccess.into_param().abi(), bauditfailure:bauditfailure.into_param().abi()).ok()
341}
342#[doc = "Required features: `\"Win32_Foundation\"`"]
343#[cfg(feature = "Win32_Foundation")]
344#[inline]
345pub unsafe fn AddConditionalAce<P0, P1>(pacl: *mut ACL, dwacerevision: ACE_REVISION, aceflags: ACE_FLAGS, acetype: u8, accessmask: u32, psid: P0, conditionstr: P1, returnlength: *mut u32) -> ::windows_core::Result<()>
346where
347 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
348 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
349{
350 ::windows_targets::link!("advapi32.dll" "system" fn AddConditionalAce(pacl : *mut ACL, dwacerevision : ACE_REVISION, aceflags : ACE_FLAGS, acetype : u8, accessmask : u32, psid : super::Foundation:: PSID, conditionstr : ::windows_core::PCWSTR, returnlength : *mut u32) -> super::Foundation:: BOOL);
351 AddConditionalAce(pacl, dwacerevision, aceflags, acetype, accessmask, psid:psid.into_param().abi(), conditionstr:conditionstr.into_param().abi(), returnlength).ok()
352}
353#[doc = "Required features: `\"Win32_Foundation\"`"]
354#[cfg(feature = "Win32_Foundation")]
355#[inline]
356pub unsafe fn AddMandatoryAce<P0>(pacl: *mut ACL, dwacerevision: ACE_REVISION, aceflags: ACE_FLAGS, mandatorypolicy: u32, plabelsid: P0) -> ::windows_core::Result<()>
357where
358 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
359{
360 ::windows_targets::link!("advapi32.dll" "system" fn AddMandatoryAce(pacl : *mut ACL, dwacerevision : ACE_REVISION, aceflags : ACE_FLAGS, mandatorypolicy : u32, plabelsid : super::Foundation:: PSID) -> super::Foundation:: BOOL);
361 AddMandatoryAce(pacl, dwacerevision, aceflags, mandatorypolicy, plabelsid:plabelsid.into_param().abi()).ok()
362}
363#[doc = "Required features: `\"Win32_Foundation\"`"]
364#[cfg(feature = "Win32_Foundation")]
365#[inline]
366pub unsafe fn AddResourceAttributeAce<P0>(pacl: *mut ACL, dwacerevision: ACE_REVISION, aceflags: ACE_FLAGS, accessmask: u32, psid: P0, pattributeinfo: *const CLAIM_SECURITY_ATTRIBUTES_INFORMATION, preturnlength: *mut u32) -> ::windows_core::Result<()>
367where
368 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
369{
370 ::windows_targets::link!("kernel32.dll" "system" fn AddResourceAttributeAce(pacl : *mut ACL, dwacerevision : ACE_REVISION, aceflags : ACE_FLAGS, accessmask : u32, psid : super::Foundation:: PSID, pattributeinfo : *const CLAIM_SECURITY_ATTRIBUTES_INFORMATION, preturnlength : *mut u32) -> super::Foundation:: BOOL);
371 AddResourceAttributeAce(pacl, dwacerevision, aceflags, accessmask, psid:psid.into_param().abi(), pattributeinfo, preturnlength).ok()
372}
373#[doc = "Required features: `\"Win32_Foundation\"`"]
374#[cfg(feature = "Win32_Foundation")]
375#[inline]
376pub unsafe fn AddScopedPolicyIDAce<P0>(pacl: *mut ACL, dwacerevision: ACE_REVISION, aceflags: ACE_FLAGS, accessmask: u32, psid: P0) -> ::windows_core::Result<()>
377where
378 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
379{
380 ::windows_targets::link!("kernel32.dll" "system" fn AddScopedPolicyIDAce(pacl : *mut ACL, dwacerevision : ACE_REVISION, aceflags : ACE_FLAGS, accessmask : u32, psid : super::Foundation:: PSID) -> super::Foundation:: BOOL);
381 AddScopedPolicyIDAce(pacl, dwacerevision, aceflags, accessmask, psid:psid.into_param().abi()).ok()
382}
383#[doc = "Required features: `\"Win32_Foundation\"`"]
384#[cfg(feature = "Win32_Foundation")]
385#[inline]
386pub unsafe fn AdjustTokenGroups<P0, P1>(tokenhandle: P0, resettodefault: P1, newstate: ::core::option::Option<*const TOKEN_GROUPS>, bufferlength: u32, previousstate: ::core::option::Option<*mut TOKEN_GROUPS>, returnlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()>
387where
388 P0: ::windows_core::IntoParam<super::Foundation::HANDLE>,
389 P1: ::windows_core::IntoParam<super::Foundation::BOOL>,
390{
391 ::windows_targets::link!("advapi32.dll" "system" fn AdjustTokenGroups(tokenhandle : super::Foundation:: HANDLE, resettodefault : super::Foundation:: BOOL, newstate : *const TOKEN_GROUPS, bufferlength : u32, previousstate : *mut TOKEN_GROUPS, returnlength : *mut u32) -> super::Foundation:: BOOL);
392 AdjustTokenGroups(tokenhandle:tokenhandle.into_param().abi(), resettodefault:resettodefault.into_param().abi(), ::core::mem::transmute(newstate.unwrap_or(::std::ptr::null())), bufferlength, ::core::mem::transmute(previousstate.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(src:returnlength.unwrap_or(::std::ptr::null_mut()))).ok()
393}
394#[doc = "Required features: `\"Win32_Foundation\"`"]
395#[cfg(feature = "Win32_Foundation")]
396#[inline]
397pub unsafe fn AdjustTokenPrivileges<P0, P1>(tokenhandle: P0, disableallprivileges: P1, newstate: ::core::option::Option<*const TOKEN_PRIVILEGES>, bufferlength: u32, previousstate: ::core::option::Option<*mut TOKEN_PRIVILEGES>, returnlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()>
398where
399 P0: ::windows_core::IntoParam<super::Foundation::HANDLE>,
400 P1: ::windows_core::IntoParam<super::Foundation::BOOL>,
401{
402 ::windows_targets::link!("advapi32.dll" "system" fn AdjustTokenPrivileges(tokenhandle : super::Foundation:: HANDLE, disableallprivileges : super::Foundation:: BOOL, newstate : *const TOKEN_PRIVILEGES, bufferlength : u32, previousstate : *mut TOKEN_PRIVILEGES, returnlength : *mut u32) -> super::Foundation:: BOOL);
403 AdjustTokenPrivileges(tokenhandle:tokenhandle.into_param().abi(), disableallprivileges:disableallprivileges.into_param().abi(), ::core::mem::transmute(newstate.unwrap_or(::std::ptr::null())), bufferlength, ::core::mem::transmute(previousstate.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(src:returnlength.unwrap_or(::std::ptr::null_mut()))).ok()
404}
405#[doc = "Required features: `\"Win32_Foundation\"`"]
406#[cfg(feature = "Win32_Foundation")]
407#[inline]
408pub unsafe fn AllocateAndInitializeSid(pidentifierauthority: *const SID_IDENTIFIER_AUTHORITY, nsubauthoritycount: u8, nsubauthority0: u32, nsubauthority1: u32, nsubauthority2: u32, nsubauthority3: u32, nsubauthority4: u32, nsubauthority5: u32, nsubauthority6: u32, nsubauthority7: u32, psid: *mut super::Foundation::PSID) -> ::windows_core::Result<()> {
409 ::windows_targets::link!("advapi32.dll" "system" fn AllocateAndInitializeSid(pidentifierauthority : *const SID_IDENTIFIER_AUTHORITY, nsubauthoritycount : u8, nsubauthority0 : u32, nsubauthority1 : u32, nsubauthority2 : u32, nsubauthority3 : u32, nsubauthority4 : u32, nsubauthority5 : u32, nsubauthority6 : u32, nsubauthority7 : u32, psid : *mut super::Foundation:: PSID) -> super::Foundation:: BOOL);
410 AllocateAndInitializeSid(pidentifierauthority, nsubauthoritycount, nsubauthority0, nsubauthority1, nsubauthority2, nsubauthority3, nsubauthority4, nsubauthority5, nsubauthority6, nsubauthority7, psid).ok()
411}
412#[doc = "Required features: `\"Win32_Foundation\"`"]
413#[cfg(feature = "Win32_Foundation")]
414#[inline]
415pub unsafe fn AllocateLocallyUniqueId(luid: *mut super::Foundation::LUID) -> ::windows_core::Result<()> {
416 ::windows_targets::link!("advapi32.dll" "system" fn AllocateLocallyUniqueId(luid : *mut super::Foundation:: LUID) -> super::Foundation:: BOOL);
417 AllocateLocallyUniqueId(luid).ok()
418}
419#[doc = "Required features: `\"Win32_Foundation\"`"]
420#[cfg(feature = "Win32_Foundation")]
421#[inline]
422pub unsafe fn AreAllAccessesGranted(grantedaccess: u32, desiredaccess: u32) -> super::Foundation::BOOL {
423 ::windows_targets::link!("advapi32.dll" "system" fn AreAllAccessesGranted(grantedaccess : u32, desiredaccess : u32) -> super::Foundation:: BOOL);
424 AreAllAccessesGranted(grantedaccess, desiredaccess)
425}
426#[doc = "Required features: `\"Win32_Foundation\"`"]
427#[cfg(feature = "Win32_Foundation")]
428#[inline]
429pub unsafe fn AreAnyAccessesGranted(grantedaccess: u32, desiredaccess: u32) -> super::Foundation::BOOL {
430 ::windows_targets::link!("advapi32.dll" "system" fn AreAnyAccessesGranted(grantedaccess : u32, desiredaccess : u32) -> super::Foundation:: BOOL);
431 AreAnyAccessesGranted(grantedaccess, desiredaccess)
432}
433#[doc = "Required features: `\"Win32_Foundation\"`"]
434#[cfg(feature = "Win32_Foundation")]
435#[inline]
436pub unsafe fn CheckTokenCapability<P0, P1>(tokenhandle: P0, capabilitysidtocheck: P1, hascapability: *mut super::Foundation::BOOL) -> ::windows_core::Result<()>
437where
438 P0: ::windows_core::IntoParam<super::Foundation::HANDLE>,
439 P1: ::windows_core::IntoParam<super::Foundation::PSID>,
440{
441 ::windows_targets::link!("kernel32.dll" "system" fn CheckTokenCapability(tokenhandle : super::Foundation:: HANDLE, capabilitysidtocheck : super::Foundation:: PSID, hascapability : *mut super::Foundation:: BOOL) -> super::Foundation:: BOOL);
442 CheckTokenCapability(tokenhandle:tokenhandle.into_param().abi(), capabilitysidtocheck:capabilitysidtocheck.into_param().abi(), hascapability).ok()
443}
444#[doc = "Required features: `\"Win32_Foundation\"`"]
445#[cfg(feature = "Win32_Foundation")]
446#[inline]
447pub unsafe fn CheckTokenMembership<P0, P1>(tokenhandle: P0, sidtocheck: P1, ismember: *mut super::Foundation::BOOL) -> ::windows_core::Result<()>
448where
449 P0: ::windows_core::IntoParam<super::Foundation::HANDLE>,
450 P1: ::windows_core::IntoParam<super::Foundation::PSID>,
451{
452 ::windows_targets::link!("advapi32.dll" "system" fn CheckTokenMembership(tokenhandle : super::Foundation:: HANDLE, sidtocheck : super::Foundation:: PSID, ismember : *mut super::Foundation:: BOOL) -> super::Foundation:: BOOL);
453 CheckTokenMembership(tokenhandle:tokenhandle.into_param().abi(), sidtocheck:sidtocheck.into_param().abi(), ismember).ok()
454}
455#[doc = "Required features: `\"Win32_Foundation\"`"]
456#[cfg(feature = "Win32_Foundation")]
457#[inline]
458pub unsafe fn CheckTokenMembershipEx<P0, P1>(tokenhandle: P0, sidtocheck: P1, flags: u32, ismember: *mut super::Foundation::BOOL) -> ::windows_core::Result<()>
459where
460 P0: ::windows_core::IntoParam<super::Foundation::HANDLE>,
461 P1: ::windows_core::IntoParam<super::Foundation::PSID>,
462{
463 ::windows_targets::link!("kernel32.dll" "system" fn CheckTokenMembershipEx(tokenhandle : super::Foundation:: HANDLE, sidtocheck : super::Foundation:: PSID, flags : u32, ismember : *mut super::Foundation:: BOOL) -> super::Foundation:: BOOL);
464 CheckTokenMembershipEx(tokenhandle:tokenhandle.into_param().abi(), sidtocheck:sidtocheck.into_param().abi(), flags, ismember).ok()
465}
466#[doc = "Required features: `\"Win32_Foundation\"`"]
467#[cfg(feature = "Win32_Foundation")]
468#[inline]
469pub unsafe fn ConvertToAutoInheritPrivateObjectSecurity<P0, P1, P2>(parentdescriptor: P0, currentsecuritydescriptor: P1, newsecuritydescriptor: *mut PSECURITY_DESCRIPTOR, objecttype: ::core::option::Option<*const ::windows_core::GUID>, isdirectoryobject: P2, genericmapping: *const GENERIC_MAPPING) -> ::windows_core::Result<()>
470where
471 P0: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
472 P1: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
473 P2: ::windows_core::IntoParam<super::Foundation::BOOLEAN>,
474{
475 ::windows_targets::link!("advapi32.dll" "system" fn ConvertToAutoInheritPrivateObjectSecurity(parentdescriptor : PSECURITY_DESCRIPTOR, currentsecuritydescriptor : PSECURITY_DESCRIPTOR, newsecuritydescriptor : *mut PSECURITY_DESCRIPTOR, objecttype : *const ::windows_core::GUID, isdirectoryobject : super::Foundation:: BOOLEAN, genericmapping : *const GENERIC_MAPPING) -> super::Foundation:: BOOL);
476 ConvertToAutoInheritPrivateObjectSecurity(parentdescriptor:parentdescriptor.into_param().abi(), currentsecuritydescriptor:currentsecuritydescriptor.into_param().abi(), newsecuritydescriptor, ::core::mem::transmute(objecttype.unwrap_or(::std::ptr::null())), isdirectoryobject:isdirectoryobject.into_param().abi(), genericmapping).ok()
477}
478#[doc = "Required features: `\"Win32_Foundation\"`"]
479#[cfg(feature = "Win32_Foundation")]
480#[inline]
481pub unsafe fn CopySid<P0>(ndestinationsidlength: u32, pdestinationsid: super::Foundation::PSID, psourcesid: P0) -> ::windows_core::Result<()>
482where
483 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
484{
485 ::windows_targets::link!("advapi32.dll" "system" fn CopySid(ndestinationsidlength : u32, pdestinationsid : super::Foundation:: PSID, psourcesid : super::Foundation:: PSID) -> super::Foundation:: BOOL);
486 CopySid(ndestinationsidlength, pdestinationsid, psourcesid:psourcesid.into_param().abi()).ok()
487}
488#[doc = "Required features: `\"Win32_Foundation\"`"]
489#[cfg(feature = "Win32_Foundation")]
490#[inline]
491pub unsafe fn CreatePrivateObjectSecurity<P0, P1, P2, P3>(parentdescriptor: P0, creatordescriptor: P1, newdescriptor: *mut PSECURITY_DESCRIPTOR, isdirectoryobject: P2, token: P3, genericmapping: *const GENERIC_MAPPING) -> ::windows_core::Result<()>
492where
493 P0: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
494 P1: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
495 P2: ::windows_core::IntoParam<super::Foundation::BOOL>,
496 P3: ::windows_core::IntoParam<super::Foundation::HANDLE>,
497{
498 ::windows_targets::link!("advapi32.dll" "system" fn CreatePrivateObjectSecurity(parentdescriptor : PSECURITY_DESCRIPTOR, creatordescriptor : PSECURITY_DESCRIPTOR, newdescriptor : *mut PSECURITY_DESCRIPTOR, isdirectoryobject : super::Foundation:: BOOL, token : super::Foundation:: HANDLE, genericmapping : *const GENERIC_MAPPING) -> super::Foundation:: BOOL);
499 CreatePrivateObjectSecurity(parentdescriptor:parentdescriptor.into_param().abi(), creatordescriptor:creatordescriptor.into_param().abi(), newdescriptor, isdirectoryobject:isdirectoryobject.into_param().abi(), token:token.into_param().abi(), genericmapping).ok()
500}
501#[doc = "Required features: `\"Win32_Foundation\"`"]
502#[cfg(feature = "Win32_Foundation")]
503#[inline]
504pub unsafe fn CreatePrivateObjectSecurityEx<P0, P1, P2, P3>(parentdescriptor: P0, creatordescriptor: P1, newdescriptor: *mut PSECURITY_DESCRIPTOR, objecttype: ::core::option::Option<*const ::windows_core::GUID>, iscontainerobject: P2, autoinheritflags: SECURITY_AUTO_INHERIT_FLAGS, token: P3, genericmapping: *const GENERIC_MAPPING) -> ::windows_core::Result<()>
505where
506 P0: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
507 P1: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
508 P2: ::windows_core::IntoParam<super::Foundation::BOOL>,
509 P3: ::windows_core::IntoParam<super::Foundation::HANDLE>,
510{
511 ::windows_targets::link!("advapi32.dll" "system" fn CreatePrivateObjectSecurityEx(parentdescriptor : PSECURITY_DESCRIPTOR, creatordescriptor : PSECURITY_DESCRIPTOR, newdescriptor : *mut PSECURITY_DESCRIPTOR, objecttype : *const ::windows_core::GUID, iscontainerobject : super::Foundation:: BOOL, autoinheritflags : SECURITY_AUTO_INHERIT_FLAGS, token : super::Foundation:: HANDLE, genericmapping : *const GENERIC_MAPPING) -> super::Foundation:: BOOL);
512 CreatePrivateObjectSecurityEx(parentdescriptor:parentdescriptor.into_param().abi(), creatordescriptor:creatordescriptor.into_param().abi(), newdescriptor, ::core::mem::transmute(objecttype.unwrap_or(::std::ptr::null())), iscontainerobject:iscontainerobject.into_param().abi(), autoinheritflags, token:token.into_param().abi(), genericmapping).ok()
513}
514#[doc = "Required features: `\"Win32_Foundation\"`"]
515#[cfg(feature = "Win32_Foundation")]
516#[inline]
517pub unsafe fn CreatePrivateObjectSecurityWithMultipleInheritance<P0, P1, P2, P3>(parentdescriptor: P0, creatordescriptor: P1, newdescriptor: *mut PSECURITY_DESCRIPTOR, objecttypes: ::core::option::Option<&[*const ::windows_core::GUID]>, iscontainerobject: P2, autoinheritflags: SECURITY_AUTO_INHERIT_FLAGS, token: P3, genericmapping: *const GENERIC_MAPPING) -> ::windows_core::Result<()>
518where
519 P0: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
520 P1: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
521 P2: ::windows_core::IntoParam<super::Foundation::BOOL>,
522 P3: ::windows_core::IntoParam<super::Foundation::HANDLE>,
523{
524 ::windows_targets::link!("advapi32.dll" "system" fn CreatePrivateObjectSecurityWithMultipleInheritance(parentdescriptor : PSECURITY_DESCRIPTOR, creatordescriptor : PSECURITY_DESCRIPTOR, newdescriptor : *mut PSECURITY_DESCRIPTOR, objecttypes : *const *const ::windows_core::GUID, guidcount : u32, iscontainerobject : super::Foundation:: BOOL, autoinheritflags : SECURITY_AUTO_INHERIT_FLAGS, token : super::Foundation:: HANDLE, genericmapping : *const GENERIC_MAPPING) -> super::Foundation:: BOOL);
525 CreatePrivateObjectSecurityWithMultipleInheritance(parentdescriptor:parentdescriptor.into_param().abi(), creatordescriptor:creatordescriptor.into_param().abi(), newdescriptor, ::core::mem::transmute(objecttypes.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), guidcount:objecttypes.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), iscontainerobject:iscontainerobject.into_param().abi(), autoinheritflags, token:token.into_param().abi(), genericmapping).ok()
526}
527#[doc = "Required features: `\"Win32_Foundation\"`"]
528#[cfg(feature = "Win32_Foundation")]
529#[inline]
530pub unsafe fn CreateRestrictedToken<P0>(existingtokenhandle: P0, flags: CREATE_RESTRICTED_TOKEN_FLAGS, sidstodisable: ::core::option::Option<&[SID_AND_ATTRIBUTES]>, privilegestodelete: ::core::option::Option<&[LUID_AND_ATTRIBUTES]>, sidstorestrict: ::core::option::Option<&[SID_AND_ATTRIBUTES]>, newtokenhandle: *mut super::Foundation::HANDLE) -> ::windows_core::Result<()>
531where
532 P0: ::windows_core::IntoParam<super::Foundation::HANDLE>,
533{
534 ::windows_targets::link!("advapi32.dll" "system" fn CreateRestrictedToken(existingtokenhandle : super::Foundation:: HANDLE, flags : CREATE_RESTRICTED_TOKEN_FLAGS, disablesidcount : u32, sidstodisable : *const SID_AND_ATTRIBUTES, deleteprivilegecount : u32, privilegestodelete : *const LUID_AND_ATTRIBUTES, restrictedsidcount : u32, sidstorestrict : *const SID_AND_ATTRIBUTES, newtokenhandle : *mut super::Foundation:: HANDLE) -> super::Foundation:: BOOL);
535 CreateRestrictedTokenBOOL(
536 existingtokenhandle:existingtokenhandle.into_param().abi(),
537 flags,
538 disablesidcount:sidstodisable.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()),
539 ::core::mem::transmute(sidstodisable.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())),
540 deleteprivilegecount:privilegestodelete.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()),
541 ::core::mem::transmute(privilegestodelete.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())),
542 restrictedsidcount:sidstorestrict.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()),
543 ::core::mem::transmute(src:sidstorestrict.as_deref().map_or(::core::ptr::null(), |slice: &[SID_AND_ATTRIBUTES]| slice.as_ptr())),
544 newtokenhandle,
545 )
546 .ok()
547}
548#[doc = "Required features: `\"Win32_Foundation\"`"]
549#[cfg(feature = "Win32_Foundation")]
550#[inline]
551pub unsafe fn CreateWellKnownSid<P0>(wellknownsidtype: WELL_KNOWN_SID_TYPE, domainsid: P0, psid: super::Foundation::PSID, cbsid: *mut u32) -> ::windows_core::Result<()>
552where
553 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
554{
555 ::windows_targets::link!("advapi32.dll" "system" fn CreateWellKnownSid(wellknownsidtype : WELL_KNOWN_SID_TYPE, domainsid : super::Foundation:: PSID, psid : super::Foundation:: PSID, cbsid : *mut u32) -> super::Foundation:: BOOL);
556 CreateWellKnownSid(wellknownsidtype, domainsid:domainsid.into_param().abi(), psid, cbsid).ok()
557}
558#[doc = "Required features: `\"Win32_Foundation\"`"]
559#[cfg(feature = "Win32_Foundation")]
560#[inline]
561pub unsafe fn DeleteAce(pacl: *mut ACL, dwaceindex: u32) -> ::windows_core::Result<()> {
562 ::windows_targets::link!("advapi32.dll" "system" fn DeleteAce(pacl : *mut ACL, dwaceindex : u32) -> super::Foundation:: BOOL);
563 DeleteAce(pacl, dwaceindex).ok()
564}
565#[doc = "Required features: `\"Win32_Foundation\"`"]
566#[cfg(feature = "Win32_Foundation")]
567#[inline]
568pub unsafe fn DeriveCapabilitySidsFromName<P0>(capname: P0, capabilitygroupsids: *mut *mut super::Foundation::PSID, capabilitygroupsidcount: *mut u32, capabilitysids: *mut *mut super::Foundation::PSID, capabilitysidcount: *mut u32) -> ::windows_core::Result<()>
569where
570 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
571{
572 ::windows_targets::link!("api-ms-win-security-base-l1-2-2.dll" "system" fn DeriveCapabilitySidsFromName(capname : ::windows_core::PCWSTR, capabilitygroupsids : *mut *mut super::Foundation:: PSID, capabilitygroupsidcount : *mut u32, capabilitysids : *mut *mut super::Foundation:: PSID, capabilitysidcount : *mut u32) -> super::Foundation:: BOOL);
573 DeriveCapabilitySidsFromName(capname:capname.into_param().abi(), capabilitygroupsids, capabilitygroupsidcount, capabilitysids, capabilitysidcount).ok()
574}
575#[doc = "Required features: `\"Win32_Foundation\"`"]
576#[cfg(feature = "Win32_Foundation")]
577#[inline]
578pub unsafe fn DestroyPrivateObjectSecurity(objectdescriptor: *const PSECURITY_DESCRIPTOR) -> ::windows_core::Result<()> {
579 ::windows_targets::link!("advapi32.dll" "system" fn DestroyPrivateObjectSecurity(objectdescriptor : *const PSECURITY_DESCRIPTOR) -> super::Foundation:: BOOL);
580 DestroyPrivateObjectSecurity(objectdescriptor).ok()
581}
582#[doc = "Required features: `\"Win32_Foundation\"`"]
583#[cfg(feature = "Win32_Foundation")]
584#[inline]
585pub unsafe fn DuplicateToken<P0>(existingtokenhandle: P0, impersonationlevel: SECURITY_IMPERSONATION_LEVEL, duplicatetokenhandle: *mut super::Foundation::HANDLE) -> ::windows_core::Result<()>
586where
587 P0: ::windows_core::IntoParam<super::Foundation::HANDLE>,
588{
589 ::windows_targets::link!("advapi32.dll" "system" fn DuplicateToken(existingtokenhandle : super::Foundation:: HANDLE, impersonationlevel : SECURITY_IMPERSONATION_LEVEL, duplicatetokenhandle : *mut super::Foundation:: HANDLE) -> super::Foundation:: BOOL);
590 DuplicateToken(existingtokenhandle:existingtokenhandle.into_param().abi(), impersonationlevel, duplicatetokenhandle).ok()
591}
592#[doc = "Required features: `\"Win32_Foundation\"`"]
593#[cfg(feature = "Win32_Foundation")]
594#[inline]
595pub unsafe fn DuplicateTokenEx<P0>(hexistingtoken: P0, dwdesiredaccess: TOKEN_ACCESS_MASK, lptokenattributes: ::core::option::Option<*const SECURITY_ATTRIBUTES>, impersonationlevel: SECURITY_IMPERSONATION_LEVEL, tokentype: TOKEN_TYPE, phnewtoken: *mut super::Foundation::HANDLE) -> ::windows_core::Result<()>
596where
597 P0: ::windows_core::IntoParam<super::Foundation::HANDLE>,
598{
599 ::windows_targets::link!("advapi32.dll" "system" fn DuplicateTokenEx(hexistingtoken : super::Foundation:: HANDLE, dwdesiredaccess : TOKEN_ACCESS_MASK, lptokenattributes : *const SECURITY_ATTRIBUTES, impersonationlevel : SECURITY_IMPERSONATION_LEVEL, tokentype : TOKEN_TYPE, phnewtoken : *mut super::Foundation:: HANDLE) -> super::Foundation:: BOOL);
600 DuplicateTokenEx(hexistingtoken:hexistingtoken.into_param().abi(), dwdesiredaccess, ::core::mem::transmute(src:lptokenattributes.unwrap_or(::std::ptr::null())), impersonationlevel, tokentype, phnewtoken).ok()
601}
602#[doc = "Required features: `\"Win32_Foundation\"`"]
603#[cfg(feature = "Win32_Foundation")]
604#[inline]
605pub unsafe fn EqualDomainSid<P0, P1>(psid1: P0, psid2: P1, pfequal: *mut super::Foundation::BOOL) -> ::windows_core::Result<()>
606where
607 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
608 P1: ::windows_core::IntoParam<super::Foundation::PSID>,
609{
610 ::windows_targets::link!("advapi32.dll" "system" fn EqualDomainSid(psid1 : super::Foundation:: PSID, psid2 : super::Foundation:: PSID, pfequal : *mut super::Foundation:: BOOL) -> super::Foundation:: BOOL);
611 EqualDomainSid(psid1:psid1.into_param().abi(), psid2:psid2.into_param().abi(), pfequal).ok()
612}
613#[doc = "Required features: `\"Win32_Foundation\"`"]
614#[cfg(feature = "Win32_Foundation")]
615#[inline]
616pub unsafe fn EqualPrefixSid<P0, P1>(psid1: P0, psid2: P1) -> ::windows_core::Result<()>
617where
618 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
619 P1: ::windows_core::IntoParam<super::Foundation::PSID>,
620{
621 ::windows_targets::link!("advapi32.dll" "system" fn EqualPrefixSid(psid1 : super::Foundation:: PSID, psid2 : super::Foundation:: PSID) -> super::Foundation:: BOOL);
622 EqualPrefixSid(psid1:psid1.into_param().abi(), psid2:psid2.into_param().abi()).ok()
623}
624#[doc = "Required features: `\"Win32_Foundation\"`"]
625#[cfg(feature = "Win32_Foundation")]
626#[inline]
627pub unsafe fn EqualSid<P0, P1>(psid1: P0, psid2: P1) -> ::windows_core::Result<()>
628where
629 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
630 P1: ::windows_core::IntoParam<super::Foundation::PSID>,
631{
632 ::windows_targets::link!("advapi32.dll" "system" fn EqualSid(psid1 : super::Foundation:: PSID, psid2 : super::Foundation:: PSID) -> super::Foundation:: BOOL);
633 EqualSid(psid1:psid1.into_param().abi(), psid2:psid2.into_param().abi()).ok()
634}
635#[doc = "Required features: `\"Win32_Foundation\"`"]
636#[cfg(feature = "Win32_Foundation")]
637#[inline]
638pub unsafe fn FindFirstFreeAce(pacl: *const ACL, pace: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> {
639 ::windows_targets::link!("advapi32.dll" "system" fn FindFirstFreeAce(pacl : *const ACL, pace : *mut *mut ::core::ffi::c_void) -> super::Foundation:: BOOL);
640 FindFirstFreeAce(pacl, pace).ok()
641}
642#[doc = "Required features: `\"Win32_Foundation\"`"]
643#[cfg(feature = "Win32_Foundation")]
644#[inline]
645pub unsafe fn FreeSid<P0>(psid: P0) -> *mut ::core::ffi::c_void
646where
647 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
648{
649 ::windows_targets::link!("advapi32.dll" "system" fn FreeSid(psid : super::Foundation:: PSID) -> *mut ::core::ffi::c_void);
650 FreeSid(psid:psid.into_param().abi())
651}
652#[doc = "Required features: `\"Win32_Foundation\"`"]
653#[cfg(feature = "Win32_Foundation")]
654#[inline]
655pub unsafe fn GetAce(pacl: *const ACL, dwaceindex: u32, pace: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> {
656 ::windows_targets::link!("advapi32.dll" "system" fn GetAce(pacl : *const ACL, dwaceindex : u32, pace : *mut *mut ::core::ffi::c_void) -> super::Foundation:: BOOL);
657 GetAce(pacl, dwaceindex, pace).ok()
658}
659#[doc = "Required features: `\"Win32_Foundation\"`"]
660#[cfg(feature = "Win32_Foundation")]
661#[inline]
662pub unsafe fn GetAclInformation(pacl: *const ACL, paclinformation: *mut ::core::ffi::c_void, naclinformationlength: u32, dwaclinformationclass: ACL_INFORMATION_CLASS) -> ::windows_core::Result<()> {
663 ::windows_targets::link!("advapi32.dll" "system" fn GetAclInformation(pacl : *const ACL, paclinformation : *mut ::core::ffi::c_void, naclinformationlength : u32, dwaclinformationclass : ACL_INFORMATION_CLASS) -> super::Foundation:: BOOL);
664 GetAclInformation(pacl, paclinformation, naclinformationlength, dwaclinformationclass).ok()
665}
666#[doc = "Required features: `\"Win32_Foundation\"`"]
667#[cfg(feature = "Win32_Foundation")]
668#[inline]
669pub unsafe fn GetAppContainerAce(acl: *const ACL, startingaceindex: u32, appcontainerace: *mut *mut ::core::ffi::c_void, appcontaineraceindex: ::core::option::Option<*mut u32>) -> super::Foundation::BOOL {
670 ::windows_targets::link!("kernel32.dll" "system" fn GetAppContainerAce(acl : *const ACL, startingaceindex : u32, appcontainerace : *mut *mut ::core::ffi::c_void, appcontaineraceindex : *mut u32) -> super::Foundation:: BOOL);
671 GetAppContainerAce(acl, startingaceindex, appcontainerace, ::core::mem::transmute(src:appcontaineraceindex.unwrap_or(::std::ptr::null_mut())))
672}
673#[doc = "Required features: `\"Win32_Foundation\"`"]
674#[cfg(feature = "Win32_Foundation")]
675#[inline]
676pub unsafe fn GetCachedSigningLevel<P0>(file: P0, flags: *mut u32, signinglevel: *mut u32, thumbprint: ::core::option::Option<*mut u8>, thumbprintsize: ::core::option::Option<*mut u32>, thumbprintalgorithm: ::core::option::Option<*mut u32>) -> super::Foundation::BOOL
677where
678 P0: ::windows_core::IntoParam<super::Foundation::HANDLE>,
679{
680 ::windows_targets::link!("kernel32.dll" "system" fn GetCachedSigningLevel(file : super::Foundation:: HANDLE, flags : *mut u32, signinglevel : *mut u32, thumbprint : *mut u8, thumbprintsize : *mut u32, thumbprintalgorithm : *mut u32) -> super::Foundation:: BOOL);
681 GetCachedSigningLevel(file:file.into_param().abi(), flags, signinglevel, ::core::mem::transmute(thumbprint.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(thumbprintsize.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(src:thumbprintalgorithm.unwrap_or(::std::ptr::null_mut())))
682}
683#[doc = "Required features: `\"Win32_Foundation\"`"]
684#[cfg(feature = "Win32_Foundation")]
685#[inline]
686pub unsafe fn GetFileSecurityA<P0>(lpfilename: P0, requestedinformation: u32, psecuritydescriptor: PSECURITY_DESCRIPTOR, nlength: u32, lpnlengthneeded: *mut u32) -> ::windows_core::Result<()>
687where
688 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
689{
690 ::windows_targets::link!("advapi32.dll" "system" fn GetFileSecurityA(lpfilename : ::windows_core::PCSTR, requestedinformation : u32, psecuritydescriptor : PSECURITY_DESCRIPTOR, nlength : u32, lpnlengthneeded : *mut u32) -> super::Foundation:: BOOL);
691 GetFileSecurityA(lpfilename:lpfilename.into_param().abi(), requestedinformation, psecuritydescriptor, nlength, lpnlengthneeded).ok()
692}
693#[doc = "Required features: `\"Win32_Foundation\"`"]
694#[cfg(feature = "Win32_Foundation")]
695#[inline]
696pub unsafe fn GetFileSecurityW<P0>(lpfilename: P0, requestedinformation: u32, psecuritydescriptor: PSECURITY_DESCRIPTOR, nlength: u32, lpnlengthneeded: *mut u32) -> super::Foundation::BOOL
697where
698 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
699{
700 ::windows_targets::link!("advapi32.dll" "system" fn GetFileSecurityW(lpfilename : ::windows_core::PCWSTR, requestedinformation : u32, psecuritydescriptor : PSECURITY_DESCRIPTOR, nlength : u32, lpnlengthneeded : *mut u32) -> super::Foundation:: BOOL);
701 GetFileSecurityW(lpfilename:lpfilename.into_param().abi(), requestedinformation, psecuritydescriptor, nlength, lpnlengthneeded)
702}
703#[doc = "Required features: `\"Win32_Foundation\"`"]
704#[cfg(feature = "Win32_Foundation")]
705#[inline]
706pub unsafe fn GetKernelObjectSecurity<P0>(handle: P0, requestedinformation: u32, psecuritydescriptor: PSECURITY_DESCRIPTOR, nlength: u32, lpnlengthneeded: *mut u32) -> ::windows_core::Result<()>
707where
708 P0: ::windows_core::IntoParam<super::Foundation::HANDLE>,
709{
710 ::windows_targets::link!("advapi32.dll" "system" fn GetKernelObjectSecurity(handle : super::Foundation:: HANDLE, requestedinformation : u32, psecuritydescriptor : PSECURITY_DESCRIPTOR, nlength : u32, lpnlengthneeded : *mut u32) -> super::Foundation:: BOOL);
711 GetKernelObjectSecurity(handle:handle.into_param().abi(), requestedinformation, psecuritydescriptor, nlength, lpnlengthneeded).ok()
712}
713#[doc = "Required features: `\"Win32_Foundation\"`"]
714#[cfg(feature = "Win32_Foundation")]
715#[inline]
716pub unsafe fn GetLengthSid(psid: super::Foundation::PSID) -> u32 {
717 ::windows_targets::link!("advapi32.dll" "system" fn GetLengthSid(psid : super::Foundation:: PSID) -> u32);
718 GetLengthSid(psid)
719}
720#[doc = "Required features: `\"Win32_Foundation\"`"]
721#[cfg(feature = "Win32_Foundation")]
722#[inline]
723pub unsafe fn GetPrivateObjectSecurity<P0>(objectdescriptor: P0, securityinformation: OBJECT_SECURITY_INFORMATION, resultantdescriptor: PSECURITY_DESCRIPTOR, descriptorlength: u32, returnlength: *mut u32) -> ::windows_core::Result<()>
724where
725 P0: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
726{
727 ::windows_targets::link!("advapi32.dll" "system" fn GetPrivateObjectSecurity(objectdescriptor : PSECURITY_DESCRIPTOR, securityinformation : OBJECT_SECURITY_INFORMATION, resultantdescriptor : PSECURITY_DESCRIPTOR, descriptorlength : u32, returnlength : *mut u32) -> super::Foundation:: BOOL);
728 GetPrivateObjectSecurity(objectdescriptor:objectdescriptor.into_param().abi(), securityinformation, resultantdescriptor, descriptorlength, returnlength).ok()
729}
730#[doc = "Required features: `\"Win32_Foundation\"`"]
731#[cfg(feature = "Win32_Foundation")]
732#[inline]
733pub unsafe fn GetSecurityDescriptorControl<P0>(psecuritydescriptor: P0, pcontrol: *mut u16, lpdwrevision: *mut u32) -> ::windows_core::Result<()>
734where
735 P0: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
736{
737 ::windows_targets::link!("advapi32.dll" "system" fn GetSecurityDescriptorControl(psecuritydescriptor : PSECURITY_DESCRIPTOR, pcontrol : *mut u16, lpdwrevision : *mut u32) -> super::Foundation:: BOOL);
738 GetSecurityDescriptorControl(psecuritydescriptor:psecuritydescriptor.into_param().abi(), pcontrol, lpdwrevision).ok()
739}
740#[doc = "Required features: `\"Win32_Foundation\"`"]
741#[cfg(feature = "Win32_Foundation")]
742#[inline]
743pub unsafe fn GetSecurityDescriptorDacl<P0>(psecuritydescriptor: P0, lpbdaclpresent: *mut super::Foundation::BOOL, pdacl: *mut *mut ACL, lpbdacldefaulted: *mut super::Foundation::BOOL) -> ::windows_core::Result<()>
744where
745 P0: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
746{
747 ::windows_targets::link!("advapi32.dll" "system" fn GetSecurityDescriptorDacl(psecuritydescriptor : PSECURITY_DESCRIPTOR, lpbdaclpresent : *mut super::Foundation:: BOOL, pdacl : *mut *mut ACL, lpbdacldefaulted : *mut super::Foundation:: BOOL) -> super::Foundation:: BOOL);
748 GetSecurityDescriptorDacl(psecuritydescriptor:psecuritydescriptor.into_param().abi(), lpbdaclpresent, pdacl, lpbdacldefaulted).ok()
749}
750#[doc = "Required features: `\"Win32_Foundation\"`"]
751#[cfg(feature = "Win32_Foundation")]
752#[inline]
753pub unsafe fn GetSecurityDescriptorGroup<P0>(psecuritydescriptor: P0, pgroup: *mut super::Foundation::PSID, lpbgroupdefaulted: *mut super::Foundation::BOOL) -> ::windows_core::Result<()>
754where
755 P0: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
756{
757 ::windows_targets::link!("advapi32.dll" "system" fn GetSecurityDescriptorGroup(psecuritydescriptor : PSECURITY_DESCRIPTOR, pgroup : *mut super::Foundation:: PSID, lpbgroupdefaulted : *mut super::Foundation:: BOOL) -> super::Foundation:: BOOL);
758 GetSecurityDescriptorGroup(psecuritydescriptor:psecuritydescriptor.into_param().abi(), pgroup, lpbgroupdefaulted).ok()
759}
760#[inline]
761pub unsafe fn GetSecurityDescriptorLength<P0>(psecuritydescriptor: P0) -> u32
762where
763 P0: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
764{
765 ::windows_targets::link!("advapi32.dll" "system" fn GetSecurityDescriptorLength(psecuritydescriptor : PSECURITY_DESCRIPTOR) -> u32);
766 GetSecurityDescriptorLength(psecuritydescriptor:psecuritydescriptor.into_param().abi())
767}
768#[doc = "Required features: `\"Win32_Foundation\"`"]
769#[cfg(feature = "Win32_Foundation")]
770#[inline]
771pub unsafe fn GetSecurityDescriptorOwner<P0>(psecuritydescriptor: P0, powner: *mut super::Foundation::PSID, lpbownerdefaulted: *mut super::Foundation::BOOL) -> ::windows_core::Result<()>
772where
773 P0: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
774{
775 ::windows_targets::link!("advapi32.dll" "system" fn GetSecurityDescriptorOwner(psecuritydescriptor : PSECURITY_DESCRIPTOR, powner : *mut super::Foundation:: PSID, lpbownerdefaulted : *mut super::Foundation:: BOOL) -> super::Foundation:: BOOL);
776 GetSecurityDescriptorOwner(psecuritydescriptor:psecuritydescriptor.into_param().abi(), powner, lpbownerdefaulted).ok()
777}
778#[inline]
779pub unsafe fn GetSecurityDescriptorRMControl<P0>(securitydescriptor: P0, rmcontrol: *mut u8) -> u32
780where
781 P0: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
782{
783 ::windows_targets::link!("advapi32.dll" "system" fn GetSecurityDescriptorRMControl(securitydescriptor : PSECURITY_DESCRIPTOR, rmcontrol : *mut u8) -> u32);
784 GetSecurityDescriptorRMControl(securitydescriptor:securitydescriptor.into_param().abi(), rmcontrol)
785}
786#[doc = "Required features: `\"Win32_Foundation\"`"]
787#[cfg(feature = "Win32_Foundation")]
788#[inline]
789pub unsafe fn GetSecurityDescriptorSacl<P0>(psecuritydescriptor: P0, lpbsaclpresent: *mut super::Foundation::BOOL, psacl: *mut *mut ACL, lpbsacldefaulted: *mut super::Foundation::BOOL) -> ::windows_core::Result<()>
790where
791 P0: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
792{
793 ::windows_targets::link!("advapi32.dll" "system" fn GetSecurityDescriptorSacl(psecuritydescriptor : PSECURITY_DESCRIPTOR, lpbsaclpresent : *mut super::Foundation:: BOOL, psacl : *mut *mut ACL, lpbsacldefaulted : *mut super::Foundation:: BOOL) -> super::Foundation:: BOOL);
794 GetSecurityDescriptorSacl(psecuritydescriptor:psecuritydescriptor.into_param().abi(), lpbsaclpresent, psacl, lpbsacldefaulted).ok()
795}
796#[doc = "Required features: `\"Win32_Foundation\"`"]
797#[cfg(feature = "Win32_Foundation")]
798#[inline]
799pub unsafe fn GetSidIdentifierAuthority<P0>(psid: P0) -> *mut SID_IDENTIFIER_AUTHORITY
800where
801 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
802{
803 ::windows_targets::link!("advapi32.dll" "system" fn GetSidIdentifierAuthority(psid : super::Foundation:: PSID) -> *mut SID_IDENTIFIER_AUTHORITY);
804 GetSidIdentifierAuthority(psid:psid.into_param().abi())
805}
806#[inline]
807pub unsafe fn GetSidLengthRequired(nsubauthoritycount: u8) -> u32 {
808 ::windows_targets::link!("advapi32.dll" "system" fn GetSidLengthRequired(nsubauthoritycount : u8) -> u32);
809 GetSidLengthRequired(nsubauthoritycount)
810}
811#[doc = "Required features: `\"Win32_Foundation\"`"]
812#[cfg(feature = "Win32_Foundation")]
813#[inline]
814pub unsafe fn GetSidSubAuthority<P0>(psid: P0, nsubauthority: u32) -> *mut u32
815where
816 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
817{
818 ::windows_targets::link!("advapi32.dll" "system" fn GetSidSubAuthority(psid : super::Foundation:: PSID, nsubauthority : u32) -> *mut u32);
819 GetSidSubAuthority(psid:psid.into_param().abi(), nsubauthority)
820}
821#[doc = "Required features: `\"Win32_Foundation\"`"]
822#[cfg(feature = "Win32_Foundation")]
823#[inline]
824pub unsafe fn GetSidSubAuthorityCount<P0>(psid: P0) -> *mut u8
825where
826 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
827{
828 ::windows_targets::link!("advapi32.dll" "system" fn GetSidSubAuthorityCount(psid : super::Foundation:: PSID) -> *mut u8);
829 GetSidSubAuthorityCount(psid:psid.into_param().abi())
830}
831#[doc = "Required features: `\"Win32_Foundation\"`"]
832#[cfg(feature = "Win32_Foundation")]
833#[inline]
834pub unsafe fn GetTokenInformation<P0>(tokenhandle: P0, tokeninformationclass: TOKEN_INFORMATION_CLASS, tokeninformation: ::core::option::Option<*mut ::core::ffi::c_void>, tokeninformationlength: u32, returnlength: *mut u32) -> ::windows_core::Result<()>
835where
836 P0: ::windows_core::IntoParam<super::Foundation::HANDLE>,
837{
838 ::windows_targets::link!("advapi32.dll" "system" fn GetTokenInformation(tokenhandle : super::Foundation:: HANDLE, tokeninformationclass : TOKEN_INFORMATION_CLASS, tokeninformation : *mut ::core::ffi::c_void, tokeninformationlength : u32, returnlength : *mut u32) -> super::Foundation:: BOOL);
839 GetTokenInformation(tokenhandle:tokenhandle.into_param().abi(), tokeninformationclass, ::core::mem::transmute(src:tokeninformation.unwrap_or(::std::ptr::null_mut())), tokeninformationlength, returnlength).ok()
840}
841#[doc = "Required features: `\"Win32_Foundation\"`"]
842#[cfg(feature = "Win32_Foundation")]
843#[inline]
844pub unsafe fn GetUserObjectSecurity<P0>(hobj: P0, psirequested: *const u32, psid: PSECURITY_DESCRIPTOR, nlength: u32, lpnlengthneeded: *mut u32) -> ::windows_core::Result<()>
845where
846 P0: ::windows_core::IntoParam<super::Foundation::HANDLE>,
847{
848 ::windows_targets::link!("user32.dll" "system" fn GetUserObjectSecurity(hobj : super::Foundation:: HANDLE, psirequested : *const u32, psid : PSECURITY_DESCRIPTOR, nlength : u32, lpnlengthneeded : *mut u32) -> super::Foundation:: BOOL);
849 GetUserObjectSecurity(hobj:hobj.into_param().abi(), psirequested, psid, nlength, lpnlengthneeded).ok()
850}
851#[doc = "Required features: `\"Win32_Foundation\"`"]
852#[cfg(feature = "Win32_Foundation")]
853#[inline]
854pub unsafe fn GetWindowsAccountDomainSid<P0>(psid: P0, pdomainsid: super::Foundation::PSID, cbdomainsid: *mut u32) -> ::windows_core::Result<()>
855where
856 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
857{
858 ::windows_targets::link!("advapi32.dll" "system" fn GetWindowsAccountDomainSid(psid : super::Foundation:: PSID, pdomainsid : super::Foundation:: PSID, cbdomainsid : *mut u32) -> super::Foundation:: BOOL);
859 GetWindowsAccountDomainSid(psid:psid.into_param().abi(), pdomainsid, cbdomainsid).ok()
860}
861#[doc = "Required features: `\"Win32_Foundation\"`"]
862#[cfg(feature = "Win32_Foundation")]
863#[inline]
864pub unsafe fn ImpersonateAnonymousToken<P0>(threadhandle: P0) -> ::windows_core::Result<()>
865where
866 P0: ::windows_core::IntoParam<super::Foundation::HANDLE>,
867{
868 ::windows_targets::link!("advapi32.dll" "system" fn ImpersonateAnonymousToken(threadhandle : super::Foundation:: HANDLE) -> super::Foundation:: BOOL);
869 ImpersonateAnonymousToken(threadhandle:threadhandle.into_param().abi()).ok()
870}
871#[doc = "Required features: `\"Win32_Foundation\"`"]
872#[cfg(feature = "Win32_Foundation")]
873#[inline]
874pub unsafe fn ImpersonateLoggedOnUser<P0>(htoken: P0) -> ::windows_core::Result<()>
875where
876 P0: ::windows_core::IntoParam<super::Foundation::HANDLE>,
877{
878 ::windows_targets::link!("advapi32.dll" "system" fn ImpersonateLoggedOnUser(htoken : super::Foundation:: HANDLE) -> super::Foundation:: BOOL);
879 ImpersonateLoggedOnUser(htoken:htoken.into_param().abi()).ok()
880}
881#[doc = "Required features: `\"Win32_Foundation\"`"]
882#[cfg(feature = "Win32_Foundation")]
883#[inline]
884pub unsafe fn ImpersonateSelf(impersonationlevel: SECURITY_IMPERSONATION_LEVEL) -> ::windows_core::Result<()> {
885 ::windows_targets::link!("advapi32.dll" "system" fn ImpersonateSelf(impersonationlevel : SECURITY_IMPERSONATION_LEVEL) -> super::Foundation:: BOOL);
886 ImpersonateSelf(impersonationlevel).ok()
887}
888#[doc = "Required features: `\"Win32_Foundation\"`"]
889#[cfg(feature = "Win32_Foundation")]
890#[inline]
891pub unsafe fn InitializeAcl(pacl: *mut ACL, nacllength: u32, dwaclrevision: ACE_REVISION) -> ::windows_core::Result<()> {
892 ::windows_targets::link!("advapi32.dll" "system" fn InitializeAcl(pacl : *mut ACL, nacllength : u32, dwaclrevision : ACE_REVISION) -> super::Foundation:: BOOL);
893 InitializeAcl(pacl, nacllength, dwaclrevision).ok()
894}
895#[doc = "Required features: `\"Win32_Foundation\"`"]
896#[cfg(feature = "Win32_Foundation")]
897#[inline]
898pub unsafe fn InitializeSecurityDescriptor(psecuritydescriptor: PSECURITY_DESCRIPTOR, dwrevision: u32) -> ::windows_core::Result<()> {
899 ::windows_targets::link!("advapi32.dll" "system" fn InitializeSecurityDescriptor(psecuritydescriptor : PSECURITY_DESCRIPTOR, dwrevision : u32) -> super::Foundation:: BOOL);
900 InitializeSecurityDescriptor(psecuritydescriptor, dwrevision).ok()
901}
902#[doc = "Required features: `\"Win32_Foundation\"`"]
903#[cfg(feature = "Win32_Foundation")]
904#[inline]
905pub unsafe fn InitializeSid(sid: super::Foundation::PSID, pidentifierauthority: *const SID_IDENTIFIER_AUTHORITY, nsubauthoritycount: u8) -> ::windows_core::Result<()> {
906 ::windows_targets::link!("advapi32.dll" "system" fn InitializeSid(sid : super::Foundation:: PSID, pidentifierauthority : *const SID_IDENTIFIER_AUTHORITY, nsubauthoritycount : u8) -> super::Foundation:: BOOL);
907 InitializeSid(sid, pidentifierauthority, nsubauthoritycount).ok()
908}
909#[doc = "Required features: `\"Win32_Foundation\"`"]
910#[cfg(feature = "Win32_Foundation")]
911#[inline]
912pub unsafe fn IsTokenRestricted<P0>(tokenhandle: P0) -> ::windows_core::Result<()>
913where
914 P0: ::windows_core::IntoParam<super::Foundation::HANDLE>,
915{
916 ::windows_targets::link!("advapi32.dll" "system" fn IsTokenRestricted(tokenhandle : super::Foundation:: HANDLE) -> super::Foundation:: BOOL);
917 IsTokenRestricted(tokenhandle:tokenhandle.into_param().abi()).ok()
918}
919#[doc = "Required features: `\"Win32_Foundation\"`"]
920#[cfg(feature = "Win32_Foundation")]
921#[inline]
922pub unsafe fn IsValidAcl(pacl: *const ACL) -> super::Foundation::BOOL {
923 ::windows_targets::link!("advapi32.dll" "system" fn IsValidAcl(pacl : *const ACL) -> super::Foundation:: BOOL);
924 IsValidAcl(pacl)
925}
926#[doc = "Required features: `\"Win32_Foundation\"`"]
927#[cfg(feature = "Win32_Foundation")]
928#[inline]
929pub unsafe fn IsValidSecurityDescriptor<P0>(psecuritydescriptor: P0) -> super::Foundation::BOOL
930where
931 P0: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
932{
933 ::windows_targets::link!("advapi32.dll" "system" fn IsValidSecurityDescriptor(psecuritydescriptor : PSECURITY_DESCRIPTOR) -> super::Foundation:: BOOL);
934 IsValidSecurityDescriptor(psecuritydescriptor:psecuritydescriptor.into_param().abi())
935}
936#[doc = "Required features: `\"Win32_Foundation\"`"]
937#[cfg(feature = "Win32_Foundation")]
938#[inline]
939pub unsafe fn IsValidSid<P0>(psid: P0) -> super::Foundation::BOOL
940where
941 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
942{
943 ::windows_targets::link!("advapi32.dll" "system" fn IsValidSid(psid : super::Foundation:: PSID) -> super::Foundation:: BOOL);
944 IsValidSid(psid:psid.into_param().abi())
945}
946#[doc = "Required features: `\"Win32_Foundation\"`"]
947#[cfg(feature = "Win32_Foundation")]
948#[inline]
949pub unsafe fn IsWellKnownSid<P0>(psid: P0, wellknownsidtype: WELL_KNOWN_SID_TYPE) -> super::Foundation::BOOL
950where
951 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
952{
953 ::windows_targets::link!("advapi32.dll" "system" fn IsWellKnownSid(psid : super::Foundation:: PSID, wellknownsidtype : WELL_KNOWN_SID_TYPE) -> super::Foundation:: BOOL);
954 IsWellKnownSid(psid:psid.into_param().abi(), wellknownsidtype)
955}
956#[doc = "Required features: `\"Win32_Foundation\"`"]
957#[cfg(feature = "Win32_Foundation")]
958#[inline]
959pub unsafe fn LogonUserA<P0, P1, P2>(lpszusername: P0, lpszdomain: P1, lpszpassword: P2, dwlogontype: LOGON32_LOGON, dwlogonprovider: LOGON32_PROVIDER, phtoken: *mut super::Foundation::HANDLE) -> ::windows_core::Result<()>
960where
961 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
962 P1: ::windows_core::IntoParam<::windows_core::PCSTR>,
963 P2: ::windows_core::IntoParam<::windows_core::PCSTR>,
964{
965 ::windows_targets::link!("advapi32.dll" "system" fn LogonUserA(lpszusername : ::windows_core::PCSTR, lpszdomain : ::windows_core::PCSTR, lpszpassword : ::windows_core::PCSTR, dwlogontype : LOGON32_LOGON, dwlogonprovider : LOGON32_PROVIDER, phtoken : *mut super::Foundation:: HANDLE) -> super::Foundation:: BOOL);
966 LogonUserA(lpszusername:lpszusername.into_param().abi(), lpszdomain:lpszdomain.into_param().abi(), lpszpassword:lpszpassword.into_param().abi(), dwlogontype, dwlogonprovider, phtoken).ok()
967}
968#[doc = "Required features: `\"Win32_Foundation\"`"]
969#[cfg(feature = "Win32_Foundation")]
970#[inline]
971pub unsafe fn LogonUserExA<P0, P1, P2>(lpszusername: P0, lpszdomain: P1, lpszpassword: P2, dwlogontype: LOGON32_LOGON, dwlogonprovider: LOGON32_PROVIDER, phtoken: ::core::option::Option<*mut super::Foundation::HANDLE>, pplogonsid: ::core::option::Option<*mut super::Foundation::PSID>, ppprofilebuffer: ::core::option::Option<*mut *mut ::core::ffi::c_void>, pdwprofilelength: ::core::option::Option<*mut u32>, pquotalimits: ::core::option::Option<*mut QUOTA_LIMITS>) -> ::windows_core::Result<()>
972where
973 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
974 P1: ::windows_core::IntoParam<::windows_core::PCSTR>,
975 P2: ::windows_core::IntoParam<::windows_core::PCSTR>,
976{
977 ::windows_targets::link!("advapi32.dll" "system" fn LogonUserExA(lpszusername : ::windows_core::PCSTR, lpszdomain : ::windows_core::PCSTR, lpszpassword : ::windows_core::PCSTR, dwlogontype : LOGON32_LOGON, dwlogonprovider : LOGON32_PROVIDER, phtoken : *mut super::Foundation:: HANDLE, pplogonsid : *mut super::Foundation:: PSID, ppprofilebuffer : *mut *mut ::core::ffi::c_void, pdwprofilelength : *mut u32, pquotalimits : *mut QUOTA_LIMITS) -> super::Foundation:: BOOL);
978 LogonUserExABOOL(
979 lpszusername:lpszusername.into_param().abi(),
980 lpszdomain:lpszdomain.into_param().abi(),
981 lpszpassword:lpszpassword.into_param().abi(),
982 dwlogontype,
983 dwlogonprovider,
984 ::core::mem::transmute(phtoken.unwrap_or(::std::ptr::null_mut())),
985 ::core::mem::transmute(pplogonsid.unwrap_or(::std::ptr::null_mut())),
986 ::core::mem::transmute(ppprofilebuffer.unwrap_or(::std::ptr::null_mut())),
987 ::core::mem::transmute(pdwprofilelength.unwrap_or(::std::ptr::null_mut())),
988 ::core::mem::transmute(src:pquotalimits.unwrap_or(::std::ptr::null_mut())),
989 )
990 .ok()
991}
992#[doc = "Required features: `\"Win32_Foundation\"`"]
993#[cfg(feature = "Win32_Foundation")]
994#[inline]
995pub unsafe fn LogonUserExW<P0, P1, P2>(lpszusername: P0, lpszdomain: P1, lpszpassword: P2, dwlogontype: LOGON32_LOGON, dwlogonprovider: LOGON32_PROVIDER, phtoken: ::core::option::Option<*mut super::Foundation::HANDLE>, pplogonsid: ::core::option::Option<*mut super::Foundation::PSID>, ppprofilebuffer: ::core::option::Option<*mut *mut ::core::ffi::c_void>, pdwprofilelength: ::core::option::Option<*mut u32>, pquotalimits: ::core::option::Option<*mut QUOTA_LIMITS>) -> ::windows_core::Result<()>
996where
997 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
998 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
999 P2: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1000{
1001 ::windows_targets::link!("advapi32.dll" "system" fn LogonUserExW(lpszusername : ::windows_core::PCWSTR, lpszdomain : ::windows_core::PCWSTR, lpszpassword : ::windows_core::PCWSTR, dwlogontype : LOGON32_LOGON, dwlogonprovider : LOGON32_PROVIDER, phtoken : *mut super::Foundation:: HANDLE, pplogonsid : *mut super::Foundation:: PSID, ppprofilebuffer : *mut *mut ::core::ffi::c_void, pdwprofilelength : *mut u32, pquotalimits : *mut QUOTA_LIMITS) -> super::Foundation:: BOOL);
1002 LogonUserExWBOOL(
1003 lpszusername:lpszusername.into_param().abi(),
1004 lpszdomain:lpszdomain.into_param().abi(),
1005 lpszpassword:lpszpassword.into_param().abi(),
1006 dwlogontype,
1007 dwlogonprovider,
1008 ::core::mem::transmute(phtoken.unwrap_or(::std::ptr::null_mut())),
1009 ::core::mem::transmute(pplogonsid.unwrap_or(::std::ptr::null_mut())),
1010 ::core::mem::transmute(ppprofilebuffer.unwrap_or(::std::ptr::null_mut())),
1011 ::core::mem::transmute(pdwprofilelength.unwrap_or(::std::ptr::null_mut())),
1012 ::core::mem::transmute(src:pquotalimits.unwrap_or(::std::ptr::null_mut())),
1013 )
1014 .ok()
1015}
1016#[doc = "Required features: `\"Win32_Foundation\"`"]
1017#[cfg(feature = "Win32_Foundation")]
1018#[inline]
1019pub unsafe fn LogonUserW<P0, P1, P2>(lpszusername: P0, lpszdomain: P1, lpszpassword: P2, dwlogontype: LOGON32_LOGON, dwlogonprovider: LOGON32_PROVIDER, phtoken: *mut super::Foundation::HANDLE) -> ::windows_core::Result<()>
1020where
1021 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1022 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1023 P2: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1024{
1025 ::windows_targets::link!("advapi32.dll" "system" fn LogonUserW(lpszusername : ::windows_core::PCWSTR, lpszdomain : ::windows_core::PCWSTR, lpszpassword : ::windows_core::PCWSTR, dwlogontype : LOGON32_LOGON, dwlogonprovider : LOGON32_PROVIDER, phtoken : *mut super::Foundation:: HANDLE) -> super::Foundation:: BOOL);
1026 LogonUserW(lpszusername:lpszusername.into_param().abi(), lpszdomain:lpszdomain.into_param().abi(), lpszpassword:lpszpassword.into_param().abi(), dwlogontype, dwlogonprovider, phtoken).ok()
1027}
1028#[doc = "Required features: `\"Win32_Foundation\"`"]
1029#[cfg(feature = "Win32_Foundation")]
1030#[inline]
1031pub unsafe fn LookupAccountNameA<P0, P1>(lpsystemname: P0, lpaccountname: P1, sid: super::Foundation::PSID, cbsid: *mut u32, referenceddomainname: ::windows_core::PSTR, cchreferenceddomainname: *mut u32, peuse: *mut SID_NAME_USE) -> ::windows_core::Result<()>
1032where
1033 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
1034 P1: ::windows_core::IntoParam<::windows_core::PCSTR>,
1035{
1036 ::windows_targets::link!("advapi32.dll" "system" fn LookupAccountNameA(lpsystemname : ::windows_core::PCSTR, lpaccountname : ::windows_core::PCSTR, sid : super::Foundation:: PSID, cbsid : *mut u32, referenceddomainname : ::windows_core::PSTR, cchreferenceddomainname : *mut u32, peuse : *mut SID_NAME_USE) -> super::Foundation:: BOOL);
1037 LookupAccountNameA(lpsystemname:lpsystemname.into_param().abi(), lpaccountname:lpaccountname.into_param().abi(), sid, cbsid, ::core::mem::transmute(src:referenceddomainname), cchreferenceddomainname, peuse).ok()
1038}
1039#[doc = "Required features: `\"Win32_Foundation\"`"]
1040#[cfg(feature = "Win32_Foundation")]
1041#[inline]
1042pub unsafe fn LookupAccountNameW<P0, P1>(lpsystemname: P0, lpaccountname: P1, sid: super::Foundation::PSID, cbsid: *mut u32, referenceddomainname: ::windows_core::PWSTR, cchreferenceddomainname: *mut u32, peuse: *mut SID_NAME_USE) -> ::windows_core::Result<()>
1043where
1044 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1045 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1046{
1047 ::windows_targets::link!("advapi32.dll" "system" fn LookupAccountNameW(lpsystemname : ::windows_core::PCWSTR, lpaccountname : ::windows_core::PCWSTR, sid : super::Foundation:: PSID, cbsid : *mut u32, referenceddomainname : ::windows_core::PWSTR, cchreferenceddomainname : *mut u32, peuse : *mut SID_NAME_USE) -> super::Foundation:: BOOL);
1048 LookupAccountNameW(lpsystemname:lpsystemname.into_param().abi(), lpaccountname:lpaccountname.into_param().abi(), sid, cbsid, ::core::mem::transmute(src:referenceddomainname), cchreferenceddomainname, peuse).ok()
1049}
1050#[doc = "Required features: `\"Win32_Foundation\"`"]
1051#[cfg(feature = "Win32_Foundation")]
1052#[inline]
1053pub unsafe fn LookupAccountSidA<P0, P1>(lpsystemname: P0, sid: P1, name: ::windows_core::PSTR, cchname: *mut u32, referenceddomainname: ::windows_core::PSTR, cchreferenceddomainname: *mut u32, peuse: *mut SID_NAME_USE) -> ::windows_core::Result<()>
1054where
1055 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
1056 P1: ::windows_core::IntoParam<super::Foundation::PSID>,
1057{
1058 ::windows_targets::link!("advapi32.dll" "system" fn LookupAccountSidA(lpsystemname : ::windows_core::PCSTR, sid : super::Foundation:: PSID, name : ::windows_core::PSTR, cchname : *mut u32, referenceddomainname : ::windows_core::PSTR, cchreferenceddomainname : *mut u32, peuse : *mut SID_NAME_USE) -> super::Foundation:: BOOL);
1059 LookupAccountSidA(lpsystemname:lpsystemname.into_param().abi(), sid:sid.into_param().abi(), ::core::mem::transmute(name), cchname, ::core::mem::transmute(src:referenceddomainname), cchreferenceddomainname, peuse).ok()
1060}
1061#[doc = "Required features: `\"Win32_Foundation\"`"]
1062#[cfg(feature = "Win32_Foundation")]
1063#[inline]
1064pub unsafe fn LookupAccountSidW<P0, P1>(lpsystemname: P0, sid: P1, name: ::windows_core::PWSTR, cchname: *mut u32, referenceddomainname: ::windows_core::PWSTR, cchreferenceddomainname: *mut u32, peuse: *mut SID_NAME_USE) -> ::windows_core::Result<()>
1065where
1066 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1067 P1: ::windows_core::IntoParam<super::Foundation::PSID>,
1068{
1069 ::windows_targets::link!("advapi32.dll" "system" fn LookupAccountSidW(lpsystemname : ::windows_core::PCWSTR, sid : super::Foundation:: PSID, name : ::windows_core::PWSTR, cchname : *mut u32, referenceddomainname : ::windows_core::PWSTR, cchreferenceddomainname : *mut u32, peuse : *mut SID_NAME_USE) -> super::Foundation:: BOOL);
1070 LookupAccountSidW(lpsystemname:lpsystemname.into_param().abi(), sid:sid.into_param().abi(), ::core::mem::transmute(name), cchname, ::core::mem::transmute(src:referenceddomainname), cchreferenceddomainname, peuse).ok()
1071}
1072#[doc = "Required features: `\"Win32_Foundation\"`"]
1073#[cfg(feature = "Win32_Foundation")]
1074#[inline]
1075pub unsafe fn LookupPrivilegeDisplayNameA<P0, P1>(lpsystemname: P0, lpname: P1, lpdisplayname: ::windows_core::PSTR, cchdisplayname: *mut u32, lplanguageid: *mut u32) -> ::windows_core::Result<()>
1076where
1077 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
1078 P1: ::windows_core::IntoParam<::windows_core::PCSTR>,
1079{
1080 ::windows_targets::link!("advapi32.dll" "system" fn LookupPrivilegeDisplayNameA(lpsystemname : ::windows_core::PCSTR, lpname : ::windows_core::PCSTR, lpdisplayname : ::windows_core::PSTR, cchdisplayname : *mut u32, lplanguageid : *mut u32) -> super::Foundation:: BOOL);
1081 LookupPrivilegeDisplayNameA(lpsystemname:lpsystemname.into_param().abi(), lpname:lpname.into_param().abi(), ::core::mem::transmute(src:lpdisplayname), cchdisplayname, lplanguageid).ok()
1082}
1083#[doc = "Required features: `\"Win32_Foundation\"`"]
1084#[cfg(feature = "Win32_Foundation")]
1085#[inline]
1086pub unsafe fn LookupPrivilegeDisplayNameW<P0, P1>(lpsystemname: P0, lpname: P1, lpdisplayname: ::windows_core::PWSTR, cchdisplayname: *mut u32, lplanguageid: *mut u32) -> ::windows_core::Result<()>
1087where
1088 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1089 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1090{
1091 ::windows_targets::link!("advapi32.dll" "system" fn LookupPrivilegeDisplayNameW(lpsystemname : ::windows_core::PCWSTR, lpname : ::windows_core::PCWSTR, lpdisplayname : ::windows_core::PWSTR, cchdisplayname : *mut u32, lplanguageid : *mut u32) -> super::Foundation:: BOOL);
1092 LookupPrivilegeDisplayNameW(lpsystemname:lpsystemname.into_param().abi(), lpname:lpname.into_param().abi(), ::core::mem::transmute(src:lpdisplayname), cchdisplayname, lplanguageid).ok()
1093}
1094#[doc = "Required features: `\"Win32_Foundation\"`"]
1095#[cfg(feature = "Win32_Foundation")]
1096#[inline]
1097pub unsafe fn LookupPrivilegeNameA<P0>(lpsystemname: P0, lpluid: *const super::Foundation::LUID, lpname: ::windows_core::PSTR, cchname: *mut u32) -> ::windows_core::Result<()>
1098where
1099 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
1100{
1101 ::windows_targets::link!("advapi32.dll" "system" fn LookupPrivilegeNameA(lpsystemname : ::windows_core::PCSTR, lpluid : *const super::Foundation:: LUID, lpname : ::windows_core::PSTR, cchname : *mut u32) -> super::Foundation:: BOOL);
1102 LookupPrivilegeNameA(lpsystemname:lpsystemname.into_param().abi(), lpluid, ::core::mem::transmute(src:lpname), cchname).ok()
1103}
1104#[doc = "Required features: `\"Win32_Foundation\"`"]
1105#[cfg(feature = "Win32_Foundation")]
1106#[inline]
1107pub unsafe fn LookupPrivilegeNameW<P0>(lpsystemname: P0, lpluid: *const super::Foundation::LUID, lpname: ::windows_core::PWSTR, cchname: *mut u32) -> ::windows_core::Result<()>
1108where
1109 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1110{
1111 ::windows_targets::link!("advapi32.dll" "system" fn LookupPrivilegeNameW(lpsystemname : ::windows_core::PCWSTR, lpluid : *const super::Foundation:: LUID, lpname : ::windows_core::PWSTR, cchname : *mut u32) -> super::Foundation:: BOOL);
1112 LookupPrivilegeNameW(lpsystemname:lpsystemname.into_param().abi(), lpluid, ::core::mem::transmute(src:lpname), cchname).ok()
1113}
1114#[doc = "Required features: `\"Win32_Foundation\"`"]
1115#[cfg(feature = "Win32_Foundation")]
1116#[inline]
1117pub unsafe fn LookupPrivilegeValueA<P0, P1>(lpsystemname: P0, lpname: P1, lpluid: *mut super::Foundation::LUID) -> ::windows_core::Result<()>
1118where
1119 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
1120 P1: ::windows_core::IntoParam<::windows_core::PCSTR>,
1121{
1122 ::windows_targets::link!("advapi32.dll" "system" fn LookupPrivilegeValueA(lpsystemname : ::windows_core::PCSTR, lpname : ::windows_core::PCSTR, lpluid : *mut super::Foundation:: LUID) -> super::Foundation:: BOOL);
1123 LookupPrivilegeValueA(lpsystemname:lpsystemname.into_param().abi(), lpname:lpname.into_param().abi(), lpluid).ok()
1124}
1125#[doc = "Required features: `\"Win32_Foundation\"`"]
1126#[cfg(feature = "Win32_Foundation")]
1127#[inline]
1128pub unsafe fn LookupPrivilegeValueW<P0, P1>(lpsystemname: P0, lpname: P1, lpluid: *mut super::Foundation::LUID) -> ::windows_core::Result<()>
1129where
1130 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1131 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1132{
1133 ::windows_targets::link!("advapi32.dll" "system" fn LookupPrivilegeValueW(lpsystemname : ::windows_core::PCWSTR, lpname : ::windows_core::PCWSTR, lpluid : *mut super::Foundation:: LUID) -> super::Foundation:: BOOL);
1134 LookupPrivilegeValueW(lpsystemname:lpsystemname.into_param().abi(), lpname:lpname.into_param().abi(), lpluid).ok()
1135}
1136#[doc = "Required features: `\"Win32_Foundation\"`"]
1137#[cfg(feature = "Win32_Foundation")]
1138#[inline]
1139pub unsafe fn MakeAbsoluteSD<P0>(pselfrelativesecuritydescriptor: P0, pabsolutesecuritydescriptor: PSECURITY_DESCRIPTOR, lpdwabsolutesecuritydescriptorsize: *mut u32, pdacl: ::core::option::Option<*mut ACL>, lpdwdaclsize: *mut u32, psacl: ::core::option::Option<*mut ACL>, lpdwsaclsize: *mut u32, powner: super::Foundation::PSID, lpdwownersize: *mut u32, pprimarygroup: super::Foundation::PSID, lpdwprimarygroupsize: *mut u32) -> ::windows_core::Result<()>
1140where
1141 P0: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
1142{
1143 ::windows_targets::link!("advapi32.dll" "system" fn MakeAbsoluteSD(pselfrelativesecuritydescriptor : PSECURITY_DESCRIPTOR, pabsolutesecuritydescriptor : PSECURITY_DESCRIPTOR, lpdwabsolutesecuritydescriptorsize : *mut u32, pdacl : *mut ACL, lpdwdaclsize : *mut u32, psacl : *mut ACL, lpdwsaclsize : *mut u32, powner : super::Foundation:: PSID, lpdwownersize : *mut u32, pprimarygroup : super::Foundation:: PSID, lpdwprimarygroupsize : *mut u32) -> super::Foundation:: BOOL);
1144 MakeAbsoluteSD(pselfrelativesecuritydescriptor:pselfrelativesecuritydescriptor.into_param().abi(), pabsolutesecuritydescriptor, lpdwabsolutesecuritydescriptorsize, ::core::mem::transmute(pdacl.unwrap_or(::std::ptr::null_mut())), lpdwdaclsize, ::core::mem::transmute(src:psacl.unwrap_or(::std::ptr::null_mut())), lpdwsaclsize, powner, lpdwownersize, pprimarygroup, lpdwprimarygroupsize).ok()
1145}
1146#[doc = "Required features: `\"Win32_Foundation\"`"]
1147#[cfg(feature = "Win32_Foundation")]
1148#[inline]
1149pub unsafe fn MakeSelfRelativeSD<P0>(pabsolutesecuritydescriptor: P0, pselfrelativesecuritydescriptor: PSECURITY_DESCRIPTOR, lpdwbufferlength: *mut u32) -> ::windows_core::Result<()>
1150where
1151 P0: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
1152{
1153 ::windows_targets::link!("advapi32.dll" "system" fn MakeSelfRelativeSD(pabsolutesecuritydescriptor : PSECURITY_DESCRIPTOR, pselfrelativesecuritydescriptor : PSECURITY_DESCRIPTOR, lpdwbufferlength : *mut u32) -> super::Foundation:: BOOL);
1154 MakeSelfRelativeSD(pabsolutesecuritydescriptor:pabsolutesecuritydescriptor.into_param().abi(), pselfrelativesecuritydescriptor, lpdwbufferlength).ok()
1155}
1156#[inline]
1157pub unsafe fn MapGenericMask(accessmask: *mut u32, genericmapping: *const GENERIC_MAPPING) {
1158 ::windows_targets::link!("advapi32.dll" "system" fn MapGenericMask(accessmask : *mut u32, genericmapping : *const GENERIC_MAPPING) -> ());
1159 MapGenericMask(accessmask, genericmapping)
1160}
1161#[doc = "Required features: `\"Win32_Foundation\"`"]
1162#[cfg(feature = "Win32_Foundation")]
1163#[inline]
1164pub unsafe fn ObjectCloseAuditAlarmA<P0, P1>(subsystemname: P0, handleid: *const ::core::ffi::c_void, generateonclose: P1) -> ::windows_core::Result<()>
1165where
1166 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
1167 P1: ::windows_core::IntoParam<super::Foundation::BOOL>,
1168{
1169 ::windows_targets::link!("advapi32.dll" "system" fn ObjectCloseAuditAlarmA(subsystemname : ::windows_core::PCSTR, handleid : *const ::core::ffi::c_void, generateonclose : super::Foundation:: BOOL) -> super::Foundation:: BOOL);
1170 ObjectCloseAuditAlarmA(subsystemname:subsystemname.into_param().abi(), handleid, generateonclose:generateonclose.into_param().abi()).ok()
1171}
1172#[doc = "Required features: `\"Win32_Foundation\"`"]
1173#[cfg(feature = "Win32_Foundation")]
1174#[inline]
1175pub unsafe fn ObjectCloseAuditAlarmW<P0, P1>(subsystemname: P0, handleid: *const ::core::ffi::c_void, generateonclose: P1) -> super::Foundation::BOOL
1176where
1177 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1178 P1: ::windows_core::IntoParam<super::Foundation::BOOL>,
1179{
1180 ::windows_targets::link!("advapi32.dll" "system" fn ObjectCloseAuditAlarmW(subsystemname : ::windows_core::PCWSTR, handleid : *const ::core::ffi::c_void, generateonclose : super::Foundation:: BOOL) -> super::Foundation:: BOOL);
1181 ObjectCloseAuditAlarmW(subsystemname:subsystemname.into_param().abi(), handleid, generateonclose:generateonclose.into_param().abi())
1182}
1183#[doc = "Required features: `\"Win32_Foundation\"`"]
1184#[cfg(feature = "Win32_Foundation")]
1185#[inline]
1186pub unsafe fn ObjectDeleteAuditAlarmA<P0, P1>(subsystemname: P0, handleid: *const ::core::ffi::c_void, generateonclose: P1) -> ::windows_core::Result<()>
1187where
1188 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
1189 P1: ::windows_core::IntoParam<super::Foundation::BOOL>,
1190{
1191 ::windows_targets::link!("advapi32.dll" "system" fn ObjectDeleteAuditAlarmA(subsystemname : ::windows_core::PCSTR, handleid : *const ::core::ffi::c_void, generateonclose : super::Foundation:: BOOL) -> super::Foundation:: BOOL);
1192 ObjectDeleteAuditAlarmA(subsystemname:subsystemname.into_param().abi(), handleid, generateonclose:generateonclose.into_param().abi()).ok()
1193}
1194#[doc = "Required features: `\"Win32_Foundation\"`"]
1195#[cfg(feature = "Win32_Foundation")]
1196#[inline]
1197pub unsafe fn ObjectDeleteAuditAlarmW<P0, P1>(subsystemname: P0, handleid: *const ::core::ffi::c_void, generateonclose: P1) -> super::Foundation::BOOL
1198where
1199 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1200 P1: ::windows_core::IntoParam<super::Foundation::BOOL>,
1201{
1202 ::windows_targets::link!("advapi32.dll" "system" fn ObjectDeleteAuditAlarmW(subsystemname : ::windows_core::PCWSTR, handleid : *const ::core::ffi::c_void, generateonclose : super::Foundation:: BOOL) -> super::Foundation:: BOOL);
1203 ObjectDeleteAuditAlarmW(subsystemname:subsystemname.into_param().abi(), handleid, generateonclose:generateonclose.into_param().abi())
1204}
1205#[doc = "Required features: `\"Win32_Foundation\"`"]
1206#[cfg(feature = "Win32_Foundation")]
1207#[inline]
1208pub unsafe fn ObjectOpenAuditAlarmA<P0, P1, P2, P3, P4, P5, P6>(subsystemname: P0, handleid: *const ::core::ffi::c_void, objecttypename: P1, objectname: P2, psecuritydescriptor: P3, clienttoken: P4, desiredaccess: u32, grantedaccess: u32, privileges: ::core::option::Option<*const PRIVILEGE_SET>, objectcreation: P5, accessgranted: P6, generateonclose: *mut super::Foundation::BOOL) -> ::windows_core::Result<()>
1209where
1210 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
1211 P1: ::windows_core::IntoParam<::windows_core::PCSTR>,
1212 P2: ::windows_core::IntoParam<::windows_core::PCSTR>,
1213 P3: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
1214 P4: ::windows_core::IntoParam<super::Foundation::HANDLE>,
1215 P5: ::windows_core::IntoParam<super::Foundation::BOOL>,
1216 P6: ::windows_core::IntoParam<super::Foundation::BOOL>,
1217{
1218 ::windows_targets::link!("advapi32.dll" "system" fn ObjectOpenAuditAlarmA(subsystemname : ::windows_core::PCSTR, handleid : *const ::core::ffi::c_void, objecttypename : ::windows_core::PCSTR, objectname : ::windows_core::PCSTR, psecuritydescriptor : PSECURITY_DESCRIPTOR, clienttoken : super::Foundation:: HANDLE, desiredaccess : u32, grantedaccess : u32, privileges : *const PRIVILEGE_SET, objectcreation : super::Foundation:: BOOL, accessgranted : super::Foundation:: BOOL, generateonclose : *mut super::Foundation:: BOOL) -> super::Foundation:: BOOL);
1219 ObjectOpenAuditAlarmA(subsystemname:subsystemname.into_param().abi(), handleid, objecttypename:objecttypename.into_param().abi(), objectname:objectname.into_param().abi(), psecuritydescriptor:psecuritydescriptor.into_param().abi(), clienttoken:clienttoken.into_param().abi(), desiredaccess, grantedaccess, ::core::mem::transmute(privileges.unwrap_or(::std::ptr::null())), objectcreation:objectcreation.into_param().abi(), accessgranted:accessgranted.into_param().abi(), generateonclose).ok()
1220}
1221#[doc = "Required features: `\"Win32_Foundation\"`"]
1222#[cfg(feature = "Win32_Foundation")]
1223#[inline]
1224pub unsafe fn ObjectOpenAuditAlarmW<P0, P1, P2, P3, P4, P5, P6>(subsystemname: P0, handleid: *const ::core::ffi::c_void, objecttypename: P1, objectname: P2, psecuritydescriptor: P3, clienttoken: P4, desiredaccess: u32, grantedaccess: u32, privileges: ::core::option::Option<*const PRIVILEGE_SET>, objectcreation: P5, accessgranted: P6, generateonclose: *mut super::Foundation::BOOL) -> super::Foundation::BOOL
1225where
1226 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1227 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1228 P2: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1229 P3: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
1230 P4: ::windows_core::IntoParam<super::Foundation::HANDLE>,
1231 P5: ::windows_core::IntoParam<super::Foundation::BOOL>,
1232 P6: ::windows_core::IntoParam<super::Foundation::BOOL>,
1233{
1234 ::windows_targets::link!("advapi32.dll" "system" fn ObjectOpenAuditAlarmW(subsystemname : ::windows_core::PCWSTR, handleid : *const ::core::ffi::c_void, objecttypename : ::windows_core::PCWSTR, objectname : ::windows_core::PCWSTR, psecuritydescriptor : PSECURITY_DESCRIPTOR, clienttoken : super::Foundation:: HANDLE, desiredaccess : u32, grantedaccess : u32, privileges : *const PRIVILEGE_SET, objectcreation : super::Foundation:: BOOL, accessgranted : super::Foundation:: BOOL, generateonclose : *mut super::Foundation:: BOOL) -> super::Foundation:: BOOL);
1235 ObjectOpenAuditAlarmW(subsystemname:subsystemname.into_param().abi(), handleid, objecttypename:objecttypename.into_param().abi(), objectname:objectname.into_param().abi(), psecuritydescriptor:psecuritydescriptor.into_param().abi(), clienttoken:clienttoken.into_param().abi(), desiredaccess, grantedaccess, ::core::mem::transmute(privileges.unwrap_or(::std::ptr::null())), objectcreation:objectcreation.into_param().abi(), accessgranted:accessgranted.into_param().abi(), generateonclose)
1236}
1237#[doc = "Required features: `\"Win32_Foundation\"`"]
1238#[cfg(feature = "Win32_Foundation")]
1239#[inline]
1240pub unsafe fn ObjectPrivilegeAuditAlarmA<P0, P1, P2>(subsystemname: P0, handleid: *const ::core::ffi::c_void, clienttoken: P1, desiredaccess: u32, privileges: *const PRIVILEGE_SET, accessgranted: P2) -> ::windows_core::Result<()>
1241where
1242 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
1243 P1: ::windows_core::IntoParam<super::Foundation::HANDLE>,
1244 P2: ::windows_core::IntoParam<super::Foundation::BOOL>,
1245{
1246 ::windows_targets::link!("advapi32.dll" "system" fn ObjectPrivilegeAuditAlarmA(subsystemname : ::windows_core::PCSTR, handleid : *const ::core::ffi::c_void, clienttoken : super::Foundation:: HANDLE, desiredaccess : u32, privileges : *const PRIVILEGE_SET, accessgranted : super::Foundation:: BOOL) -> super::Foundation:: BOOL);
1247 ObjectPrivilegeAuditAlarmA(subsystemname:subsystemname.into_param().abi(), handleid, clienttoken:clienttoken.into_param().abi(), desiredaccess, privileges, accessgranted:accessgranted.into_param().abi()).ok()
1248}
1249#[doc = "Required features: `\"Win32_Foundation\"`"]
1250#[cfg(feature = "Win32_Foundation")]
1251#[inline]
1252pub unsafe fn ObjectPrivilegeAuditAlarmW<P0, P1, P2>(subsystemname: P0, handleid: *const ::core::ffi::c_void, clienttoken: P1, desiredaccess: u32, privileges: *const PRIVILEGE_SET, accessgranted: P2) -> super::Foundation::BOOL
1253where
1254 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1255 P1: ::windows_core::IntoParam<super::Foundation::HANDLE>,
1256 P2: ::windows_core::IntoParam<super::Foundation::BOOL>,
1257{
1258 ::windows_targets::link!("advapi32.dll" "system" fn ObjectPrivilegeAuditAlarmW(subsystemname : ::windows_core::PCWSTR, handleid : *const ::core::ffi::c_void, clienttoken : super::Foundation:: HANDLE, desiredaccess : u32, privileges : *const PRIVILEGE_SET, accessgranted : super::Foundation:: BOOL) -> super::Foundation:: BOOL);
1259 ObjectPrivilegeAuditAlarmW(subsystemname:subsystemname.into_param().abi(), handleid, clienttoken:clienttoken.into_param().abi(), desiredaccess, privileges, accessgranted:accessgranted.into_param().abi())
1260}
1261#[doc = "Required features: `\"Win32_Foundation\"`"]
1262#[cfg(feature = "Win32_Foundation")]
1263#[inline]
1264pub unsafe fn PrivilegeCheck<P0>(clienttoken: P0, requiredprivileges: *mut PRIVILEGE_SET, pfresult: *mut super::Foundation::BOOL) -> ::windows_core::Result<()>
1265where
1266 P0: ::windows_core::IntoParam<super::Foundation::HANDLE>,
1267{
1268 ::windows_targets::link!("advapi32.dll" "system" fn PrivilegeCheck(clienttoken : super::Foundation:: HANDLE, requiredprivileges : *mut PRIVILEGE_SET, pfresult : *mut super::Foundation:: BOOL) -> super::Foundation:: BOOL);
1269 PrivilegeCheck(clienttoken:clienttoken.into_param().abi(), requiredprivileges, pfresult).ok()
1270}
1271#[doc = "Required features: `\"Win32_Foundation\"`"]
1272#[cfg(feature = "Win32_Foundation")]
1273#[inline]
1274pub unsafe fn PrivilegedServiceAuditAlarmA<P0, P1, P2, P3>(subsystemname: P0, servicename: P1, clienttoken: P2, privileges: *const PRIVILEGE_SET, accessgranted: P3) -> ::windows_core::Result<()>
1275where
1276 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
1277 P1: ::windows_core::IntoParam<::windows_core::PCSTR>,
1278 P2: ::windows_core::IntoParam<super::Foundation::HANDLE>,
1279 P3: ::windows_core::IntoParam<super::Foundation::BOOL>,
1280{
1281 ::windows_targets::link!("advapi32.dll" "system" fn PrivilegedServiceAuditAlarmA(subsystemname : ::windows_core::PCSTR, servicename : ::windows_core::PCSTR, clienttoken : super::Foundation:: HANDLE, privileges : *const PRIVILEGE_SET, accessgranted : super::Foundation:: BOOL) -> super::Foundation:: BOOL);
1282 PrivilegedServiceAuditAlarmA(subsystemname:subsystemname.into_param().abi(), servicename:servicename.into_param().abi(), clienttoken:clienttoken.into_param().abi(), privileges, accessgranted:accessgranted.into_param().abi()).ok()
1283}
1284#[doc = "Required features: `\"Win32_Foundation\"`"]
1285#[cfg(feature = "Win32_Foundation")]
1286#[inline]
1287pub unsafe fn PrivilegedServiceAuditAlarmW<P0, P1, P2, P3>(subsystemname: P0, servicename: P1, clienttoken: P2, privileges: *const PRIVILEGE_SET, accessgranted: P3) -> super::Foundation::BOOL
1288where
1289 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1290 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1291 P2: ::windows_core::IntoParam<super::Foundation::HANDLE>,
1292 P3: ::windows_core::IntoParam<super::Foundation::BOOL>,
1293{
1294 ::windows_targets::link!("advapi32.dll" "system" fn PrivilegedServiceAuditAlarmW(subsystemname : ::windows_core::PCWSTR, servicename : ::windows_core::PCWSTR, clienttoken : super::Foundation:: HANDLE, privileges : *const PRIVILEGE_SET, accessgranted : super::Foundation:: BOOL) -> super::Foundation:: BOOL);
1295 PrivilegedServiceAuditAlarmW(subsystemname:subsystemname.into_param().abi(), servicename:servicename.into_param().abi(), clienttoken:clienttoken.into_param().abi(), privileges, accessgranted:accessgranted.into_param().abi())
1296}
1297#[inline]
1298pub unsafe fn QuerySecurityAccessMask(securityinformation: OBJECT_SECURITY_INFORMATION) -> u32 {
1299 ::windows_targets::link!("advapi32.dll" "system" fn QuerySecurityAccessMask(securityinformation : OBJECT_SECURITY_INFORMATION, desiredaccess : *mut u32) -> ());
1300 let mut result__: u32 = ::std::mem::zeroed();
1301 QuerySecurityAccessMask(securityinformation, &mut result__);
1302 ::std::mem::transmute(src:result__)
1303}
1304#[doc = "Required features: `\"Win32_Foundation\"`"]
1305#[cfg(feature = "Win32_Foundation")]
1306#[inline]
1307pub unsafe fn RevertToSelf() -> ::windows_core::Result<()> {
1308 ::windows_targets::link!("advapi32.dll" "system" fn RevertToSelf() -> super::Foundation:: BOOL);
1309 RevertToSelf().ok()
1310}
1311#[doc = "Required features: `\"Win32_Foundation\"`"]
1312#[cfg(feature = "Win32_Foundation")]
1313#[inline]
1314pub unsafe fn RtlConvertSidToUnicodeString<P0, P1>(unicodestring: *mut super::Foundation::UNICODE_STRING, sid: P0, allocatedestinationstring: P1) -> super::Foundation::NTSTATUS
1315where
1316 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
1317 P1: ::windows_core::IntoParam<super::Foundation::BOOLEAN>,
1318{
1319 ::windows_targets::link!("ntdll.dll" "system" fn RtlConvertSidToUnicodeString(unicodestring : *mut super::Foundation:: UNICODE_STRING, sid : super::Foundation:: PSID, allocatedestinationstring : super::Foundation:: BOOLEAN) -> super::Foundation:: NTSTATUS);
1320 RtlConvertSidToUnicodeString(unicodestring, sid:sid.into_param().abi(), allocatedestinationstring:allocatedestinationstring.into_param().abi())
1321}
1322#[doc = "Required features: `\"Win32_Foundation\"`"]
1323#[cfg(feature = "Win32_Foundation")]
1324#[inline]
1325pub unsafe fn RtlNormalizeSecurityDescriptor<P0>(securitydescriptor: *mut PSECURITY_DESCRIPTOR, securitydescriptorlength: u32, newsecuritydescriptor: ::core::option::Option<*mut PSECURITY_DESCRIPTOR>, newsecuritydescriptorlength: ::core::option::Option<*mut u32>, checkonly: P0) -> super::Foundation::BOOLEAN
1326where
1327 P0: ::windows_core::IntoParam<super::Foundation::BOOLEAN>,
1328{
1329 ::windows_targets::link!("ntdll.dll" "system" fn RtlNormalizeSecurityDescriptor(securitydescriptor : *mut PSECURITY_DESCRIPTOR, securitydescriptorlength : u32, newsecuritydescriptor : *mut PSECURITY_DESCRIPTOR, newsecuritydescriptorlength : *mut u32, checkonly : super::Foundation:: BOOLEAN) -> super::Foundation:: BOOLEAN);
1330 RtlNormalizeSecurityDescriptor(securitydescriptor, securitydescriptorlength, ::core::mem::transmute(newsecuritydescriptor.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(newsecuritydescriptorlength.unwrap_or(::std::ptr::null_mut())), checkonly:checkonly.into_param().abi())
1331}
1332#[doc = "Required features: `\"Win32_Foundation\"`"]
1333#[cfg(feature = "Win32_Foundation")]
1334#[inline]
1335pub unsafe fn SetAclInformation(pacl: *mut ACL, paclinformation: *const ::core::ffi::c_void, naclinformationlength: u32, dwaclinformationclass: ACL_INFORMATION_CLASS) -> ::windows_core::Result<()> {
1336 ::windows_targets::link!("advapi32.dll" "system" fn SetAclInformation(pacl : *mut ACL, paclinformation : *const ::core::ffi::c_void, naclinformationlength : u32, dwaclinformationclass : ACL_INFORMATION_CLASS) -> super::Foundation:: BOOL);
1337 SetAclInformation(pacl, paclinformation, naclinformationlength, dwaclinformationclass).ok()
1338}
1339#[doc = "Required features: `\"Win32_Foundation\"`"]
1340#[cfg(feature = "Win32_Foundation")]
1341#[inline]
1342pub unsafe fn SetCachedSigningLevel<P0>(sourcefiles: &[super::Foundation::HANDLE], flags: u32, targetfile: P0) -> super::Foundation::BOOL
1343where
1344 P0: ::windows_core::IntoParam<super::Foundation::HANDLE>,
1345{
1346 ::windows_targets::link!("kernel32.dll" "system" fn SetCachedSigningLevel(sourcefiles : *const super::Foundation:: HANDLE, sourcefilecount : u32, flags : u32, targetfile : super::Foundation:: HANDLE) -> super::Foundation:: BOOL);
1347 SetCachedSigningLevel(::core::mem::transmute(sourcefiles.as_ptr()), sourcefilecount:sourcefiles.len().try_into().unwrap(), flags, targetfile:targetfile.into_param().abi())
1348}
1349#[doc = "Required features: `\"Win32_Foundation\"`"]
1350#[cfg(feature = "Win32_Foundation")]
1351#[inline]
1352pub unsafe fn SetFileSecurityA<P0, P1>(lpfilename: P0, securityinformation: OBJECT_SECURITY_INFORMATION, psecuritydescriptor: P1) -> ::windows_core::Result<()>
1353where
1354 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
1355 P1: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
1356{
1357 ::windows_targets::link!("advapi32.dll" "system" fn SetFileSecurityA(lpfilename : ::windows_core::PCSTR, securityinformation : OBJECT_SECURITY_INFORMATION, psecuritydescriptor : PSECURITY_DESCRIPTOR) -> super::Foundation:: BOOL);
1358 SetFileSecurityA(lpfilename:lpfilename.into_param().abi(), securityinformation, psecuritydescriptor:psecuritydescriptor.into_param().abi()).ok()
1359}
1360#[doc = "Required features: `\"Win32_Foundation\"`"]
1361#[cfg(feature = "Win32_Foundation")]
1362#[inline]
1363pub unsafe fn SetFileSecurityW<P0, P1>(lpfilename: P0, securityinformation: OBJECT_SECURITY_INFORMATION, psecuritydescriptor: P1) -> super::Foundation::BOOL
1364where
1365 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1366 P1: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
1367{
1368 ::windows_targets::link!("advapi32.dll" "system" fn SetFileSecurityW(lpfilename : ::windows_core::PCWSTR, securityinformation : OBJECT_SECURITY_INFORMATION, psecuritydescriptor : PSECURITY_DESCRIPTOR) -> super::Foundation:: BOOL);
1369 SetFileSecurityW(lpfilename:lpfilename.into_param().abi(), securityinformation, psecuritydescriptor:psecuritydescriptor.into_param().abi())
1370}
1371#[doc = "Required features: `\"Win32_Foundation\"`"]
1372#[cfg(feature = "Win32_Foundation")]
1373#[inline]
1374pub unsafe fn SetKernelObjectSecurity<P0, P1>(handle: P0, securityinformation: OBJECT_SECURITY_INFORMATION, securitydescriptor: P1) -> ::windows_core::Result<()>
1375where
1376 P0: ::windows_core::IntoParam<super::Foundation::HANDLE>,
1377 P1: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
1378{
1379 ::windows_targets::link!("advapi32.dll" "system" fn SetKernelObjectSecurity(handle : super::Foundation:: HANDLE, securityinformation : OBJECT_SECURITY_INFORMATION, securitydescriptor : PSECURITY_DESCRIPTOR) -> super::Foundation:: BOOL);
1380 SetKernelObjectSecurity(handle:handle.into_param().abi(), securityinformation, securitydescriptor:securitydescriptor.into_param().abi()).ok()
1381}
1382#[doc = "Required features: `\"Win32_Foundation\"`"]
1383#[cfg(feature = "Win32_Foundation")]
1384#[inline]
1385pub unsafe fn SetPrivateObjectSecurity<P0, P1>(securityinformation: OBJECT_SECURITY_INFORMATION, modificationdescriptor: P0, objectssecuritydescriptor: *mut PSECURITY_DESCRIPTOR, genericmapping: *const GENERIC_MAPPING, token: P1) -> ::windows_core::Result<()>
1386where
1387 P0: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
1388 P1: ::windows_core::IntoParam<super::Foundation::HANDLE>,
1389{
1390 ::windows_targets::link!("advapi32.dll" "system" fn SetPrivateObjectSecurity(securityinformation : OBJECT_SECURITY_INFORMATION, modificationdescriptor : PSECURITY_DESCRIPTOR, objectssecuritydescriptor : *mut PSECURITY_DESCRIPTOR, genericmapping : *const GENERIC_MAPPING, token : super::Foundation:: HANDLE) -> super::Foundation:: BOOL);
1391 SetPrivateObjectSecurity(securityinformation, modificationdescriptor:modificationdescriptor.into_param().abi(), objectssecuritydescriptor, genericmapping, token:token.into_param().abi()).ok()
1392}
1393#[doc = "Required features: `\"Win32_Foundation\"`"]
1394#[cfg(feature = "Win32_Foundation")]
1395#[inline]
1396pub unsafe fn SetPrivateObjectSecurityEx<P0, P1>(securityinformation: OBJECT_SECURITY_INFORMATION, modificationdescriptor: P0, objectssecuritydescriptor: *mut PSECURITY_DESCRIPTOR, autoinheritflags: SECURITY_AUTO_INHERIT_FLAGS, genericmapping: *const GENERIC_MAPPING, token: P1) -> ::windows_core::Result<()>
1397where
1398 P0: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
1399 P1: ::windows_core::IntoParam<super::Foundation::HANDLE>,
1400{
1401 ::windows_targets::link!("advapi32.dll" "system" fn SetPrivateObjectSecurityEx(securityinformation : OBJECT_SECURITY_INFORMATION, modificationdescriptor : PSECURITY_DESCRIPTOR, objectssecuritydescriptor : *mut PSECURITY_DESCRIPTOR, autoinheritflags : SECURITY_AUTO_INHERIT_FLAGS, genericmapping : *const GENERIC_MAPPING, token : super::Foundation:: HANDLE) -> super::Foundation:: BOOL);
1402 SetPrivateObjectSecurityEx(securityinformation, modificationdescriptor:modificationdescriptor.into_param().abi(), objectssecuritydescriptor, autoinheritflags, genericmapping, token:token.into_param().abi()).ok()
1403}
1404#[inline]
1405pub unsafe fn SetSecurityAccessMask(securityinformation: OBJECT_SECURITY_INFORMATION) -> u32 {
1406 ::windows_targets::link!("advapi32.dll" "system" fn SetSecurityAccessMask(securityinformation : OBJECT_SECURITY_INFORMATION, desiredaccess : *mut u32) -> ());
1407 let mut result__: u32 = ::std::mem::zeroed();
1408 SetSecurityAccessMask(securityinformation, &mut result__);
1409 ::std::mem::transmute(src:result__)
1410}
1411#[doc = "Required features: `\"Win32_Foundation\"`"]
1412#[cfg(feature = "Win32_Foundation")]
1413#[inline]
1414pub unsafe fn SetSecurityDescriptorControl<P0>(psecuritydescriptor: P0, controlbitsofinterest: SECURITY_DESCRIPTOR_CONTROL, controlbitstoset: SECURITY_DESCRIPTOR_CONTROL) -> ::windows_core::Result<()>
1415where
1416 P0: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
1417{
1418 ::windows_targets::link!("advapi32.dll" "system" fn SetSecurityDescriptorControl(psecuritydescriptor : PSECURITY_DESCRIPTOR, controlbitsofinterest : SECURITY_DESCRIPTOR_CONTROL, controlbitstoset : SECURITY_DESCRIPTOR_CONTROL) -> super::Foundation:: BOOL);
1419 SetSecurityDescriptorControl(psecuritydescriptor:psecuritydescriptor.into_param().abi(), controlbitsofinterest, controlbitstoset).ok()
1420}
1421#[doc = "Required features: `\"Win32_Foundation\"`"]
1422#[cfg(feature = "Win32_Foundation")]
1423#[inline]
1424pub unsafe fn SetSecurityDescriptorDacl<P0, P1>(psecuritydescriptor: PSECURITY_DESCRIPTOR, bdaclpresent: P0, pdacl: ::core::option::Option<*const ACL>, bdacldefaulted: P1) -> ::windows_core::Result<()>
1425where
1426 P0: ::windows_core::IntoParam<super::Foundation::BOOL>,
1427 P1: ::windows_core::IntoParam<super::Foundation::BOOL>,
1428{
1429 ::windows_targets::link!("advapi32.dll" "system" fn SetSecurityDescriptorDacl(psecuritydescriptor : PSECURITY_DESCRIPTOR, bdaclpresent : super::Foundation:: BOOL, pdacl : *const ACL, bdacldefaulted : super::Foundation:: BOOL) -> super::Foundation:: BOOL);
1430 SetSecurityDescriptorDacl(psecuritydescriptor, bdaclpresent:bdaclpresent.into_param().abi(), ::core::mem::transmute(pdacl.unwrap_or(::std::ptr::null())), bdacldefaulted:bdacldefaulted.into_param().abi()).ok()
1431}
1432#[doc = "Required features: `\"Win32_Foundation\"`"]
1433#[cfg(feature = "Win32_Foundation")]
1434#[inline]
1435pub unsafe fn SetSecurityDescriptorGroup<P0, P1>(psecuritydescriptor: PSECURITY_DESCRIPTOR, pgroup: P0, bgroupdefaulted: P1) -> ::windows_core::Result<()>
1436where
1437 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
1438 P1: ::windows_core::IntoParam<super::Foundation::BOOL>,
1439{
1440 ::windows_targets::link!("advapi32.dll" "system" fn SetSecurityDescriptorGroup(psecuritydescriptor : PSECURITY_DESCRIPTOR, pgroup : super::Foundation:: PSID, bgroupdefaulted : super::Foundation:: BOOL) -> super::Foundation:: BOOL);
1441 SetSecurityDescriptorGroup(psecuritydescriptor, pgroup:pgroup.into_param().abi(), bgroupdefaulted:bgroupdefaulted.into_param().abi()).ok()
1442}
1443#[doc = "Required features: `\"Win32_Foundation\"`"]
1444#[cfg(feature = "Win32_Foundation")]
1445#[inline]
1446pub unsafe fn SetSecurityDescriptorOwner<P0, P1>(psecuritydescriptor: PSECURITY_DESCRIPTOR, powner: P0, bownerdefaulted: P1) -> ::windows_core::Result<()>
1447where
1448 P0: ::windows_core::IntoParam<super::Foundation::PSID>,
1449 P1: ::windows_core::IntoParam<super::Foundation::BOOL>,
1450{
1451 ::windows_targets::link!("advapi32.dll" "system" fn SetSecurityDescriptorOwner(psecuritydescriptor : PSECURITY_DESCRIPTOR, powner : super::Foundation:: PSID, bownerdefaulted : super::Foundation:: BOOL) -> super::Foundation:: BOOL);
1452 SetSecurityDescriptorOwner(psecuritydescriptor, powner:powner.into_param().abi(), bownerdefaulted:bownerdefaulted.into_param().abi()).ok()
1453}
1454#[inline]
1455pub unsafe fn SetSecurityDescriptorRMControl(securitydescriptor: PSECURITY_DESCRIPTOR, rmcontrol: ::core::option::Option<*const u8>) -> u32 {
1456 ::windows_targets::link!("advapi32.dll" "system" fn SetSecurityDescriptorRMControl(securitydescriptor : PSECURITY_DESCRIPTOR, rmcontrol : *const u8) -> u32);
1457 SetSecurityDescriptorRMControl(securitydescriptor, ::core::mem::transmute(src:rmcontrol.unwrap_or(::std::ptr::null())))
1458}
1459#[doc = "Required features: `\"Win32_Foundation\"`"]
1460#[cfg(feature = "Win32_Foundation")]
1461#[inline]
1462pub unsafe fn SetSecurityDescriptorSacl<P0, P1>(psecuritydescriptor: PSECURITY_DESCRIPTOR, bsaclpresent: P0, psacl: ::core::option::Option<*const ACL>, bsacldefaulted: P1) -> ::windows_core::Result<()>
1463where
1464 P0: ::windows_core::IntoParam<super::Foundation::BOOL>,
1465 P1: ::windows_core::IntoParam<super::Foundation::BOOL>,
1466{
1467 ::windows_targets::link!("advapi32.dll" "system" fn SetSecurityDescriptorSacl(psecuritydescriptor : PSECURITY_DESCRIPTOR, bsaclpresent : super::Foundation:: BOOL, psacl : *const ACL, bsacldefaulted : super::Foundation:: BOOL) -> super::Foundation:: BOOL);
1468 SetSecurityDescriptorSacl(psecuritydescriptor, bsaclpresent:bsaclpresent.into_param().abi(), ::core::mem::transmute(psacl.unwrap_or(::std::ptr::null())), bsacldefaulted:bsacldefaulted.into_param().abi()).ok()
1469}
1470#[doc = "Required features: `\"Win32_Foundation\"`"]
1471#[cfg(feature = "Win32_Foundation")]
1472#[inline]
1473pub unsafe fn SetTokenInformation<P0>(tokenhandle: P0, tokeninformationclass: TOKEN_INFORMATION_CLASS, tokeninformation: *const ::core::ffi::c_void, tokeninformationlength: u32) -> ::windows_core::Result<()>
1474where
1475 P0: ::windows_core::IntoParam<super::Foundation::HANDLE>,
1476{
1477 ::windows_targets::link!("advapi32.dll" "system" fn SetTokenInformation(tokenhandle : super::Foundation:: HANDLE, tokeninformationclass : TOKEN_INFORMATION_CLASS, tokeninformation : *const ::core::ffi::c_void, tokeninformationlength : u32) -> super::Foundation:: BOOL);
1478 SetTokenInformation(tokenhandle:tokenhandle.into_param().abi(), tokeninformationclass, tokeninformation, tokeninformationlength).ok()
1479}
1480#[doc = "Required features: `\"Win32_Foundation\"`"]
1481#[cfg(feature = "Win32_Foundation")]
1482#[inline]
1483pub unsafe fn SetUserObjectSecurity<P0, P1>(hobj: P0, psirequested: *const OBJECT_SECURITY_INFORMATION, psid: P1) -> ::windows_core::Result<()>
1484where
1485 P0: ::windows_core::IntoParam<super::Foundation::HANDLE>,
1486 P1: ::windows_core::IntoParam<PSECURITY_DESCRIPTOR>,
1487{
1488 ::windows_targets::link!("user32.dll" "system" fn SetUserObjectSecurity(hobj : super::Foundation:: HANDLE, psirequested : *const OBJECT_SECURITY_INFORMATION, psid : PSECURITY_DESCRIPTOR) -> super::Foundation:: BOOL);
1489 SetUserObjectSecurity(hobj:hobj.into_param().abi(), psirequested, psid:psid.into_param().abi()).ok()
1490}
1491pub const ACE_INHERITED_OBJECT_TYPE_PRESENT: SYSTEM_AUDIT_OBJECT_ACE_FLAGS = SYSTEM_AUDIT_OBJECT_ACE_FLAGS(2u32);
1492pub const ACE_OBJECT_TYPE_PRESENT: SYSTEM_AUDIT_OBJECT_ACE_FLAGS = SYSTEM_AUDIT_OBJECT_ACE_FLAGS(1u32);
1493pub const ACL_REVISION: ACE_REVISION = ACE_REVISION(2u32);
1494pub const ACL_REVISION_DS: ACE_REVISION = ACE_REVISION(4u32);
1495pub const ATTRIBUTE_SECURITY_INFORMATION: OBJECT_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION(32u32);
1496pub const AclRevisionInformation: ACL_INFORMATION_CLASS = ACL_INFORMATION_CLASS(1i32);
1497pub const AclSizeInformation: ACL_INFORMATION_CLASS = ACL_INFORMATION_CLASS(2i32);
1498pub const AuditEventDirectoryServiceAccess: AUDIT_EVENT_TYPE = AUDIT_EVENT_TYPE(1i32);
1499pub const AuditEventObjectAccess: AUDIT_EVENT_TYPE = AUDIT_EVENT_TYPE(0i32);
1500pub const BACKUP_SECURITY_INFORMATION: OBJECT_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION(65536u32);
1501pub const CLAIM_SECURITY_ATTRIBUTE_DISABLED: CLAIM_SECURITY_ATTRIBUTE_FLAGS = CLAIM_SECURITY_ATTRIBUTE_FLAGS(16u32);
1502pub const CLAIM_SECURITY_ATTRIBUTE_DISABLED_BY_DEFAULT: CLAIM_SECURITY_ATTRIBUTE_FLAGS = CLAIM_SECURITY_ATTRIBUTE_FLAGS(8u32);
1503pub const CLAIM_SECURITY_ATTRIBUTE_MANDATORY: CLAIM_SECURITY_ATTRIBUTE_FLAGS = CLAIM_SECURITY_ATTRIBUTE_FLAGS(32u32);
1504pub const CLAIM_SECURITY_ATTRIBUTE_NON_INHERITABLE: CLAIM_SECURITY_ATTRIBUTE_FLAGS = CLAIM_SECURITY_ATTRIBUTE_FLAGS(1u32);
1505pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_BOOLEAN: CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE = CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE(6u16);
1506pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_FQBN: CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE = CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE(4u16);
1507pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_INT64: CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE = CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE(1u16);
1508pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_OCTET_STRING: CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE = CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE(16u16);
1509pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_SID: CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE = CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE(5u16);
1510pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_STRING: CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE = CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE(3u16);
1511pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_UINT64: CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE = CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE(2u16);
1512pub const CLAIM_SECURITY_ATTRIBUTE_USE_FOR_DENY_ONLY: CLAIM_SECURITY_ATTRIBUTE_FLAGS = CLAIM_SECURITY_ATTRIBUTE_FLAGS(4u32);
1513pub const CLAIM_SECURITY_ATTRIBUTE_VALUE_CASE_SENSITIVE: CLAIM_SECURITY_ATTRIBUTE_FLAGS = CLAIM_SECURITY_ATTRIBUTE_FLAGS(2u32);
1514pub const CONTAINER_INHERIT_ACE: ACE_FLAGS = ACE_FLAGS(2u32);
1515pub const CVT_SECONDS: u32 = 1u32;
1516pub const DACL_SECURITY_INFORMATION: OBJECT_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION(4u32);
1517pub const DISABLE_MAX_PRIVILEGE: CREATE_RESTRICTED_TOKEN_FLAGS = CREATE_RESTRICTED_TOKEN_FLAGS(1u32);
1518pub const ENUM_PERIOD_DAYS: ENUM_PERIOD = ENUM_PERIOD(3i32);
1519pub const ENUM_PERIOD_HOURS: ENUM_PERIOD = ENUM_PERIOD(2i32);
1520pub const ENUM_PERIOD_INVALID: ENUM_PERIOD = ENUM_PERIOD(-1i32);
1521pub const ENUM_PERIOD_MINUTES: ENUM_PERIOD = ENUM_PERIOD(1i32);
1522pub const ENUM_PERIOD_MONTHS: ENUM_PERIOD = ENUM_PERIOD(5i32);
1523pub const ENUM_PERIOD_SECONDS: ENUM_PERIOD = ENUM_PERIOD(0i32);
1524pub const ENUM_PERIOD_WEEKS: ENUM_PERIOD = ENUM_PERIOD(4i32);
1525pub const ENUM_PERIOD_YEARS: ENUM_PERIOD = ENUM_PERIOD(6i32);
1526pub const FAILED_ACCESS_ACE_FLAG: ACE_FLAGS = ACE_FLAGS(128u32);
1527pub const GROUP_SECURITY_INFORMATION: OBJECT_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION(2u32);
1528pub const INHERITED_ACE: ACE_FLAGS = ACE_FLAGS(16u32);
1529pub const INHERIT_NO_PROPAGATE: ACE_FLAGS = ACE_FLAGS(4u32);
1530pub const INHERIT_ONLY: ACE_FLAGS = ACE_FLAGS(8u32);
1531pub const INHERIT_ONLY_ACE: ACE_FLAGS = ACE_FLAGS(8u32);
1532pub const LABEL_SECURITY_INFORMATION: OBJECT_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION(16u32);
1533pub const LOGON32_LOGON_BATCH: LOGON32_LOGON = LOGON32_LOGON(4u32);
1534pub const LOGON32_LOGON_INTERACTIVE: LOGON32_LOGON = LOGON32_LOGON(2u32);
1535pub const LOGON32_LOGON_NETWORK: LOGON32_LOGON = LOGON32_LOGON(3u32);
1536pub const LOGON32_LOGON_NETWORK_CLEARTEXT: LOGON32_LOGON = LOGON32_LOGON(8u32);
1537pub const LOGON32_LOGON_NEW_CREDENTIALS: LOGON32_LOGON = LOGON32_LOGON(9u32);
1538pub const LOGON32_LOGON_SERVICE: LOGON32_LOGON = LOGON32_LOGON(5u32);
1539pub const LOGON32_LOGON_UNLOCK: LOGON32_LOGON = LOGON32_LOGON(7u32);
1540pub const LOGON32_PROVIDER_DEFAULT: LOGON32_PROVIDER = LOGON32_PROVIDER(0u32);
1541pub const LOGON32_PROVIDER_WINNT40: LOGON32_PROVIDER = LOGON32_PROVIDER(2u32);
1542pub const LOGON32_PROVIDER_WINNT50: LOGON32_PROVIDER = LOGON32_PROVIDER(3u32);
1543pub const LUA_TOKEN: CREATE_RESTRICTED_TOKEN_FLAGS = CREATE_RESTRICTED_TOKEN_FLAGS(4u32);
1544pub const MandatoryLevelCount: MANDATORY_LEVEL = MANDATORY_LEVEL(6i32);
1545pub const MandatoryLevelHigh: MANDATORY_LEVEL = MANDATORY_LEVEL(3i32);
1546pub const MandatoryLevelLow: MANDATORY_LEVEL = MANDATORY_LEVEL(1i32);
1547pub const MandatoryLevelMedium: MANDATORY_LEVEL = MANDATORY_LEVEL(2i32);
1548pub const MandatoryLevelSecureProcess: MANDATORY_LEVEL = MANDATORY_LEVEL(5i32);
1549pub const MandatoryLevelSystem: MANDATORY_LEVEL = MANDATORY_LEVEL(4i32);
1550pub const MandatoryLevelUntrusted: MANDATORY_LEVEL = MANDATORY_LEVEL(0i32);
1551pub const MaxTokenInfoClass: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(49i32);
1552pub const NO_INHERITANCE: ACE_FLAGS = ACE_FLAGS(0u32);
1553pub const NO_PROPAGATE_INHERIT_ACE: ACE_FLAGS = ACE_FLAGS(4u32);
1554pub const OBJECT_INHERIT_ACE: ACE_FLAGS = ACE_FLAGS(1u32);
1555pub const OWNER_SECURITY_INFORMATION: OBJECT_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION(1u32);
1556pub const PROTECTED_DACL_SECURITY_INFORMATION: OBJECT_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION(2147483648u32);
1557pub const PROTECTED_SACL_SECURITY_INFORMATION: OBJECT_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION(1073741824u32);
1558pub const SACL_SECURITY_INFORMATION: OBJECT_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION(8u32);
1559pub const SANDBOX_INERT: CREATE_RESTRICTED_TOKEN_FLAGS = CREATE_RESTRICTED_TOKEN_FLAGS(2u32);
1560pub const SCOPE_SECURITY_INFORMATION: OBJECT_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION(64u32);
1561pub const SECURITY_APP_PACKAGE_AUTHORITY: SID_IDENTIFIER_AUTHORITY = SID_IDENTIFIER_AUTHORITY { Value: [0, 0, 0, 0, 0, 15] };
1562pub const SECURITY_AUTHENTICATION_AUTHORITY: SID_IDENTIFIER_AUTHORITY = SID_IDENTIFIER_AUTHORITY { Value: [0, 0, 0, 0, 0, 18] };
1563pub const SECURITY_CREATOR_SID_AUTHORITY: SID_IDENTIFIER_AUTHORITY = SID_IDENTIFIER_AUTHORITY { Value: [0, 0, 0, 0, 0, 3] };
1564#[doc = "Required features: `\"Win32_Foundation\"`"]
1565#[cfg(feature = "Win32_Foundation")]
1566pub const SECURITY_DYNAMIC_TRACKING: super::Foundation::BOOLEAN = super::Foundation::BOOLEAN(1u8);
1567pub const SECURITY_LOCAL_SID_AUTHORITY: SID_IDENTIFIER_AUTHORITY = SID_IDENTIFIER_AUTHORITY { Value: [0, 0, 0, 0, 0, 2] };
1568pub const SECURITY_MANDATORY_LABEL_AUTHORITY: SID_IDENTIFIER_AUTHORITY = SID_IDENTIFIER_AUTHORITY { Value: [0, 0, 0, 0, 0, 16] };
1569pub const SECURITY_NON_UNIQUE_AUTHORITY: SID_IDENTIFIER_AUTHORITY = SID_IDENTIFIER_AUTHORITY { Value: [0, 0, 0, 0, 0, 4] };
1570pub const SECURITY_NT_AUTHORITY: SID_IDENTIFIER_AUTHORITY = SID_IDENTIFIER_AUTHORITY { Value: [0, 0, 0, 0, 0, 5] };
1571pub const SECURITY_NULL_SID_AUTHORITY: SID_IDENTIFIER_AUTHORITY = SID_IDENTIFIER_AUTHORITY { Value: [0, 0, 0, 0, 0, 0] };
1572pub const SECURITY_PROCESS_TRUST_AUTHORITY: SID_IDENTIFIER_AUTHORITY = SID_IDENTIFIER_AUTHORITY { Value: [0, 0, 0, 0, 0, 19] };
1573pub const SECURITY_RESOURCE_MANAGER_AUTHORITY: SID_IDENTIFIER_AUTHORITY = SID_IDENTIFIER_AUTHORITY { Value: [0, 0, 0, 0, 0, 9] };
1574pub const SECURITY_SCOPED_POLICY_ID_AUTHORITY: SID_IDENTIFIER_AUTHORITY = SID_IDENTIFIER_AUTHORITY { Value: [0, 0, 0, 0, 0, 17] };
1575#[doc = "Required features: `\"Win32_Foundation\"`"]
1576#[cfg(feature = "Win32_Foundation")]
1577pub const SECURITY_STATIC_TRACKING: super::Foundation::BOOLEAN = super::Foundation::BOOLEAN(0u8);
1578pub const SECURITY_WORLD_SID_AUTHORITY: SID_IDENTIFIER_AUTHORITY = SID_IDENTIFIER_AUTHORITY { Value: [0, 0, 0, 0, 0, 1] };
1579pub const SEF_AVOID_OWNER_CHECK: SECURITY_AUTO_INHERIT_FLAGS = SECURITY_AUTO_INHERIT_FLAGS(16u32);
1580pub const SEF_AVOID_OWNER_RESTRICTION: SECURITY_AUTO_INHERIT_FLAGS = SECURITY_AUTO_INHERIT_FLAGS(4096u32);
1581pub const SEF_AVOID_PRIVILEGE_CHECK: SECURITY_AUTO_INHERIT_FLAGS = SECURITY_AUTO_INHERIT_FLAGS(8u32);
1582pub const SEF_DACL_AUTO_INHERIT: SECURITY_AUTO_INHERIT_FLAGS = SECURITY_AUTO_INHERIT_FLAGS(1u32);
1583pub const SEF_DEFAULT_DESCRIPTOR_FOR_OBJECT: SECURITY_AUTO_INHERIT_FLAGS = SECURITY_AUTO_INHERIT_FLAGS(4u32);
1584pub const SEF_DEFAULT_GROUP_FROM_PARENT: SECURITY_AUTO_INHERIT_FLAGS = SECURITY_AUTO_INHERIT_FLAGS(64u32);
1585pub const SEF_DEFAULT_OWNER_FROM_PARENT: SECURITY_AUTO_INHERIT_FLAGS = SECURITY_AUTO_INHERIT_FLAGS(32u32);
1586pub const SEF_MACL_NO_EXECUTE_UP: SECURITY_AUTO_INHERIT_FLAGS = SECURITY_AUTO_INHERIT_FLAGS(1024u32);
1587pub const SEF_MACL_NO_READ_UP: SECURITY_AUTO_INHERIT_FLAGS = SECURITY_AUTO_INHERIT_FLAGS(512u32);
1588pub const SEF_MACL_NO_WRITE_UP: SECURITY_AUTO_INHERIT_FLAGS = SECURITY_AUTO_INHERIT_FLAGS(256u32);
1589pub const SEF_SACL_AUTO_INHERIT: SECURITY_AUTO_INHERIT_FLAGS = SECURITY_AUTO_INHERIT_FLAGS(2u32);
1590pub const SE_ASSIGNPRIMARYTOKEN_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeAssignPrimaryTokenPrivilege");
1591pub const SE_AUDIT_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeAuditPrivilege");
1592pub const SE_BACKUP_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeBackupPrivilege");
1593pub const SE_CHANGE_NOTIFY_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeChangeNotifyPrivilege");
1594pub const SE_CREATE_GLOBAL_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeCreateGlobalPrivilege");
1595pub const SE_CREATE_PAGEFILE_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeCreatePagefilePrivilege");
1596pub const SE_CREATE_PERMANENT_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeCreatePermanentPrivilege");
1597pub const SE_CREATE_SYMBOLIC_LINK_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeCreateSymbolicLinkPrivilege");
1598pub const SE_CREATE_TOKEN_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeCreateTokenPrivilege");
1599pub const SE_DACL_AUTO_INHERITED: SECURITY_DESCRIPTOR_CONTROL = SECURITY_DESCRIPTOR_CONTROL(1024u16);
1600pub const SE_DACL_AUTO_INHERIT_REQ: SECURITY_DESCRIPTOR_CONTROL = SECURITY_DESCRIPTOR_CONTROL(256u16);
1601pub const SE_DACL_DEFAULTED: SECURITY_DESCRIPTOR_CONTROL = SECURITY_DESCRIPTOR_CONTROL(8u16);
1602pub const SE_DACL_PRESENT: SECURITY_DESCRIPTOR_CONTROL = SECURITY_DESCRIPTOR_CONTROL(4u16);
1603pub const SE_DACL_PROTECTED: SECURITY_DESCRIPTOR_CONTROL = SECURITY_DESCRIPTOR_CONTROL(4096u16);
1604pub const SE_DEBUG_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeDebugPrivilege");
1605pub const SE_DELEGATE_SESSION_USER_IMPERSONATE_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeDelegateSessionUserImpersonatePrivilege");
1606pub const SE_ENABLE_DELEGATION_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeEnableDelegationPrivilege");
1607pub const SE_GROUP_DEFAULTED: SECURITY_DESCRIPTOR_CONTROL = SECURITY_DESCRIPTOR_CONTROL(2u16);
1608pub const SE_IMPERSONATE_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeImpersonatePrivilege");
1609pub const SE_INCREASE_QUOTA_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeIncreaseQuotaPrivilege");
1610pub const SE_INC_BASE_PRIORITY_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeIncreaseBasePriorityPrivilege");
1611pub const SE_INC_WORKING_SET_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeIncreaseWorkingSetPrivilege");
1612pub const SE_LOAD_DRIVER_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeLoadDriverPrivilege");
1613pub const SE_LOCK_MEMORY_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeLockMemoryPrivilege");
1614pub const SE_MACHINE_ACCOUNT_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeMachineAccountPrivilege");
1615pub const SE_MANAGE_VOLUME_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeManageVolumePrivilege");
1616pub const SE_OWNER_DEFAULTED: SECURITY_DESCRIPTOR_CONTROL = SECURITY_DESCRIPTOR_CONTROL(1u16);
1617pub const SE_PRIVILEGE_ENABLED: TOKEN_PRIVILEGES_ATTRIBUTES = TOKEN_PRIVILEGES_ATTRIBUTES(2u32);
1618pub const SE_PRIVILEGE_ENABLED_BY_DEFAULT: TOKEN_PRIVILEGES_ATTRIBUTES = TOKEN_PRIVILEGES_ATTRIBUTES(1u32);
1619pub const SE_PRIVILEGE_REMOVED: TOKEN_PRIVILEGES_ATTRIBUTES = TOKEN_PRIVILEGES_ATTRIBUTES(4u32);
1620pub const SE_PRIVILEGE_USED_FOR_ACCESS: TOKEN_PRIVILEGES_ATTRIBUTES = TOKEN_PRIVILEGES_ATTRIBUTES(2147483648u32);
1621pub const SE_PROF_SINGLE_PROCESS_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeProfileSingleProcessPrivilege");
1622pub const SE_RELABEL_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeRelabelPrivilege");
1623pub const SE_REMOTE_SHUTDOWN_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeRemoteShutdownPrivilege");
1624pub const SE_RESTORE_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeRestorePrivilege");
1625pub const SE_RM_CONTROL_VALID: SECURITY_DESCRIPTOR_CONTROL = SECURITY_DESCRIPTOR_CONTROL(16384u16);
1626pub const SE_SACL_AUTO_INHERITED: SECURITY_DESCRIPTOR_CONTROL = SECURITY_DESCRIPTOR_CONTROL(2048u16);
1627pub const SE_SACL_AUTO_INHERIT_REQ: SECURITY_DESCRIPTOR_CONTROL = SECURITY_DESCRIPTOR_CONTROL(512u16);
1628pub const SE_SACL_DEFAULTED: SECURITY_DESCRIPTOR_CONTROL = SECURITY_DESCRIPTOR_CONTROL(32u16);
1629pub const SE_SACL_PRESENT: SECURITY_DESCRIPTOR_CONTROL = SECURITY_DESCRIPTOR_CONTROL(16u16);
1630pub const SE_SACL_PROTECTED: SECURITY_DESCRIPTOR_CONTROL = SECURITY_DESCRIPTOR_CONTROL(8192u16);
1631pub const SE_SECURITY_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeSecurityPrivilege");
1632pub const SE_SELF_RELATIVE: SECURITY_DESCRIPTOR_CONTROL = SECURITY_DESCRIPTOR_CONTROL(32768u16);
1633pub const SE_SHUTDOWN_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeShutdownPrivilege");
1634pub const SE_SYNC_AGENT_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeSyncAgentPrivilege");
1635pub const SE_SYSTEMTIME_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeSystemtimePrivilege");
1636pub const SE_SYSTEM_ENVIRONMENT_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeSystemEnvironmentPrivilege");
1637pub const SE_SYSTEM_PROFILE_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeSystemProfilePrivilege");
1638pub const SE_TAKE_OWNERSHIP_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeTakeOwnershipPrivilege");
1639pub const SE_TCB_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeTcbPrivilege");
1640pub const SE_TIME_ZONE_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeTimeZonePrivilege");
1641pub const SE_TRUSTED_CREDMAN_ACCESS_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeTrustedCredManAccessPrivilege");
1642pub const SE_UNDOCK_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeUndockPrivilege");
1643pub const SE_UNSOLICITED_INPUT_NAME: ::windows_core::PCWSTR = ::windows_core::w!("SeUnsolicitedInputPrivilege");
1644pub const SUB_CONTAINERS_AND_OBJECTS_INHERIT: ACE_FLAGS = ACE_FLAGS(3u32);
1645pub const SUB_CONTAINERS_ONLY_INHERIT: ACE_FLAGS = ACE_FLAGS(2u32);
1646pub const SUB_OBJECTS_ONLY_INHERIT: ACE_FLAGS = ACE_FLAGS(1u32);
1647pub const SUCCESSFUL_ACCESS_ACE_FLAG: ACE_FLAGS = ACE_FLAGS(64u32);
1648pub const SecurityAnonymous: SECURITY_IMPERSONATION_LEVEL = SECURITY_IMPERSONATION_LEVEL(0i32);
1649pub const SecurityDelegation: SECURITY_IMPERSONATION_LEVEL = SECURITY_IMPERSONATION_LEVEL(3i32);
1650pub const SecurityIdentification: SECURITY_IMPERSONATION_LEVEL = SECURITY_IMPERSONATION_LEVEL(1i32);
1651pub const SecurityImpersonation: SECURITY_IMPERSONATION_LEVEL = SECURITY_IMPERSONATION_LEVEL(2i32);
1652pub const SidTypeAlias: SID_NAME_USE = SID_NAME_USE(4i32);
1653pub const SidTypeComputer: SID_NAME_USE = SID_NAME_USE(9i32);
1654pub const SidTypeDeletedAccount: SID_NAME_USE = SID_NAME_USE(6i32);
1655pub const SidTypeDomain: SID_NAME_USE = SID_NAME_USE(3i32);
1656pub const SidTypeGroup: SID_NAME_USE = SID_NAME_USE(2i32);
1657pub const SidTypeInvalid: SID_NAME_USE = SID_NAME_USE(7i32);
1658pub const SidTypeLabel: SID_NAME_USE = SID_NAME_USE(10i32);
1659pub const SidTypeLogonSession: SID_NAME_USE = SID_NAME_USE(11i32);
1660pub const SidTypeUnknown: SID_NAME_USE = SID_NAME_USE(8i32);
1661pub const SidTypeUser: SID_NAME_USE = SID_NAME_USE(1i32);
1662pub const SidTypeWellKnownGroup: SID_NAME_USE = SID_NAME_USE(5i32);
1663pub const TOKEN_ACCESS_PSEUDO_HANDLE: TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK(24u32);
1664pub const TOKEN_ACCESS_PSEUDO_HANDLE_WIN8: TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK(24u32);
1665pub const TOKEN_ACCESS_SYSTEM_SECURITY: TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK(16777216u32);
1666pub const TOKEN_ADJUST_DEFAULT: TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK(128u32);
1667pub const TOKEN_ADJUST_GROUPS: TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK(64u32);
1668pub const TOKEN_ADJUST_PRIVILEGES: TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK(32u32);
1669pub const TOKEN_ADJUST_SESSIONID: TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK(256u32);
1670pub const TOKEN_ALL_ACCESS: TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK(983551u32);
1671pub const TOKEN_ASSIGN_PRIMARY: TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK(1u32);
1672pub const TOKEN_DELETE: TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK(65536u32);
1673pub const TOKEN_DUPLICATE: TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK(2u32);
1674pub const TOKEN_EXECUTE: TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK(131072u32);
1675pub const TOKEN_IMPERSONATE: TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK(4u32);
1676pub const TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN: TOKEN_MANDATORY_POLICY_ID = TOKEN_MANDATORY_POLICY_ID(2u32);
1677pub const TOKEN_MANDATORY_POLICY_NO_WRITE_UP: TOKEN_MANDATORY_POLICY_ID = TOKEN_MANDATORY_POLICY_ID(1u32);
1678pub const TOKEN_MANDATORY_POLICY_OFF: TOKEN_MANDATORY_POLICY_ID = TOKEN_MANDATORY_POLICY_ID(0u32);
1679pub const TOKEN_MANDATORY_POLICY_VALID_MASK: TOKEN_MANDATORY_POLICY_ID = TOKEN_MANDATORY_POLICY_ID(3u32);
1680pub const TOKEN_QUERY: TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK(8u32);
1681pub const TOKEN_QUERY_SOURCE: TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK(16u32);
1682pub const TOKEN_READ: TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK(131080u32);
1683pub const TOKEN_READ_CONTROL: TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK(131072u32);
1684pub const TOKEN_TRUST_CONSTRAINT_MASK: TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK(131096u32);
1685pub const TOKEN_WRITE: TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK(131296u32);
1686pub const TOKEN_WRITE_DAC: TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK(262144u32);
1687pub const TOKEN_WRITE_OWNER: TOKEN_ACCESS_MASK = TOKEN_ACCESS_MASK(524288u32);
1688pub const TokenAccessInformation: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(22i32);
1689pub const TokenAppContainerNumber: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(32i32);
1690pub const TokenAppContainerSid: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(31i32);
1691pub const TokenAuditPolicy: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(16i32);
1692pub const TokenBnoIsolation: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(44i32);
1693pub const TokenCapabilities: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(30i32);
1694pub const TokenChildProcessFlags: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(45i32);
1695pub const TokenDefaultDacl: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(6i32);
1696pub const TokenDeviceClaimAttributes: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(34i32);
1697pub const TokenDeviceGroups: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(37i32);
1698pub const TokenElevation: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(20i32);
1699pub const TokenElevationType: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(18i32);
1700pub const TokenElevationTypeDefault: TOKEN_ELEVATION_TYPE = TOKEN_ELEVATION_TYPE(1i32);
1701pub const TokenElevationTypeFull: TOKEN_ELEVATION_TYPE = TOKEN_ELEVATION_TYPE(2i32);
1702pub const TokenElevationTypeLimited: TOKEN_ELEVATION_TYPE = TOKEN_ELEVATION_TYPE(3i32);
1703pub const TokenGroups: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(2i32);
1704pub const TokenGroupsAndPrivileges: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(13i32);
1705pub const TokenHasRestrictions: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(21i32);
1706pub const TokenImpersonation: TOKEN_TYPE = TOKEN_TYPE(2i32);
1707pub const TokenImpersonationLevel: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(9i32);
1708pub const TokenIntegrityLevel: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(25i32);
1709pub const TokenIsAppContainer: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(29i32);
1710pub const TokenIsAppSilo: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(48i32);
1711pub const TokenIsLessPrivilegedAppContainer: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(46i32);
1712pub const TokenIsRestricted: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(40i32);
1713pub const TokenIsSandboxed: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(47i32);
1714pub const TokenLinkedToken: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(19i32);
1715pub const TokenLogonSid: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(28i32);
1716pub const TokenMandatoryPolicy: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(27i32);
1717pub const TokenOrigin: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(17i32);
1718pub const TokenOwner: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(4i32);
1719pub const TokenPrimary: TOKEN_TYPE = TOKEN_TYPE(1i32);
1720pub const TokenPrimaryGroup: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(5i32);
1721pub const TokenPrivateNameSpace: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(42i32);
1722pub const TokenPrivileges: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(3i32);
1723pub const TokenProcessTrustLevel: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(41i32);
1724pub const TokenRestrictedDeviceClaimAttributes: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(36i32);
1725pub const TokenRestrictedDeviceGroups: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(38i32);
1726pub const TokenRestrictedSids: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(11i32);
1727pub const TokenRestrictedUserClaimAttributes: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(35i32);
1728pub const TokenSandBoxInert: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(15i32);
1729pub const TokenSecurityAttributes: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(39i32);
1730pub const TokenSessionId: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(12i32);
1731pub const TokenSessionReference: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(14i32);
1732pub const TokenSingletonAttributes: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(43i32);
1733pub const TokenSource: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(7i32);
1734pub const TokenStatistics: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(10i32);
1735pub const TokenType: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(8i32);
1736pub const TokenUIAccess: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(26i32);
1737pub const TokenUser: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(1i32);
1738pub const TokenUserClaimAttributes: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(33i32);
1739pub const TokenVirtualizationAllowed: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(23i32);
1740pub const TokenVirtualizationEnabled: TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS(24i32);
1741pub const UNPROTECTED_DACL_SECURITY_INFORMATION: OBJECT_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION(536870912u32);
1742pub const UNPROTECTED_SACL_SECURITY_INFORMATION: OBJECT_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION(268435456u32);
1743pub const WRITE_RESTRICTED: CREATE_RESTRICTED_TOKEN_FLAGS = CREATE_RESTRICTED_TOKEN_FLAGS(8u32);
1744pub const WinAccountAdministratorSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(38i32);
1745pub const WinAccountCertAdminsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(46i32);
1746pub const WinAccountCloneableControllersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(100i32);
1747pub const WinAccountComputersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(44i32);
1748pub const WinAccountControllersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(45i32);
1749pub const WinAccountDefaultSystemManagedSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(110i32);
1750pub const WinAccountDomainAdminsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(41i32);
1751pub const WinAccountDomainGuestsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(43i32);
1752pub const WinAccountDomainUsersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(42i32);
1753pub const WinAccountEnterpriseAdminsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(48i32);
1754pub const WinAccountEnterpriseKeyAdminsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(114i32);
1755pub const WinAccountGuestSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(39i32);
1756pub const WinAccountKeyAdminsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(113i32);
1757pub const WinAccountKrbtgtSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(40i32);
1758pub const WinAccountPolicyAdminsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(49i32);
1759pub const WinAccountProtectedUsersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(107i32);
1760pub const WinAccountRasAndIasServersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(50i32);
1761pub const WinAccountReadonlyControllersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(75i32);
1762pub const WinAccountSchemaAdminsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(47i32);
1763pub const WinAnonymousSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(13i32);
1764pub const WinApplicationPackageAuthoritySid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(83i32);
1765pub const WinAuthenticatedUserSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(17i32);
1766pub const WinAuthenticationAuthorityAssertedSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(103i32);
1767pub const WinAuthenticationFreshKeyAuthSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(118i32);
1768pub const WinAuthenticationKeyPropertyAttestationSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(117i32);
1769pub const WinAuthenticationKeyPropertyMFASid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(116i32);
1770pub const WinAuthenticationKeyTrustSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(115i32);
1771pub const WinAuthenticationServiceAssertedSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(104i32);
1772pub const WinBatchSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(10i32);
1773pub const WinBuiltinAccessControlAssistanceOperatorsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(101i32);
1774pub const WinBuiltinAccountOperatorsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(30i32);
1775pub const WinBuiltinAdministratorsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(26i32);
1776pub const WinBuiltinAnyPackageSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(84i32);
1777pub const WinBuiltinAuthorizationAccessSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(59i32);
1778pub const WinBuiltinBackupOperatorsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(33i32);
1779pub const WinBuiltinCertSvcDComAccessGroup: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(78i32);
1780pub const WinBuiltinCryptoOperatorsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(64i32);
1781pub const WinBuiltinDCOMUsersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(61i32);
1782pub const WinBuiltinDefaultSystemManagedGroupSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(111i32);
1783pub const WinBuiltinDeviceOwnersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(119i32);
1784pub const WinBuiltinDomainSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(25i32);
1785pub const WinBuiltinEventLogReadersGroup: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(76i32);
1786pub const WinBuiltinGuestsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(28i32);
1787pub const WinBuiltinHyperVAdminsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(99i32);
1788pub const WinBuiltinIUsersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(62i32);
1789pub const WinBuiltinIncomingForestTrustBuildersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(56i32);
1790pub const WinBuiltinNetworkConfigurationOperatorsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(37i32);
1791pub const WinBuiltinPerfLoggingUsersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(58i32);
1792pub const WinBuiltinPerfMonitoringUsersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(57i32);
1793pub const WinBuiltinPowerUsersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(29i32);
1794pub const WinBuiltinPreWindows2000CompatibleAccessSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(35i32);
1795pub const WinBuiltinPrintOperatorsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(32i32);
1796pub const WinBuiltinRDSEndpointServersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(96i32);
1797pub const WinBuiltinRDSManagementServersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(97i32);
1798pub const WinBuiltinRDSRemoteAccessServersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(95i32);
1799pub const WinBuiltinRemoteDesktopUsersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(36i32);
1800pub const WinBuiltinRemoteManagementUsersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(102i32);
1801pub const WinBuiltinReplicatorSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(34i32);
1802pub const WinBuiltinStorageReplicaAdminsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(112i32);
1803pub const WinBuiltinSystemOperatorsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(31i32);
1804pub const WinBuiltinTerminalServerLicenseServersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(60i32);
1805pub const WinBuiltinUsersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(27i32);
1806pub const WinCacheablePrincipalsGroupSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(72i32);
1807pub const WinCapabilityAppointmentsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(108i32);
1808pub const WinCapabilityContactsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(109i32);
1809pub const WinCapabilityDocumentsLibrarySid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(91i32);
1810pub const WinCapabilityEnterpriseAuthenticationSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(93i32);
1811pub const WinCapabilityInternetClientServerSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(86i32);
1812pub const WinCapabilityInternetClientSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(85i32);
1813pub const WinCapabilityMusicLibrarySid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(90i32);
1814pub const WinCapabilityPicturesLibrarySid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(88i32);
1815pub const WinCapabilityPrivateNetworkClientServerSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(87i32);
1816pub const WinCapabilityRemovableStorageSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(94i32);
1817pub const WinCapabilitySharedUserCertificatesSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(92i32);
1818pub const WinCapabilityVideosLibrarySid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(89i32);
1819pub const WinConsoleLogonSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(81i32);
1820pub const WinCreatorGroupServerSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(6i32);
1821pub const WinCreatorGroupSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(4i32);
1822pub const WinCreatorOwnerRightsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(71i32);
1823pub const WinCreatorOwnerServerSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(5i32);
1824pub const WinCreatorOwnerSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(3i32);
1825pub const WinDialupSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(8i32);
1826pub const WinDigestAuthenticationSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(52i32);
1827pub const WinEnterpriseControllersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(15i32);
1828pub const WinEnterpriseReadonlyControllersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(74i32);
1829pub const WinHighLabelSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(68i32);
1830pub const WinIUserSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(63i32);
1831pub const WinInteractiveSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(11i32);
1832pub const WinLocalAccountAndAdministratorSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(106i32);
1833pub const WinLocalAccountSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(105i32);
1834pub const WinLocalLogonSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(80i32);
1835pub const WinLocalServiceSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(23i32);
1836pub const WinLocalSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(2i32);
1837pub const WinLocalSystemSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(22i32);
1838pub const WinLogonIdsSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(21i32);
1839pub const WinLowLabelSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(66i32);
1840pub const WinMediumLabelSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(67i32);
1841pub const WinMediumPlusLabelSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(79i32);
1842pub const WinNTLMAuthenticationSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(51i32);
1843pub const WinNetworkServiceSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(24i32);
1844pub const WinNetworkSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(9i32);
1845pub const WinNewEnterpriseReadonlyControllersSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(77i32);
1846pub const WinNonCacheablePrincipalsGroupSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(73i32);
1847pub const WinNtAuthoritySid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(7i32);
1848pub const WinNullSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(0i32);
1849pub const WinOtherOrganizationSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(55i32);
1850pub const WinProxySid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(14i32);
1851pub const WinRemoteLogonIdSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(20i32);
1852pub const WinRestrictedCodeSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(18i32);
1853pub const WinSChannelAuthenticationSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(53i32);
1854pub const WinSelfSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(16i32);
1855pub const WinServiceSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(12i32);
1856pub const WinSystemLabelSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(69i32);
1857pub const WinTerminalServerSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(19i32);
1858pub const WinThisOrganizationCertificateSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(82i32);
1859pub const WinThisOrganizationSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(54i32);
1860pub const WinUntrustedLabelSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(65i32);
1861pub const WinUserModeDriversSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(98i32);
1862pub const WinWorldSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(1i32);
1863pub const WinWriteRestrictedCodeSid: WELL_KNOWN_SID_TYPE = WELL_KNOWN_SID_TYPE(70i32);
1864pub const cwcFILENAMESUFFIXMAX: u32 = 20u32;
1865pub const cwcHRESULTSTRING: u32 = 40u32;
1866pub const szLBRACE: ::windows_core::PCSTR = ::windows_core::s!("{");
1867pub const szLPAREN: ::windows_core::PCSTR = ::windows_core::s!("(");
1868pub const szRBRACE: ::windows_core::PCSTR = ::windows_core::s!("}");
1869pub const szRPAREN: ::windows_core::PCSTR = ::windows_core::s!(")");
1870pub const wszCERTENROLLSHAREPATH: ::windows_core::PCWSTR = ::windows_core::w!("CertSrv\\CertEnroll");
1871pub const wszFCSAPARM_CERTFILENAMESUFFIX: ::windows_core::PCWSTR = ::windows_core::w!("%4");
1872pub const wszFCSAPARM_CONFIGDN: ::windows_core::PCWSTR = ::windows_core::w!("%6");
1873pub const wszFCSAPARM_CRLDELTAFILENAMESUFFIX: ::windows_core::PCWSTR = ::windows_core::w!("%9");
1874pub const wszFCSAPARM_CRLFILENAMESUFFIX: ::windows_core::PCWSTR = ::windows_core::w!("%8");
1875pub const wszFCSAPARM_DOMAINDN: ::windows_core::PCWSTR = ::windows_core::w!("%5");
1876pub const wszFCSAPARM_DSCACERTATTRIBUTE: ::windows_core::PCWSTR = ::windows_core::w!("%11");
1877pub const wszFCSAPARM_DSCRLATTRIBUTE: ::windows_core::PCWSTR = ::windows_core::w!("%10");
1878pub const wszFCSAPARM_DSCROSSCERTPAIRATTRIBUTE: ::windows_core::PCWSTR = ::windows_core::w!("%14");
1879pub const wszFCSAPARM_DSKRACERTATTRIBUTE: ::windows_core::PCWSTR = ::windows_core::w!("%13");
1880pub const wszFCSAPARM_DSUSERCERTATTRIBUTE: ::windows_core::PCWSTR = ::windows_core::w!("%12");
1881pub const wszFCSAPARM_SANITIZEDCANAME: ::windows_core::PCWSTR = ::windows_core::w!("%3");
1882pub const wszFCSAPARM_SANITIZEDCANAMEHASH: ::windows_core::PCWSTR = ::windows_core::w!("%7");
1883pub const wszFCSAPARM_SERVERDNSNAME: ::windows_core::PCWSTR = ::windows_core::w!("%1");
1884pub const wszFCSAPARM_SERVERSHORTNAME: ::windows_core::PCWSTR = ::windows_core::w!("%2");
1885pub const wszLBRACE: ::windows_core::PCWSTR = ::windows_core::w!("{");
1886pub const wszLPAREN: ::windows_core::PCWSTR = ::windows_core::w!("(");
1887pub const wszRBRACE: ::windows_core::PCWSTR = ::windows_core::w!("}");
1888pub const wszRPAREN: ::windows_core::PCWSTR = ::windows_core::w!(")");
1889#[repr(transparent)]
1890#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1891pub struct ACE_FLAGS(pub u32);
1892impl ::core::marker::Copy for ACE_FLAGS {}
1893impl ::core::clone::Clone for ACE_FLAGS {
1894 fn clone(&self) -> Self {
1895 *self
1896 }
1897}
1898impl ::core::default::Default for ACE_FLAGS {
1899 fn default() -> Self {
1900 Self(0)
1901 }
1902}
1903impl ::windows_core::TypeKind for ACE_FLAGS {
1904 type TypeKind = ::windows_core::CopyType;
1905}
1906impl ::core::fmt::Debug for ACE_FLAGS {
1907 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1908 f.debug_tuple(name:"ACE_FLAGS").field(&self.0).finish()
1909 }
1910}
1911impl ACE_FLAGS {
1912 pub const fn contains(&self, other: Self) -> bool {
1913 self.0 & other.0 == other.0
1914 }
1915}
1916impl ::core::ops::BitOr for ACE_FLAGS {
1917 type Output = Self;
1918 fn bitor(self, other: Self) -> Self {
1919 Self(self.0 | other.0)
1920 }
1921}
1922impl ::core::ops::BitAnd for ACE_FLAGS {
1923 type Output = Self;
1924 fn bitand(self, other: Self) -> Self {
1925 Self(self.0 & other.0)
1926 }
1927}
1928impl ::core::ops::BitOrAssign for ACE_FLAGS {
1929 fn bitor_assign(&mut self, other: Self) {
1930 self.0.bitor_assign(other.0)
1931 }
1932}
1933impl ::core::ops::BitAndAssign for ACE_FLAGS {
1934 fn bitand_assign(&mut self, other: Self) {
1935 self.0.bitand_assign(other.0)
1936 }
1937}
1938impl ::core::ops::Not for ACE_FLAGS {
1939 type Output = Self;
1940 fn not(self) -> Self {
1941 Self(self.0.not())
1942 }
1943}
1944#[repr(transparent)]
1945#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1946pub struct ACE_REVISION(pub u32);
1947impl ::core::marker::Copy for ACE_REVISION {}
1948impl ::core::clone::Clone for ACE_REVISION {
1949 fn clone(&self) -> Self {
1950 *self
1951 }
1952}
1953impl ::core::default::Default for ACE_REVISION {
1954 fn default() -> Self {
1955 Self(0)
1956 }
1957}
1958impl ::windows_core::TypeKind for ACE_REVISION {
1959 type TypeKind = ::windows_core::CopyType;
1960}
1961impl ::core::fmt::Debug for ACE_REVISION {
1962 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1963 f.debug_tuple(name:"ACE_REVISION").field(&self.0).finish()
1964 }
1965}
1966#[repr(transparent)]
1967#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1968pub struct ACL_INFORMATION_CLASS(pub i32);
1969impl ::core::marker::Copy for ACL_INFORMATION_CLASS {}
1970impl ::core::clone::Clone for ACL_INFORMATION_CLASS {
1971 fn clone(&self) -> Self {
1972 *self
1973 }
1974}
1975impl ::core::default::Default for ACL_INFORMATION_CLASS {
1976 fn default() -> Self {
1977 Self(0)
1978 }
1979}
1980impl ::windows_core::TypeKind for ACL_INFORMATION_CLASS {
1981 type TypeKind = ::windows_core::CopyType;
1982}
1983impl ::core::fmt::Debug for ACL_INFORMATION_CLASS {
1984 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1985 f.debug_tuple(name:"ACL_INFORMATION_CLASS").field(&self.0).finish()
1986 }
1987}
1988#[repr(transparent)]
1989#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1990pub struct AUDIT_EVENT_TYPE(pub i32);
1991impl ::core::marker::Copy for AUDIT_EVENT_TYPE {}
1992impl ::core::clone::Clone for AUDIT_EVENT_TYPE {
1993 fn clone(&self) -> Self {
1994 *self
1995 }
1996}
1997impl ::core::default::Default for AUDIT_EVENT_TYPE {
1998 fn default() -> Self {
1999 Self(0)
2000 }
2001}
2002impl ::windows_core::TypeKind for AUDIT_EVENT_TYPE {
2003 type TypeKind = ::windows_core::CopyType;
2004}
2005impl ::core::fmt::Debug for AUDIT_EVENT_TYPE {
2006 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2007 f.debug_tuple(name:"AUDIT_EVENT_TYPE").field(&self.0).finish()
2008 }
2009}
2010#[repr(transparent)]
2011#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2012pub struct CLAIM_SECURITY_ATTRIBUTE_FLAGS(pub u32);
2013impl ::core::marker::Copy for CLAIM_SECURITY_ATTRIBUTE_FLAGS {}
2014impl ::core::clone::Clone for CLAIM_SECURITY_ATTRIBUTE_FLAGS {
2015 fn clone(&self) -> Self {
2016 *self
2017 }
2018}
2019impl ::core::default::Default for CLAIM_SECURITY_ATTRIBUTE_FLAGS {
2020 fn default() -> Self {
2021 Self(0)
2022 }
2023}
2024impl ::windows_core::TypeKind for CLAIM_SECURITY_ATTRIBUTE_FLAGS {
2025 type TypeKind = ::windows_core::CopyType;
2026}
2027impl ::core::fmt::Debug for CLAIM_SECURITY_ATTRIBUTE_FLAGS {
2028 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2029 f.debug_tuple(name:"CLAIM_SECURITY_ATTRIBUTE_FLAGS").field(&self.0).finish()
2030 }
2031}
2032impl CLAIM_SECURITY_ATTRIBUTE_FLAGS {
2033 pub const fn contains(&self, other: Self) -> bool {
2034 self.0 & other.0 == other.0
2035 }
2036}
2037impl ::core::ops::BitOr for CLAIM_SECURITY_ATTRIBUTE_FLAGS {
2038 type Output = Self;
2039 fn bitor(self, other: Self) -> Self {
2040 Self(self.0 | other.0)
2041 }
2042}
2043impl ::core::ops::BitAnd for CLAIM_SECURITY_ATTRIBUTE_FLAGS {
2044 type Output = Self;
2045 fn bitand(self, other: Self) -> Self {
2046 Self(self.0 & other.0)
2047 }
2048}
2049impl ::core::ops::BitOrAssign for CLAIM_SECURITY_ATTRIBUTE_FLAGS {
2050 fn bitor_assign(&mut self, other: Self) {
2051 self.0.bitor_assign(other.0)
2052 }
2053}
2054impl ::core::ops::BitAndAssign for CLAIM_SECURITY_ATTRIBUTE_FLAGS {
2055 fn bitand_assign(&mut self, other: Self) {
2056 self.0.bitand_assign(other.0)
2057 }
2058}
2059impl ::core::ops::Not for CLAIM_SECURITY_ATTRIBUTE_FLAGS {
2060 type Output = Self;
2061 fn not(self) -> Self {
2062 Self(self.0.not())
2063 }
2064}
2065#[repr(transparent)]
2066#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2067pub struct CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE(pub u16);
2068impl ::core::marker::Copy for CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE {}
2069impl ::core::clone::Clone for CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE {
2070 fn clone(&self) -> Self {
2071 *self
2072 }
2073}
2074impl ::core::default::Default for CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE {
2075 fn default() -> Self {
2076 Self(0)
2077 }
2078}
2079impl ::windows_core::TypeKind for CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE {
2080 type TypeKind = ::windows_core::CopyType;
2081}
2082impl ::core::fmt::Debug for CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE {
2083 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2084 f.debug_tuple(name:"CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE").field(&self.0).finish()
2085 }
2086}
2087#[repr(transparent)]
2088#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2089pub struct CREATE_RESTRICTED_TOKEN_FLAGS(pub u32);
2090impl ::core::marker::Copy for CREATE_RESTRICTED_TOKEN_FLAGS {}
2091impl ::core::clone::Clone for CREATE_RESTRICTED_TOKEN_FLAGS {
2092 fn clone(&self) -> Self {
2093 *self
2094 }
2095}
2096impl ::core::default::Default for CREATE_RESTRICTED_TOKEN_FLAGS {
2097 fn default() -> Self {
2098 Self(0)
2099 }
2100}
2101impl ::windows_core::TypeKind for CREATE_RESTRICTED_TOKEN_FLAGS {
2102 type TypeKind = ::windows_core::CopyType;
2103}
2104impl ::core::fmt::Debug for CREATE_RESTRICTED_TOKEN_FLAGS {
2105 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2106 f.debug_tuple(name:"CREATE_RESTRICTED_TOKEN_FLAGS").field(&self.0).finish()
2107 }
2108}
2109impl CREATE_RESTRICTED_TOKEN_FLAGS {
2110 pub const fn contains(&self, other: Self) -> bool {
2111 self.0 & other.0 == other.0
2112 }
2113}
2114impl ::core::ops::BitOr for CREATE_RESTRICTED_TOKEN_FLAGS {
2115 type Output = Self;
2116 fn bitor(self, other: Self) -> Self {
2117 Self(self.0 | other.0)
2118 }
2119}
2120impl ::core::ops::BitAnd for CREATE_RESTRICTED_TOKEN_FLAGS {
2121 type Output = Self;
2122 fn bitand(self, other: Self) -> Self {
2123 Self(self.0 & other.0)
2124 }
2125}
2126impl ::core::ops::BitOrAssign for CREATE_RESTRICTED_TOKEN_FLAGS {
2127 fn bitor_assign(&mut self, other: Self) {
2128 self.0.bitor_assign(other.0)
2129 }
2130}
2131impl ::core::ops::BitAndAssign for CREATE_RESTRICTED_TOKEN_FLAGS {
2132 fn bitand_assign(&mut self, other: Self) {
2133 self.0.bitand_assign(other.0)
2134 }
2135}
2136impl ::core::ops::Not for CREATE_RESTRICTED_TOKEN_FLAGS {
2137 type Output = Self;
2138 fn not(self) -> Self {
2139 Self(self.0.not())
2140 }
2141}
2142#[repr(transparent)]
2143#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2144pub struct ENUM_PERIOD(pub i32);
2145impl ::core::marker::Copy for ENUM_PERIOD {}
2146impl ::core::clone::Clone for ENUM_PERIOD {
2147 fn clone(&self) -> Self {
2148 *self
2149 }
2150}
2151impl ::core::default::Default for ENUM_PERIOD {
2152 fn default() -> Self {
2153 Self(0)
2154 }
2155}
2156impl ::windows_core::TypeKind for ENUM_PERIOD {
2157 type TypeKind = ::windows_core::CopyType;
2158}
2159impl ::core::fmt::Debug for ENUM_PERIOD {
2160 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2161 f.debug_tuple(name:"ENUM_PERIOD").field(&self.0).finish()
2162 }
2163}
2164#[repr(transparent)]
2165#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2166pub struct LOGON32_LOGON(pub u32);
2167impl ::core::marker::Copy for LOGON32_LOGON {}
2168impl ::core::clone::Clone for LOGON32_LOGON {
2169 fn clone(&self) -> Self {
2170 *self
2171 }
2172}
2173impl ::core::default::Default for LOGON32_LOGON {
2174 fn default() -> Self {
2175 Self(0)
2176 }
2177}
2178impl ::windows_core::TypeKind for LOGON32_LOGON {
2179 type TypeKind = ::windows_core::CopyType;
2180}
2181impl ::core::fmt::Debug for LOGON32_LOGON {
2182 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2183 f.debug_tuple(name:"LOGON32_LOGON").field(&self.0).finish()
2184 }
2185}
2186#[repr(transparent)]
2187#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2188pub struct LOGON32_PROVIDER(pub u32);
2189impl ::core::marker::Copy for LOGON32_PROVIDER {}
2190impl ::core::clone::Clone for LOGON32_PROVIDER {
2191 fn clone(&self) -> Self {
2192 *self
2193 }
2194}
2195impl ::core::default::Default for LOGON32_PROVIDER {
2196 fn default() -> Self {
2197 Self(0)
2198 }
2199}
2200impl ::windows_core::TypeKind for LOGON32_PROVIDER {
2201 type TypeKind = ::windows_core::CopyType;
2202}
2203impl ::core::fmt::Debug for LOGON32_PROVIDER {
2204 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2205 f.debug_tuple(name:"LOGON32_PROVIDER").field(&self.0).finish()
2206 }
2207}
2208#[repr(transparent)]
2209#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2210pub struct MANDATORY_LEVEL(pub i32);
2211impl ::core::marker::Copy for MANDATORY_LEVEL {}
2212impl ::core::clone::Clone for MANDATORY_LEVEL {
2213 fn clone(&self) -> Self {
2214 *self
2215 }
2216}
2217impl ::core::default::Default for MANDATORY_LEVEL {
2218 fn default() -> Self {
2219 Self(0)
2220 }
2221}
2222impl ::windows_core::TypeKind for MANDATORY_LEVEL {
2223 type TypeKind = ::windows_core::CopyType;
2224}
2225impl ::core::fmt::Debug for MANDATORY_LEVEL {
2226 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2227 f.debug_tuple(name:"MANDATORY_LEVEL").field(&self.0).finish()
2228 }
2229}
2230#[repr(transparent)]
2231#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2232pub struct OBJECT_SECURITY_INFORMATION(pub u32);
2233impl ::core::marker::Copy for OBJECT_SECURITY_INFORMATION {}
2234impl ::core::clone::Clone for OBJECT_SECURITY_INFORMATION {
2235 fn clone(&self) -> Self {
2236 *self
2237 }
2238}
2239impl ::core::default::Default for OBJECT_SECURITY_INFORMATION {
2240 fn default() -> Self {
2241 Self(0)
2242 }
2243}
2244impl ::windows_core::TypeKind for OBJECT_SECURITY_INFORMATION {
2245 type TypeKind = ::windows_core::CopyType;
2246}
2247impl ::core::fmt::Debug for OBJECT_SECURITY_INFORMATION {
2248 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2249 f.debug_tuple(name:"OBJECT_SECURITY_INFORMATION").field(&self.0).finish()
2250 }
2251}
2252impl OBJECT_SECURITY_INFORMATION {
2253 pub const fn contains(&self, other: Self) -> bool {
2254 self.0 & other.0 == other.0
2255 }
2256}
2257impl ::core::ops::BitOr for OBJECT_SECURITY_INFORMATION {
2258 type Output = Self;
2259 fn bitor(self, other: Self) -> Self {
2260 Self(self.0 | other.0)
2261 }
2262}
2263impl ::core::ops::BitAnd for OBJECT_SECURITY_INFORMATION {
2264 type Output = Self;
2265 fn bitand(self, other: Self) -> Self {
2266 Self(self.0 & other.0)
2267 }
2268}
2269impl ::core::ops::BitOrAssign for OBJECT_SECURITY_INFORMATION {
2270 fn bitor_assign(&mut self, other: Self) {
2271 self.0.bitor_assign(other.0)
2272 }
2273}
2274impl ::core::ops::BitAndAssign for OBJECT_SECURITY_INFORMATION {
2275 fn bitand_assign(&mut self, other: Self) {
2276 self.0.bitand_assign(other.0)
2277 }
2278}
2279impl ::core::ops::Not for OBJECT_SECURITY_INFORMATION {
2280 type Output = Self;
2281 fn not(self) -> Self {
2282 Self(self.0.not())
2283 }
2284}
2285#[repr(transparent)]
2286#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2287pub struct SECURITY_AUTO_INHERIT_FLAGS(pub u32);
2288impl ::core::marker::Copy for SECURITY_AUTO_INHERIT_FLAGS {}
2289impl ::core::clone::Clone for SECURITY_AUTO_INHERIT_FLAGS {
2290 fn clone(&self) -> Self {
2291 *self
2292 }
2293}
2294impl ::core::default::Default for SECURITY_AUTO_INHERIT_FLAGS {
2295 fn default() -> Self {
2296 Self(0)
2297 }
2298}
2299impl ::windows_core::TypeKind for SECURITY_AUTO_INHERIT_FLAGS {
2300 type TypeKind = ::windows_core::CopyType;
2301}
2302impl ::core::fmt::Debug for SECURITY_AUTO_INHERIT_FLAGS {
2303 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2304 f.debug_tuple(name:"SECURITY_AUTO_INHERIT_FLAGS").field(&self.0).finish()
2305 }
2306}
2307impl SECURITY_AUTO_INHERIT_FLAGS {
2308 pub const fn contains(&self, other: Self) -> bool {
2309 self.0 & other.0 == other.0
2310 }
2311}
2312impl ::core::ops::BitOr for SECURITY_AUTO_INHERIT_FLAGS {
2313 type Output = Self;
2314 fn bitor(self, other: Self) -> Self {
2315 Self(self.0 | other.0)
2316 }
2317}
2318impl ::core::ops::BitAnd for SECURITY_AUTO_INHERIT_FLAGS {
2319 type Output = Self;
2320 fn bitand(self, other: Self) -> Self {
2321 Self(self.0 & other.0)
2322 }
2323}
2324impl ::core::ops::BitOrAssign for SECURITY_AUTO_INHERIT_FLAGS {
2325 fn bitor_assign(&mut self, other: Self) {
2326 self.0.bitor_assign(other.0)
2327 }
2328}
2329impl ::core::ops::BitAndAssign for SECURITY_AUTO_INHERIT_FLAGS {
2330 fn bitand_assign(&mut self, other: Self) {
2331 self.0.bitand_assign(other.0)
2332 }
2333}
2334impl ::core::ops::Not for SECURITY_AUTO_INHERIT_FLAGS {
2335 type Output = Self;
2336 fn not(self) -> Self {
2337 Self(self.0.not())
2338 }
2339}
2340#[repr(transparent)]
2341#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2342pub struct SECURITY_DESCRIPTOR_CONTROL(pub u16);
2343impl ::core::marker::Copy for SECURITY_DESCRIPTOR_CONTROL {}
2344impl ::core::clone::Clone for SECURITY_DESCRIPTOR_CONTROL {
2345 fn clone(&self) -> Self {
2346 *self
2347 }
2348}
2349impl ::core::default::Default for SECURITY_DESCRIPTOR_CONTROL {
2350 fn default() -> Self {
2351 Self(0)
2352 }
2353}
2354impl ::windows_core::TypeKind for SECURITY_DESCRIPTOR_CONTROL {
2355 type TypeKind = ::windows_core::CopyType;
2356}
2357impl ::core::fmt::Debug for SECURITY_DESCRIPTOR_CONTROL {
2358 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2359 f.debug_tuple(name:"SECURITY_DESCRIPTOR_CONTROL").field(&self.0).finish()
2360 }
2361}
2362impl SECURITY_DESCRIPTOR_CONTROL {
2363 pub const fn contains(&self, other: Self) -> bool {
2364 self.0 & other.0 == other.0
2365 }
2366}
2367impl ::core::ops::BitOr for SECURITY_DESCRIPTOR_CONTROL {
2368 type Output = Self;
2369 fn bitor(self, other: Self) -> Self {
2370 Self(self.0 | other.0)
2371 }
2372}
2373impl ::core::ops::BitAnd for SECURITY_DESCRIPTOR_CONTROL {
2374 type Output = Self;
2375 fn bitand(self, other: Self) -> Self {
2376 Self(self.0 & other.0)
2377 }
2378}
2379impl ::core::ops::BitOrAssign for SECURITY_DESCRIPTOR_CONTROL {
2380 fn bitor_assign(&mut self, other: Self) {
2381 self.0.bitor_assign(other.0)
2382 }
2383}
2384impl ::core::ops::BitAndAssign for SECURITY_DESCRIPTOR_CONTROL {
2385 fn bitand_assign(&mut self, other: Self) {
2386 self.0.bitand_assign(other.0)
2387 }
2388}
2389impl ::core::ops::Not for SECURITY_DESCRIPTOR_CONTROL {
2390 type Output = Self;
2391 fn not(self) -> Self {
2392 Self(self.0.not())
2393 }
2394}
2395#[repr(transparent)]
2396#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2397pub struct SECURITY_IMPERSONATION_LEVEL(pub i32);
2398impl ::core::marker::Copy for SECURITY_IMPERSONATION_LEVEL {}
2399impl ::core::clone::Clone for SECURITY_IMPERSONATION_LEVEL {
2400 fn clone(&self) -> Self {
2401 *self
2402 }
2403}
2404impl ::core::default::Default for SECURITY_IMPERSONATION_LEVEL {
2405 fn default() -> Self {
2406 Self(0)
2407 }
2408}
2409impl ::windows_core::TypeKind for SECURITY_IMPERSONATION_LEVEL {
2410 type TypeKind = ::windows_core::CopyType;
2411}
2412impl ::core::fmt::Debug for SECURITY_IMPERSONATION_LEVEL {
2413 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2414 f.debug_tuple(name:"SECURITY_IMPERSONATION_LEVEL").field(&self.0).finish()
2415 }
2416}
2417#[repr(transparent)]
2418#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2419pub struct SID_NAME_USE(pub i32);
2420impl ::core::marker::Copy for SID_NAME_USE {}
2421impl ::core::clone::Clone for SID_NAME_USE {
2422 fn clone(&self) -> Self {
2423 *self
2424 }
2425}
2426impl ::core::default::Default for SID_NAME_USE {
2427 fn default() -> Self {
2428 Self(0)
2429 }
2430}
2431impl ::windows_core::TypeKind for SID_NAME_USE {
2432 type TypeKind = ::windows_core::CopyType;
2433}
2434impl ::core::fmt::Debug for SID_NAME_USE {
2435 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2436 f.debug_tuple(name:"SID_NAME_USE").field(&self.0).finish()
2437 }
2438}
2439#[repr(transparent)]
2440#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2441pub struct SYSTEM_AUDIT_OBJECT_ACE_FLAGS(pub u32);
2442impl ::core::marker::Copy for SYSTEM_AUDIT_OBJECT_ACE_FLAGS {}
2443impl ::core::clone::Clone for SYSTEM_AUDIT_OBJECT_ACE_FLAGS {
2444 fn clone(&self) -> Self {
2445 *self
2446 }
2447}
2448impl ::core::default::Default for SYSTEM_AUDIT_OBJECT_ACE_FLAGS {
2449 fn default() -> Self {
2450 Self(0)
2451 }
2452}
2453impl ::windows_core::TypeKind for SYSTEM_AUDIT_OBJECT_ACE_FLAGS {
2454 type TypeKind = ::windows_core::CopyType;
2455}
2456impl ::core::fmt::Debug for SYSTEM_AUDIT_OBJECT_ACE_FLAGS {
2457 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2458 f.debug_tuple(name:"SYSTEM_AUDIT_OBJECT_ACE_FLAGS").field(&self.0).finish()
2459 }
2460}
2461impl SYSTEM_AUDIT_OBJECT_ACE_FLAGS {
2462 pub const fn contains(&self, other: Self) -> bool {
2463 self.0 & other.0 == other.0
2464 }
2465}
2466impl ::core::ops::BitOr for SYSTEM_AUDIT_OBJECT_ACE_FLAGS {
2467 type Output = Self;
2468 fn bitor(self, other: Self) -> Self {
2469 Self(self.0 | other.0)
2470 }
2471}
2472impl ::core::ops::BitAnd for SYSTEM_AUDIT_OBJECT_ACE_FLAGS {
2473 type Output = Self;
2474 fn bitand(self, other: Self) -> Self {
2475 Self(self.0 & other.0)
2476 }
2477}
2478impl ::core::ops::BitOrAssign for SYSTEM_AUDIT_OBJECT_ACE_FLAGS {
2479 fn bitor_assign(&mut self, other: Self) {
2480 self.0.bitor_assign(other.0)
2481 }
2482}
2483impl ::core::ops::BitAndAssign for SYSTEM_AUDIT_OBJECT_ACE_FLAGS {
2484 fn bitand_assign(&mut self, other: Self) {
2485 self.0.bitand_assign(other.0)
2486 }
2487}
2488impl ::core::ops::Not for SYSTEM_AUDIT_OBJECT_ACE_FLAGS {
2489 type Output = Self;
2490 fn not(self) -> Self {
2491 Self(self.0.not())
2492 }
2493}
2494#[repr(transparent)]
2495#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2496pub struct TOKEN_ACCESS_MASK(pub u32);
2497impl ::core::marker::Copy for TOKEN_ACCESS_MASK {}
2498impl ::core::clone::Clone for TOKEN_ACCESS_MASK {
2499 fn clone(&self) -> Self {
2500 *self
2501 }
2502}
2503impl ::core::default::Default for TOKEN_ACCESS_MASK {
2504 fn default() -> Self {
2505 Self(0)
2506 }
2507}
2508impl ::windows_core::TypeKind for TOKEN_ACCESS_MASK {
2509 type TypeKind = ::windows_core::CopyType;
2510}
2511impl ::core::fmt::Debug for TOKEN_ACCESS_MASK {
2512 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2513 f.debug_tuple(name:"TOKEN_ACCESS_MASK").field(&self.0).finish()
2514 }
2515}
2516impl TOKEN_ACCESS_MASK {
2517 pub const fn contains(&self, other: Self) -> bool {
2518 self.0 & other.0 == other.0
2519 }
2520}
2521impl ::core::ops::BitOr for TOKEN_ACCESS_MASK {
2522 type Output = Self;
2523 fn bitor(self, other: Self) -> Self {
2524 Self(self.0 | other.0)
2525 }
2526}
2527impl ::core::ops::BitAnd for TOKEN_ACCESS_MASK {
2528 type Output = Self;
2529 fn bitand(self, other: Self) -> Self {
2530 Self(self.0 & other.0)
2531 }
2532}
2533impl ::core::ops::BitOrAssign for TOKEN_ACCESS_MASK {
2534 fn bitor_assign(&mut self, other: Self) {
2535 self.0.bitor_assign(other.0)
2536 }
2537}
2538impl ::core::ops::BitAndAssign for TOKEN_ACCESS_MASK {
2539 fn bitand_assign(&mut self, other: Self) {
2540 self.0.bitand_assign(other.0)
2541 }
2542}
2543impl ::core::ops::Not for TOKEN_ACCESS_MASK {
2544 type Output = Self;
2545 fn not(self) -> Self {
2546 Self(self.0.not())
2547 }
2548}
2549#[repr(transparent)]
2550#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2551pub struct TOKEN_ELEVATION_TYPE(pub i32);
2552impl ::core::marker::Copy for TOKEN_ELEVATION_TYPE {}
2553impl ::core::clone::Clone for TOKEN_ELEVATION_TYPE {
2554 fn clone(&self) -> Self {
2555 *self
2556 }
2557}
2558impl ::core::default::Default for TOKEN_ELEVATION_TYPE {
2559 fn default() -> Self {
2560 Self(0)
2561 }
2562}
2563impl ::windows_core::TypeKind for TOKEN_ELEVATION_TYPE {
2564 type TypeKind = ::windows_core::CopyType;
2565}
2566impl ::core::fmt::Debug for TOKEN_ELEVATION_TYPE {
2567 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2568 f.debug_tuple(name:"TOKEN_ELEVATION_TYPE").field(&self.0).finish()
2569 }
2570}
2571#[repr(transparent)]
2572#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2573pub struct TOKEN_INFORMATION_CLASS(pub i32);
2574impl ::core::marker::Copy for TOKEN_INFORMATION_CLASS {}
2575impl ::core::clone::Clone for TOKEN_INFORMATION_CLASS {
2576 fn clone(&self) -> Self {
2577 *self
2578 }
2579}
2580impl ::core::default::Default for TOKEN_INFORMATION_CLASS {
2581 fn default() -> Self {
2582 Self(0)
2583 }
2584}
2585impl ::windows_core::TypeKind for TOKEN_INFORMATION_CLASS {
2586 type TypeKind = ::windows_core::CopyType;
2587}
2588impl ::core::fmt::Debug for TOKEN_INFORMATION_CLASS {
2589 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2590 f.debug_tuple(name:"TOKEN_INFORMATION_CLASS").field(&self.0).finish()
2591 }
2592}
2593#[repr(transparent)]
2594#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2595pub struct TOKEN_MANDATORY_POLICY_ID(pub u32);
2596impl ::core::marker::Copy for TOKEN_MANDATORY_POLICY_ID {}
2597impl ::core::clone::Clone for TOKEN_MANDATORY_POLICY_ID {
2598 fn clone(&self) -> Self {
2599 *self
2600 }
2601}
2602impl ::core::default::Default for TOKEN_MANDATORY_POLICY_ID {
2603 fn default() -> Self {
2604 Self(0)
2605 }
2606}
2607impl ::windows_core::TypeKind for TOKEN_MANDATORY_POLICY_ID {
2608 type TypeKind = ::windows_core::CopyType;
2609}
2610impl ::core::fmt::Debug for TOKEN_MANDATORY_POLICY_ID {
2611 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2612 f.debug_tuple(name:"TOKEN_MANDATORY_POLICY_ID").field(&self.0).finish()
2613 }
2614}
2615#[repr(transparent)]
2616#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2617pub struct TOKEN_PRIVILEGES_ATTRIBUTES(pub u32);
2618impl ::core::marker::Copy for TOKEN_PRIVILEGES_ATTRIBUTES {}
2619impl ::core::clone::Clone for TOKEN_PRIVILEGES_ATTRIBUTES {
2620 fn clone(&self) -> Self {
2621 *self
2622 }
2623}
2624impl ::core::default::Default for TOKEN_PRIVILEGES_ATTRIBUTES {
2625 fn default() -> Self {
2626 Self(0)
2627 }
2628}
2629impl ::windows_core::TypeKind for TOKEN_PRIVILEGES_ATTRIBUTES {
2630 type TypeKind = ::windows_core::CopyType;
2631}
2632impl ::core::fmt::Debug for TOKEN_PRIVILEGES_ATTRIBUTES {
2633 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2634 f.debug_tuple(name:"TOKEN_PRIVILEGES_ATTRIBUTES").field(&self.0).finish()
2635 }
2636}
2637impl TOKEN_PRIVILEGES_ATTRIBUTES {
2638 pub const fn contains(&self, other: Self) -> bool {
2639 self.0 & other.0 == other.0
2640 }
2641}
2642impl ::core::ops::BitOr for TOKEN_PRIVILEGES_ATTRIBUTES {
2643 type Output = Self;
2644 fn bitor(self, other: Self) -> Self {
2645 Self(self.0 | other.0)
2646 }
2647}
2648impl ::core::ops::BitAnd for TOKEN_PRIVILEGES_ATTRIBUTES {
2649 type Output = Self;
2650 fn bitand(self, other: Self) -> Self {
2651 Self(self.0 & other.0)
2652 }
2653}
2654impl ::core::ops::BitOrAssign for TOKEN_PRIVILEGES_ATTRIBUTES {
2655 fn bitor_assign(&mut self, other: Self) {
2656 self.0.bitor_assign(other.0)
2657 }
2658}
2659impl ::core::ops::BitAndAssign for TOKEN_PRIVILEGES_ATTRIBUTES {
2660 fn bitand_assign(&mut self, other: Self) {
2661 self.0.bitand_assign(other.0)
2662 }
2663}
2664impl ::core::ops::Not for TOKEN_PRIVILEGES_ATTRIBUTES {
2665 type Output = Self;
2666 fn not(self) -> Self {
2667 Self(self.0.not())
2668 }
2669}
2670#[repr(transparent)]
2671#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2672pub struct TOKEN_TYPE(pub i32);
2673impl ::core::marker::Copy for TOKEN_TYPE {}
2674impl ::core::clone::Clone for TOKEN_TYPE {
2675 fn clone(&self) -> Self {
2676 *self
2677 }
2678}
2679impl ::core::default::Default for TOKEN_TYPE {
2680 fn default() -> Self {
2681 Self(0)
2682 }
2683}
2684impl ::windows_core::TypeKind for TOKEN_TYPE {
2685 type TypeKind = ::windows_core::CopyType;
2686}
2687impl ::core::fmt::Debug for TOKEN_TYPE {
2688 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2689 f.debug_tuple(name:"TOKEN_TYPE").field(&self.0).finish()
2690 }
2691}
2692#[repr(transparent)]
2693#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2694pub struct WELL_KNOWN_SID_TYPE(pub i32);
2695impl ::core::marker::Copy for WELL_KNOWN_SID_TYPE {}
2696impl ::core::clone::Clone for WELL_KNOWN_SID_TYPE {
2697 fn clone(&self) -> Self {
2698 *self
2699 }
2700}
2701impl ::core::default::Default for WELL_KNOWN_SID_TYPE {
2702 fn default() -> Self {
2703 Self(0)
2704 }
2705}
2706impl ::windows_core::TypeKind for WELL_KNOWN_SID_TYPE {
2707 type TypeKind = ::windows_core::CopyType;
2708}
2709impl ::core::fmt::Debug for WELL_KNOWN_SID_TYPE {
2710 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2711 f.debug_tuple(name:"WELL_KNOWN_SID_TYPE").field(&self.0).finish()
2712 }
2713}
2714#[repr(C)]
2715pub struct ACCESS_ALLOWED_ACE {
2716 pub Header: ACE_HEADER,
2717 pub Mask: u32,
2718 pub SidStart: u32,
2719}
2720impl ::core::marker::Copy for ACCESS_ALLOWED_ACE {}
2721impl ::core::clone::Clone for ACCESS_ALLOWED_ACE {
2722 fn clone(&self) -> Self {
2723 *self
2724 }
2725}
2726impl ::core::fmt::Debug for ACCESS_ALLOWED_ACE {
2727 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2728 f.debug_struct("ACCESS_ALLOWED_ACE").field("Header", &self.Header).field("Mask", &self.Mask).field(name:"SidStart", &self.SidStart).finish()
2729 }
2730}
2731impl ::windows_core::TypeKind for ACCESS_ALLOWED_ACE {
2732 type TypeKind = ::windows_core::CopyType;
2733}
2734impl ::core::cmp::PartialEq for ACCESS_ALLOWED_ACE {
2735 fn eq(&self, other: &Self) -> bool {
2736 self.Header == other.Header && self.Mask == other.Mask && self.SidStart == other.SidStart
2737 }
2738}
2739impl ::core::cmp::Eq for ACCESS_ALLOWED_ACE {}
2740impl ::core::default::Default for ACCESS_ALLOWED_ACE {
2741 fn default() -> Self {
2742 unsafe { ::core::mem::zeroed() }
2743 }
2744}
2745#[repr(C)]
2746pub struct ACCESS_ALLOWED_CALLBACK_ACE {
2747 pub Header: ACE_HEADER,
2748 pub Mask: u32,
2749 pub SidStart: u32,
2750}
2751impl ::core::marker::Copy for ACCESS_ALLOWED_CALLBACK_ACE {}
2752impl ::core::clone::Clone for ACCESS_ALLOWED_CALLBACK_ACE {
2753 fn clone(&self) -> Self {
2754 *self
2755 }
2756}
2757impl ::core::fmt::Debug for ACCESS_ALLOWED_CALLBACK_ACE {
2758 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2759 f.debug_struct("ACCESS_ALLOWED_CALLBACK_ACE").field("Header", &self.Header).field("Mask", &self.Mask).field(name:"SidStart", &self.SidStart).finish()
2760 }
2761}
2762impl ::windows_core::TypeKind for ACCESS_ALLOWED_CALLBACK_ACE {
2763 type TypeKind = ::windows_core::CopyType;
2764}
2765impl ::core::cmp::PartialEq for ACCESS_ALLOWED_CALLBACK_ACE {
2766 fn eq(&self, other: &Self) -> bool {
2767 self.Header == other.Header && self.Mask == other.Mask && self.SidStart == other.SidStart
2768 }
2769}
2770impl ::core::cmp::Eq for ACCESS_ALLOWED_CALLBACK_ACE {}
2771impl ::core::default::Default for ACCESS_ALLOWED_CALLBACK_ACE {
2772 fn default() -> Self {
2773 unsafe { ::core::mem::zeroed() }
2774 }
2775}
2776#[repr(C)]
2777pub struct ACCESS_ALLOWED_CALLBACK_OBJECT_ACE {
2778 pub Header: ACE_HEADER,
2779 pub Mask: u32,
2780 pub Flags: SYSTEM_AUDIT_OBJECT_ACE_FLAGS,
2781 pub ObjectType: ::windows_core::GUID,
2782 pub InheritedObjectType: ::windows_core::GUID,
2783 pub SidStart: u32,
2784}
2785impl ::core::marker::Copy for ACCESS_ALLOWED_CALLBACK_OBJECT_ACE {}
2786impl ::core::clone::Clone for ACCESS_ALLOWED_CALLBACK_OBJECT_ACE {
2787 fn clone(&self) -> Self {
2788 *self
2789 }
2790}
2791impl ::core::fmt::Debug for ACCESS_ALLOWED_CALLBACK_OBJECT_ACE {
2792 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2793 f.debug_struct("ACCESS_ALLOWED_CALLBACK_OBJECT_ACE").field("Header", &self.Header).field("Mask", &self.Mask).field("Flags", &self.Flags).field("ObjectType", &self.ObjectType).field("InheritedObjectType", &self.InheritedObjectType).field(name:"SidStart", &self.SidStart).finish()
2794 }
2795}
2796impl ::windows_core::TypeKind for ACCESS_ALLOWED_CALLBACK_OBJECT_ACE {
2797 type TypeKind = ::windows_core::CopyType;
2798}
2799impl ::core::cmp::PartialEq for ACCESS_ALLOWED_CALLBACK_OBJECT_ACE {
2800 fn eq(&self, other: &Self) -> bool {
2801 self.Header == other.Header && self.Mask == other.Mask && self.Flags == other.Flags && self.ObjectType == other.ObjectType && self.InheritedObjectType == other.InheritedObjectType && self.SidStart == other.SidStart
2802 }
2803}
2804impl ::core::cmp::Eq for ACCESS_ALLOWED_CALLBACK_OBJECT_ACE {}
2805impl ::core::default::Default for ACCESS_ALLOWED_CALLBACK_OBJECT_ACE {
2806 fn default() -> Self {
2807 unsafe { ::core::mem::zeroed() }
2808 }
2809}
2810#[repr(C)]
2811pub struct ACCESS_ALLOWED_OBJECT_ACE {
2812 pub Header: ACE_HEADER,
2813 pub Mask: u32,
2814 pub Flags: SYSTEM_AUDIT_OBJECT_ACE_FLAGS,
2815 pub ObjectType: ::windows_core::GUID,
2816 pub InheritedObjectType: ::windows_core::GUID,
2817 pub SidStart: u32,
2818}
2819impl ::core::marker::Copy for ACCESS_ALLOWED_OBJECT_ACE {}
2820impl ::core::clone::Clone for ACCESS_ALLOWED_OBJECT_ACE {
2821 fn clone(&self) -> Self {
2822 *self
2823 }
2824}
2825impl ::core::fmt::Debug for ACCESS_ALLOWED_OBJECT_ACE {
2826 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2827 f.debug_struct("ACCESS_ALLOWED_OBJECT_ACE").field("Header", &self.Header).field("Mask", &self.Mask).field("Flags", &self.Flags).field("ObjectType", &self.ObjectType).field("InheritedObjectType", &self.InheritedObjectType).field(name:"SidStart", &self.SidStart).finish()
2828 }
2829}
2830impl ::windows_core::TypeKind for ACCESS_ALLOWED_OBJECT_ACE {
2831 type TypeKind = ::windows_core::CopyType;
2832}
2833impl ::core::cmp::PartialEq for ACCESS_ALLOWED_OBJECT_ACE {
2834 fn eq(&self, other: &Self) -> bool {
2835 self.Header == other.Header && self.Mask == other.Mask && self.Flags == other.Flags && self.ObjectType == other.ObjectType && self.InheritedObjectType == other.InheritedObjectType && self.SidStart == other.SidStart
2836 }
2837}
2838impl ::core::cmp::Eq for ACCESS_ALLOWED_OBJECT_ACE {}
2839impl ::core::default::Default for ACCESS_ALLOWED_OBJECT_ACE {
2840 fn default() -> Self {
2841 unsafe { ::core::mem::zeroed() }
2842 }
2843}
2844#[repr(C)]
2845pub struct ACCESS_DENIED_ACE {
2846 pub Header: ACE_HEADER,
2847 pub Mask: u32,
2848 pub SidStart: u32,
2849}
2850impl ::core::marker::Copy for ACCESS_DENIED_ACE {}
2851impl ::core::clone::Clone for ACCESS_DENIED_ACE {
2852 fn clone(&self) -> Self {
2853 *self
2854 }
2855}
2856impl ::core::fmt::Debug for ACCESS_DENIED_ACE {
2857 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2858 f.debug_struct("ACCESS_DENIED_ACE").field("Header", &self.Header).field("Mask", &self.Mask).field(name:"SidStart", &self.SidStart).finish()
2859 }
2860}
2861impl ::windows_core::TypeKind for ACCESS_DENIED_ACE {
2862 type TypeKind = ::windows_core::CopyType;
2863}
2864impl ::core::cmp::PartialEq for ACCESS_DENIED_ACE {
2865 fn eq(&self, other: &Self) -> bool {
2866 self.Header == other.Header && self.Mask == other.Mask && self.SidStart == other.SidStart
2867 }
2868}
2869impl ::core::cmp::Eq for ACCESS_DENIED_ACE {}
2870impl ::core::default::Default for ACCESS_DENIED_ACE {
2871 fn default() -> Self {
2872 unsafe { ::core::mem::zeroed() }
2873 }
2874}
2875#[repr(C)]
2876pub struct ACCESS_DENIED_CALLBACK_ACE {
2877 pub Header: ACE_HEADER,
2878 pub Mask: u32,
2879 pub SidStart: u32,
2880}
2881impl ::core::marker::Copy for ACCESS_DENIED_CALLBACK_ACE {}
2882impl ::core::clone::Clone for ACCESS_DENIED_CALLBACK_ACE {
2883 fn clone(&self) -> Self {
2884 *self
2885 }
2886}
2887impl ::core::fmt::Debug for ACCESS_DENIED_CALLBACK_ACE {
2888 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2889 f.debug_struct("ACCESS_DENIED_CALLBACK_ACE").field("Header", &self.Header).field("Mask", &self.Mask).field(name:"SidStart", &self.SidStart).finish()
2890 }
2891}
2892impl ::windows_core::TypeKind for ACCESS_DENIED_CALLBACK_ACE {
2893 type TypeKind = ::windows_core::CopyType;
2894}
2895impl ::core::cmp::PartialEq for ACCESS_DENIED_CALLBACK_ACE {
2896 fn eq(&self, other: &Self) -> bool {
2897 self.Header == other.Header && self.Mask == other.Mask && self.SidStart == other.SidStart
2898 }
2899}
2900impl ::core::cmp::Eq for ACCESS_DENIED_CALLBACK_ACE {}
2901impl ::core::default::Default for ACCESS_DENIED_CALLBACK_ACE {
2902 fn default() -> Self {
2903 unsafe { ::core::mem::zeroed() }
2904 }
2905}
2906#[repr(C)]
2907pub struct ACCESS_DENIED_CALLBACK_OBJECT_ACE {
2908 pub Header: ACE_HEADER,
2909 pub Mask: u32,
2910 pub Flags: SYSTEM_AUDIT_OBJECT_ACE_FLAGS,
2911 pub ObjectType: ::windows_core::GUID,
2912 pub InheritedObjectType: ::windows_core::GUID,
2913 pub SidStart: u32,
2914}
2915impl ::core::marker::Copy for ACCESS_DENIED_CALLBACK_OBJECT_ACE {}
2916impl ::core::clone::Clone for ACCESS_DENIED_CALLBACK_OBJECT_ACE {
2917 fn clone(&self) -> Self {
2918 *self
2919 }
2920}
2921impl ::core::fmt::Debug for ACCESS_DENIED_CALLBACK_OBJECT_ACE {
2922 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2923 f.debug_struct("ACCESS_DENIED_CALLBACK_OBJECT_ACE").field("Header", &self.Header).field("Mask", &self.Mask).field("Flags", &self.Flags).field("ObjectType", &self.ObjectType).field("InheritedObjectType", &self.InheritedObjectType).field(name:"SidStart", &self.SidStart).finish()
2924 }
2925}
2926impl ::windows_core::TypeKind for ACCESS_DENIED_CALLBACK_OBJECT_ACE {
2927 type TypeKind = ::windows_core::CopyType;
2928}
2929impl ::core::cmp::PartialEq for ACCESS_DENIED_CALLBACK_OBJECT_ACE {
2930 fn eq(&self, other: &Self) -> bool {
2931 self.Header == other.Header && self.Mask == other.Mask && self.Flags == other.Flags && self.ObjectType == other.ObjectType && self.InheritedObjectType == other.InheritedObjectType && self.SidStart == other.SidStart
2932 }
2933}
2934impl ::core::cmp::Eq for ACCESS_DENIED_CALLBACK_OBJECT_ACE {}
2935impl ::core::default::Default for ACCESS_DENIED_CALLBACK_OBJECT_ACE {
2936 fn default() -> Self {
2937 unsafe { ::core::mem::zeroed() }
2938 }
2939}
2940#[repr(C)]
2941pub struct ACCESS_DENIED_OBJECT_ACE {
2942 pub Header: ACE_HEADER,
2943 pub Mask: u32,
2944 pub Flags: SYSTEM_AUDIT_OBJECT_ACE_FLAGS,
2945 pub ObjectType: ::windows_core::GUID,
2946 pub InheritedObjectType: ::windows_core::GUID,
2947 pub SidStart: u32,
2948}
2949impl ::core::marker::Copy for ACCESS_DENIED_OBJECT_ACE {}
2950impl ::core::clone::Clone for ACCESS_DENIED_OBJECT_ACE {
2951 fn clone(&self) -> Self {
2952 *self
2953 }
2954}
2955impl ::core::fmt::Debug for ACCESS_DENIED_OBJECT_ACE {
2956 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2957 f.debug_struct("ACCESS_DENIED_OBJECT_ACE").field("Header", &self.Header).field("Mask", &self.Mask).field("Flags", &self.Flags).field("ObjectType", &self.ObjectType).field("InheritedObjectType", &self.InheritedObjectType).field(name:"SidStart", &self.SidStart).finish()
2958 }
2959}
2960impl ::windows_core::TypeKind for ACCESS_DENIED_OBJECT_ACE {
2961 type TypeKind = ::windows_core::CopyType;
2962}
2963impl ::core::cmp::PartialEq for ACCESS_DENIED_OBJECT_ACE {
2964 fn eq(&self, other: &Self) -> bool {
2965 self.Header == other.Header && self.Mask == other.Mask && self.Flags == other.Flags && self.ObjectType == other.ObjectType && self.InheritedObjectType == other.InheritedObjectType && self.SidStart == other.SidStart
2966 }
2967}
2968impl ::core::cmp::Eq for ACCESS_DENIED_OBJECT_ACE {}
2969impl ::core::default::Default for ACCESS_DENIED_OBJECT_ACE {
2970 fn default() -> Self {
2971 unsafe { ::core::mem::zeroed() }
2972 }
2973}
2974#[repr(C)]
2975pub struct ACCESS_REASONS {
2976 pub Data: [u32; 32],
2977}
2978impl ::core::marker::Copy for ACCESS_REASONS {}
2979impl ::core::clone::Clone for ACCESS_REASONS {
2980 fn clone(&self) -> Self {
2981 *self
2982 }
2983}
2984impl ::core::fmt::Debug for ACCESS_REASONS {
2985 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2986 f.debug_struct("ACCESS_REASONS").field(name:"Data", &self.Data).finish()
2987 }
2988}
2989impl ::windows_core::TypeKind for ACCESS_REASONS {
2990 type TypeKind = ::windows_core::CopyType;
2991}
2992impl ::core::cmp::PartialEq for ACCESS_REASONS {
2993 fn eq(&self, other: &Self) -> bool {
2994 self.Data == other.Data
2995 }
2996}
2997impl ::core::cmp::Eq for ACCESS_REASONS {}
2998impl ::core::default::Default for ACCESS_REASONS {
2999 fn default() -> Self {
3000 unsafe { ::core::mem::zeroed() }
3001 }
3002}
3003#[repr(C)]
3004pub struct ACE_HEADER {
3005 pub AceType: u8,
3006 pub AceFlags: u8,
3007 pub AceSize: u16,
3008}
3009impl ::core::marker::Copy for ACE_HEADER {}
3010impl ::core::clone::Clone for ACE_HEADER {
3011 fn clone(&self) -> Self {
3012 *self
3013 }
3014}
3015impl ::core::fmt::Debug for ACE_HEADER {
3016 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3017 f.debug_struct("ACE_HEADER").field("AceType", &self.AceType).field("AceFlags", &self.AceFlags).field(name:"AceSize", &self.AceSize).finish()
3018 }
3019}
3020impl ::windows_core::TypeKind for ACE_HEADER {
3021 type TypeKind = ::windows_core::CopyType;
3022}
3023impl ::core::cmp::PartialEq for ACE_HEADER {
3024 fn eq(&self, other: &Self) -> bool {
3025 self.AceType == other.AceType && self.AceFlags == other.AceFlags && self.AceSize == other.AceSize
3026 }
3027}
3028impl ::core::cmp::Eq for ACE_HEADER {}
3029impl ::core::default::Default for ACE_HEADER {
3030 fn default() -> Self {
3031 unsafe { ::core::mem::zeroed() }
3032 }
3033}
3034#[repr(C)]
3035pub struct ACL {
3036 pub AclRevision: u8,
3037 pub Sbz1: u8,
3038 pub AclSize: u16,
3039 pub AceCount: u16,
3040 pub Sbz2: u16,
3041}
3042impl ::core::marker::Copy for ACL {}
3043impl ::core::clone::Clone for ACL {
3044 fn clone(&self) -> Self {
3045 *self
3046 }
3047}
3048impl ::core::fmt::Debug for ACL {
3049 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3050 f.debug_struct("ACL").field("AclRevision", &self.AclRevision).field("Sbz1", &self.Sbz1).field("AclSize", &self.AclSize).field("AceCount", &self.AceCount).field(name:"Sbz2", &self.Sbz2).finish()
3051 }
3052}
3053impl ::windows_core::TypeKind for ACL {
3054 type TypeKind = ::windows_core::CopyType;
3055}
3056impl ::core::cmp::PartialEq for ACL {
3057 fn eq(&self, other: &Self) -> bool {
3058 self.AclRevision == other.AclRevision && self.Sbz1 == other.Sbz1 && self.AclSize == other.AclSize && self.AceCount == other.AceCount && self.Sbz2 == other.Sbz2
3059 }
3060}
3061impl ::core::cmp::Eq for ACL {}
3062impl ::core::default::Default for ACL {
3063 fn default() -> Self {
3064 unsafe { ::core::mem::zeroed() }
3065 }
3066}
3067#[repr(C)]
3068pub struct ACL_REVISION_INFORMATION {
3069 pub AclRevision: u32,
3070}
3071impl ::core::marker::Copy for ACL_REVISION_INFORMATION {}
3072impl ::core::clone::Clone for ACL_REVISION_INFORMATION {
3073 fn clone(&self) -> Self {
3074 *self
3075 }
3076}
3077impl ::core::fmt::Debug for ACL_REVISION_INFORMATION {
3078 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3079 f.debug_struct("ACL_REVISION_INFORMATION").field(name:"AclRevision", &self.AclRevision).finish()
3080 }
3081}
3082impl ::windows_core::TypeKind for ACL_REVISION_INFORMATION {
3083 type TypeKind = ::windows_core::CopyType;
3084}
3085impl ::core::cmp::PartialEq for ACL_REVISION_INFORMATION {
3086 fn eq(&self, other: &Self) -> bool {
3087 self.AclRevision == other.AclRevision
3088 }
3089}
3090impl ::core::cmp::Eq for ACL_REVISION_INFORMATION {}
3091impl ::core::default::Default for ACL_REVISION_INFORMATION {
3092 fn default() -> Self {
3093 unsafe { ::core::mem::zeroed() }
3094 }
3095}
3096#[repr(C)]
3097pub struct ACL_SIZE_INFORMATION {
3098 pub AceCount: u32,
3099 pub AclBytesInUse: u32,
3100 pub AclBytesFree: u32,
3101}
3102impl ::core::marker::Copy for ACL_SIZE_INFORMATION {}
3103impl ::core::clone::Clone for ACL_SIZE_INFORMATION {
3104 fn clone(&self) -> Self {
3105 *self
3106 }
3107}
3108impl ::core::fmt::Debug for ACL_SIZE_INFORMATION {
3109 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3110 f.debug_struct("ACL_SIZE_INFORMATION").field("AceCount", &self.AceCount).field("AclBytesInUse", &self.AclBytesInUse).field(name:"AclBytesFree", &self.AclBytesFree).finish()
3111 }
3112}
3113impl ::windows_core::TypeKind for ACL_SIZE_INFORMATION {
3114 type TypeKind = ::windows_core::CopyType;
3115}
3116impl ::core::cmp::PartialEq for ACL_SIZE_INFORMATION {
3117 fn eq(&self, other: &Self) -> bool {
3118 self.AceCount == other.AceCount && self.AclBytesInUse == other.AclBytesInUse && self.AclBytesFree == other.AclBytesFree
3119 }
3120}
3121impl ::core::cmp::Eq for ACL_SIZE_INFORMATION {}
3122impl ::core::default::Default for ACL_SIZE_INFORMATION {
3123 fn default() -> Self {
3124 unsafe { ::core::mem::zeroed() }
3125 }
3126}
3127#[repr(C)]
3128pub struct CLAIM_SECURITY_ATTRIBUTES_INFORMATION {
3129 pub Version: u16,
3130 pub Reserved: u16,
3131 pub AttributeCount: u32,
3132 pub Attribute: CLAIM_SECURITY_ATTRIBUTES_INFORMATION_0,
3133}
3134impl ::core::marker::Copy for CLAIM_SECURITY_ATTRIBUTES_INFORMATION {}
3135impl ::core::clone::Clone for CLAIM_SECURITY_ATTRIBUTES_INFORMATION {
3136 fn clone(&self) -> Self {
3137 *self
3138 }
3139}
3140impl ::windows_core::TypeKind for CLAIM_SECURITY_ATTRIBUTES_INFORMATION {
3141 type TypeKind = ::windows_core::CopyType;
3142}
3143impl ::core::default::Default for CLAIM_SECURITY_ATTRIBUTES_INFORMATION {
3144 fn default() -> Self {
3145 unsafe { ::core::mem::zeroed() }
3146 }
3147}
3148#[repr(C)]
3149pub union CLAIM_SECURITY_ATTRIBUTES_INFORMATION_0 {
3150 pub pAttributeV1: *mut CLAIM_SECURITY_ATTRIBUTE_V1,
3151}
3152impl ::core::marker::Copy for CLAIM_SECURITY_ATTRIBUTES_INFORMATION_0 {}
3153impl ::core::clone::Clone for CLAIM_SECURITY_ATTRIBUTES_INFORMATION_0 {
3154 fn clone(&self) -> Self {
3155 *self
3156 }
3157}
3158impl ::windows_core::TypeKind for CLAIM_SECURITY_ATTRIBUTES_INFORMATION_0 {
3159 type TypeKind = ::windows_core::CopyType;
3160}
3161impl ::core::default::Default for CLAIM_SECURITY_ATTRIBUTES_INFORMATION_0 {
3162 fn default() -> Self {
3163 unsafe { ::core::mem::zeroed() }
3164 }
3165}
3166#[repr(C)]
3167pub struct CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE {
3168 pub Version: u64,
3169 pub Name: ::windows_core::PWSTR,
3170}
3171impl ::core::marker::Copy for CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE {}
3172impl ::core::clone::Clone for CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE {
3173 fn clone(&self) -> Self {
3174 *self
3175 }
3176}
3177impl ::core::fmt::Debug for CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE {
3178 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3179 f.debug_struct("CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE").field("Version", &self.Version).field(name:"Name", &self.Name).finish()
3180 }
3181}
3182impl ::windows_core::TypeKind for CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE {
3183 type TypeKind = ::windows_core::CopyType;
3184}
3185impl ::core::cmp::PartialEq for CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE {
3186 fn eq(&self, other: &Self) -> bool {
3187 self.Version == other.Version && self.Name == other.Name
3188 }
3189}
3190impl ::core::cmp::Eq for CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE {}
3191impl ::core::default::Default for CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE {
3192 fn default() -> Self {
3193 unsafe { ::core::mem::zeroed() }
3194 }
3195}
3196#[repr(C)]
3197pub struct CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE {
3198 pub pValue: *mut ::core::ffi::c_void,
3199 pub ValueLength: u32,
3200}
3201impl ::core::marker::Copy for CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE {}
3202impl ::core::clone::Clone for CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE {
3203 fn clone(&self) -> Self {
3204 *self
3205 }
3206}
3207impl ::core::fmt::Debug for CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE {
3208 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3209 f.debug_struct("CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE").field("pValue", &self.pValue).field(name:"ValueLength", &self.ValueLength).finish()
3210 }
3211}
3212impl ::windows_core::TypeKind for CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE {
3213 type TypeKind = ::windows_core::CopyType;
3214}
3215impl ::core::cmp::PartialEq for CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE {
3216 fn eq(&self, other: &Self) -> bool {
3217 self.pValue == other.pValue && self.ValueLength == other.ValueLength
3218 }
3219}
3220impl ::core::cmp::Eq for CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE {}
3221impl ::core::default::Default for CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE {
3222 fn default() -> Self {
3223 unsafe { ::core::mem::zeroed() }
3224 }
3225}
3226#[repr(C)]
3227pub struct CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 {
3228 pub Name: u32,
3229 pub ValueType: CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE,
3230 pub Reserved: u16,
3231 pub Flags: CLAIM_SECURITY_ATTRIBUTE_FLAGS,
3232 pub ValueCount: u32,
3233 pub Values: CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1_0,
3234}
3235impl ::core::marker::Copy for CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 {}
3236impl ::core::clone::Clone for CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 {
3237 fn clone(&self) -> Self {
3238 *self
3239 }
3240}
3241impl ::windows_core::TypeKind for CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 {
3242 type TypeKind = ::windows_core::CopyType;
3243}
3244impl ::core::default::Default for CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 {
3245 fn default() -> Self {
3246 unsafe { ::core::mem::zeroed() }
3247 }
3248}
3249#[repr(C)]
3250pub union CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1_0 {
3251 pub pInt64: [u32; 1],
3252 pub pUint64: [u32; 1],
3253 pub ppString: [u32; 1],
3254 pub pFqbn: [u32; 1],
3255 pub pOctetString: [u32; 1],
3256}
3257impl ::core::marker::Copy for CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1_0 {}
3258impl ::core::clone::Clone for CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1_0 {
3259 fn clone(&self) -> Self {
3260 *self
3261 }
3262}
3263impl ::windows_core::TypeKind for CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1_0 {
3264 type TypeKind = ::windows_core::CopyType;
3265}
3266impl ::core::default::Default for CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1_0 {
3267 fn default() -> Self {
3268 unsafe { ::core::mem::zeroed() }
3269 }
3270}
3271#[repr(C)]
3272pub struct CLAIM_SECURITY_ATTRIBUTE_V1 {
3273 pub Name: ::windows_core::PWSTR,
3274 pub ValueType: CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE,
3275 pub Reserved: u16,
3276 pub Flags: u32,
3277 pub ValueCount: u32,
3278 pub Values: CLAIM_SECURITY_ATTRIBUTE_V1_0,
3279}
3280impl ::core::marker::Copy for CLAIM_SECURITY_ATTRIBUTE_V1 {}
3281impl ::core::clone::Clone for CLAIM_SECURITY_ATTRIBUTE_V1 {
3282 fn clone(&self) -> Self {
3283 *self
3284 }
3285}
3286impl ::windows_core::TypeKind for CLAIM_SECURITY_ATTRIBUTE_V1 {
3287 type TypeKind = ::windows_core::CopyType;
3288}
3289impl ::core::default::Default for CLAIM_SECURITY_ATTRIBUTE_V1 {
3290 fn default() -> Self {
3291 unsafe { ::core::mem::zeroed() }
3292 }
3293}
3294#[repr(C)]
3295pub union CLAIM_SECURITY_ATTRIBUTE_V1_0 {
3296 pub pInt64: *mut i64,
3297 pub pUint64: *mut u64,
3298 pub ppString: *mut ::windows_core::PWSTR,
3299 pub pFqbn: *mut CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE,
3300 pub pOctetString: *mut CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE,
3301}
3302impl ::core::marker::Copy for CLAIM_SECURITY_ATTRIBUTE_V1_0 {}
3303impl ::core::clone::Clone for CLAIM_SECURITY_ATTRIBUTE_V1_0 {
3304 fn clone(&self) -> Self {
3305 *self
3306 }
3307}
3308impl ::windows_core::TypeKind for CLAIM_SECURITY_ATTRIBUTE_V1_0 {
3309 type TypeKind = ::windows_core::CopyType;
3310}
3311impl ::core::default::Default for CLAIM_SECURITY_ATTRIBUTE_V1_0 {
3312 fn default() -> Self {
3313 unsafe { ::core::mem::zeroed() }
3314 }
3315}
3316#[repr(C)]
3317pub struct GENERIC_MAPPING {
3318 pub GenericRead: u32,
3319 pub GenericWrite: u32,
3320 pub GenericExecute: u32,
3321 pub GenericAll: u32,
3322}
3323impl ::core::marker::Copy for GENERIC_MAPPING {}
3324impl ::core::clone::Clone for GENERIC_MAPPING {
3325 fn clone(&self) -> Self {
3326 *self
3327 }
3328}
3329impl ::core::fmt::Debug for GENERIC_MAPPING {
3330 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3331 f.debug_struct("GENERIC_MAPPING").field("GenericRead", &self.GenericRead).field("GenericWrite", &self.GenericWrite).field("GenericExecute", &self.GenericExecute).field(name:"GenericAll", &self.GenericAll).finish()
3332 }
3333}
3334impl ::windows_core::TypeKind for GENERIC_MAPPING {
3335 type TypeKind = ::windows_core::CopyType;
3336}
3337impl ::core::cmp::PartialEq for GENERIC_MAPPING {
3338 fn eq(&self, other: &Self) -> bool {
3339 self.GenericRead == other.GenericRead && self.GenericWrite == other.GenericWrite && self.GenericExecute == other.GenericExecute && self.GenericAll == other.GenericAll
3340 }
3341}
3342impl ::core::cmp::Eq for GENERIC_MAPPING {}
3343impl ::core::default::Default for GENERIC_MAPPING {
3344 fn default() -> Self {
3345 unsafe { ::core::mem::zeroed() }
3346 }
3347}
3348#[repr(transparent)]
3349#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3350pub struct HDIAGNOSTIC_DATA_QUERY_SESSION(pub isize);
3351impl HDIAGNOSTIC_DATA_QUERY_SESSION {
3352 pub fn is_invalid(&self) -> bool {
3353 self.0 == -1 || self.0 == 0
3354 }
3355}
3356impl ::core::default::Default for HDIAGNOSTIC_DATA_QUERY_SESSION {
3357 fn default() -> Self {
3358 unsafe { ::core::mem::zeroed() }
3359 }
3360}
3361impl ::core::clone::Clone for HDIAGNOSTIC_DATA_QUERY_SESSION {
3362 fn clone(&self) -> Self {
3363 *self
3364 }
3365}
3366impl ::core::marker::Copy for HDIAGNOSTIC_DATA_QUERY_SESSION {}
3367impl ::core::fmt::Debug for HDIAGNOSTIC_DATA_QUERY_SESSION {
3368 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3369 f.debug_tuple(name:"HDIAGNOSTIC_DATA_QUERY_SESSION").field(&self.0).finish()
3370 }
3371}
3372impl ::windows_core::TypeKind for HDIAGNOSTIC_DATA_QUERY_SESSION {
3373 type TypeKind = ::windows_core::CopyType;
3374}
3375#[repr(transparent)]
3376#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3377pub struct HDIAGNOSTIC_EVENT_CATEGORY_DESCRIPTION(pub isize);
3378impl HDIAGNOSTIC_EVENT_CATEGORY_DESCRIPTION {
3379 pub fn is_invalid(&self) -> bool {
3380 self.0 == -1 || self.0 == 0
3381 }
3382}
3383impl ::core::default::Default for HDIAGNOSTIC_EVENT_CATEGORY_DESCRIPTION {
3384 fn default() -> Self {
3385 unsafe { ::core::mem::zeroed() }
3386 }
3387}
3388impl ::core::clone::Clone for HDIAGNOSTIC_EVENT_CATEGORY_DESCRIPTION {
3389 fn clone(&self) -> Self {
3390 *self
3391 }
3392}
3393impl ::core::marker::Copy for HDIAGNOSTIC_EVENT_CATEGORY_DESCRIPTION {}
3394impl ::core::fmt::Debug for HDIAGNOSTIC_EVENT_CATEGORY_DESCRIPTION {
3395 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3396 f.debug_tuple(name:"HDIAGNOSTIC_EVENT_CATEGORY_DESCRIPTION").field(&self.0).finish()
3397 }
3398}
3399impl ::windows_core::TypeKind for HDIAGNOSTIC_EVENT_CATEGORY_DESCRIPTION {
3400 type TypeKind = ::windows_core::CopyType;
3401}
3402#[repr(transparent)]
3403#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3404pub struct HDIAGNOSTIC_EVENT_PRODUCER_DESCRIPTION(pub isize);
3405impl HDIAGNOSTIC_EVENT_PRODUCER_DESCRIPTION {
3406 pub fn is_invalid(&self) -> bool {
3407 self.0 == -1 || self.0 == 0
3408 }
3409}
3410impl ::core::default::Default for HDIAGNOSTIC_EVENT_PRODUCER_DESCRIPTION {
3411 fn default() -> Self {
3412 unsafe { ::core::mem::zeroed() }
3413 }
3414}
3415impl ::core::clone::Clone for HDIAGNOSTIC_EVENT_PRODUCER_DESCRIPTION {
3416 fn clone(&self) -> Self {
3417 *self
3418 }
3419}
3420impl ::core::marker::Copy for HDIAGNOSTIC_EVENT_PRODUCER_DESCRIPTION {}
3421impl ::core::fmt::Debug for HDIAGNOSTIC_EVENT_PRODUCER_DESCRIPTION {
3422 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3423 f.debug_tuple(name:"HDIAGNOSTIC_EVENT_PRODUCER_DESCRIPTION").field(&self.0).finish()
3424 }
3425}
3426impl ::windows_core::TypeKind for HDIAGNOSTIC_EVENT_PRODUCER_DESCRIPTION {
3427 type TypeKind = ::windows_core::CopyType;
3428}
3429#[repr(transparent)]
3430#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3431pub struct HDIAGNOSTIC_EVENT_TAG_DESCRIPTION(pub isize);
3432impl HDIAGNOSTIC_EVENT_TAG_DESCRIPTION {
3433 pub fn is_invalid(&self) -> bool {
3434 self.0 == -1 || self.0 == 0
3435 }
3436}
3437impl ::core::default::Default for HDIAGNOSTIC_EVENT_TAG_DESCRIPTION {
3438 fn default() -> Self {
3439 unsafe { ::core::mem::zeroed() }
3440 }
3441}
3442impl ::core::clone::Clone for HDIAGNOSTIC_EVENT_TAG_DESCRIPTION {
3443 fn clone(&self) -> Self {
3444 *self
3445 }
3446}
3447impl ::core::marker::Copy for HDIAGNOSTIC_EVENT_TAG_DESCRIPTION {}
3448impl ::core::fmt::Debug for HDIAGNOSTIC_EVENT_TAG_DESCRIPTION {
3449 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3450 f.debug_tuple(name:"HDIAGNOSTIC_EVENT_TAG_DESCRIPTION").field(&self.0).finish()
3451 }
3452}
3453impl ::windows_core::TypeKind for HDIAGNOSTIC_EVENT_TAG_DESCRIPTION {
3454 type TypeKind = ::windows_core::CopyType;
3455}
3456#[repr(transparent)]
3457#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3458pub struct HDIAGNOSTIC_RECORD(pub isize);
3459impl HDIAGNOSTIC_RECORD {
3460 pub fn is_invalid(&self) -> bool {
3461 self.0 == -1 || self.0 == 0
3462 }
3463}
3464impl ::core::default::Default for HDIAGNOSTIC_RECORD {
3465 fn default() -> Self {
3466 unsafe { ::core::mem::zeroed() }
3467 }
3468}
3469impl ::core::clone::Clone for HDIAGNOSTIC_RECORD {
3470 fn clone(&self) -> Self {
3471 *self
3472 }
3473}
3474impl ::core::marker::Copy for HDIAGNOSTIC_RECORD {}
3475impl ::core::fmt::Debug for HDIAGNOSTIC_RECORD {
3476 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3477 f.debug_tuple(name:"HDIAGNOSTIC_RECORD").field(&self.0).finish()
3478 }
3479}
3480impl ::windows_core::TypeKind for HDIAGNOSTIC_RECORD {
3481 type TypeKind = ::windows_core::CopyType;
3482}
3483#[repr(transparent)]
3484#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3485pub struct HDIAGNOSTIC_REPORT(pub isize);
3486impl HDIAGNOSTIC_REPORT {
3487 pub fn is_invalid(&self) -> bool {
3488 self.0 == -1 || self.0 == 0
3489 }
3490}
3491impl ::core::default::Default for HDIAGNOSTIC_REPORT {
3492 fn default() -> Self {
3493 unsafe { ::core::mem::zeroed() }
3494 }
3495}
3496impl ::core::clone::Clone for HDIAGNOSTIC_REPORT {
3497 fn clone(&self) -> Self {
3498 *self
3499 }
3500}
3501impl ::core::marker::Copy for HDIAGNOSTIC_REPORT {}
3502impl ::core::fmt::Debug for HDIAGNOSTIC_REPORT {
3503 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3504 f.debug_tuple(name:"HDIAGNOSTIC_REPORT").field(&self.0).finish()
3505 }
3506}
3507impl ::windows_core::TypeKind for HDIAGNOSTIC_REPORT {
3508 type TypeKind = ::windows_core::CopyType;
3509}
3510#[repr(C)]
3511#[doc = "Required features: `\"Win32_Foundation\"`"]
3512#[cfg(feature = "Win32_Foundation")]
3513pub struct LLFILETIME {
3514 pub Anonymous: LLFILETIME_0,
3515}
3516#[cfg(feature = "Win32_Foundation")]
3517impl ::core::marker::Copy for LLFILETIME {}
3518#[cfg(feature = "Win32_Foundation")]
3519impl ::core::clone::Clone for LLFILETIME {
3520 fn clone(&self) -> Self {
3521 *self
3522 }
3523}
3524#[cfg(feature = "Win32_Foundation")]
3525impl ::windows_core::TypeKind for LLFILETIME {
3526 type TypeKind = ::windows_core::CopyType;
3527}
3528#[cfg(feature = "Win32_Foundation")]
3529impl ::core::default::Default for LLFILETIME {
3530 fn default() -> Self {
3531 unsafe { ::core::mem::zeroed() }
3532 }
3533}
3534#[repr(C)]
3535#[doc = "Required features: `\"Win32_Foundation\"`"]
3536#[cfg(feature = "Win32_Foundation")]
3537pub union LLFILETIME_0 {
3538 pub ll: i64,
3539 pub ft: super::Foundation::FILETIME,
3540}
3541#[cfg(feature = "Win32_Foundation")]
3542impl ::core::marker::Copy for LLFILETIME_0 {}
3543#[cfg(feature = "Win32_Foundation")]
3544impl ::core::clone::Clone for LLFILETIME_0 {
3545 fn clone(&self) -> Self {
3546 *self
3547 }
3548}
3549#[cfg(feature = "Win32_Foundation")]
3550impl ::windows_core::TypeKind for LLFILETIME_0 {
3551 type TypeKind = ::windows_core::CopyType;
3552}
3553#[cfg(feature = "Win32_Foundation")]
3554impl ::core::default::Default for LLFILETIME_0 {
3555 fn default() -> Self {
3556 unsafe { ::core::mem::zeroed() }
3557 }
3558}
3559#[repr(C)]
3560#[doc = "Required features: `\"Win32_Foundation\"`"]
3561#[cfg(feature = "Win32_Foundation")]
3562pub struct LUID_AND_ATTRIBUTES {
3563 pub Luid: super::Foundation::LUID,
3564 pub Attributes: TOKEN_PRIVILEGES_ATTRIBUTES,
3565}
3566#[cfg(feature = "Win32_Foundation")]
3567impl ::core::marker::Copy for LUID_AND_ATTRIBUTES {}
3568#[cfg(feature = "Win32_Foundation")]
3569impl ::core::clone::Clone for LUID_AND_ATTRIBUTES {
3570 fn clone(&self) -> Self {
3571 *self
3572 }
3573}
3574#[cfg(feature = "Win32_Foundation")]
3575impl ::core::fmt::Debug for LUID_AND_ATTRIBUTES {
3576 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3577 f.debug_struct("LUID_AND_ATTRIBUTES").field("Luid", &self.Luid).field(name:"Attributes", &self.Attributes).finish()
3578 }
3579}
3580#[cfg(feature = "Win32_Foundation")]
3581impl ::windows_core::TypeKind for LUID_AND_ATTRIBUTES {
3582 type TypeKind = ::windows_core::CopyType;
3583}
3584#[cfg(feature = "Win32_Foundation")]
3585impl ::core::cmp::PartialEq for LUID_AND_ATTRIBUTES {
3586 fn eq(&self, other: &Self) -> bool {
3587 self.Luid == other.Luid && self.Attributes == other.Attributes
3588 }
3589}
3590#[cfg(feature = "Win32_Foundation")]
3591impl ::core::cmp::Eq for LUID_AND_ATTRIBUTES {}
3592#[cfg(feature = "Win32_Foundation")]
3593impl ::core::default::Default for LUID_AND_ATTRIBUTES {
3594 fn default() -> Self {
3595 unsafe { ::core::mem::zeroed() }
3596 }
3597}
3598#[repr(transparent)]
3599#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3600pub struct NCRYPT_DESCRIPTOR_HANDLE(pub isize);
3601impl NCRYPT_DESCRIPTOR_HANDLE {
3602 pub fn is_invalid(&self) -> bool {
3603 self.0 == -1 || self.0 == 0
3604 }
3605}
3606impl ::core::default::Default for NCRYPT_DESCRIPTOR_HANDLE {
3607 fn default() -> Self {
3608 unsafe { ::core::mem::zeroed() }
3609 }
3610}
3611impl ::core::clone::Clone for NCRYPT_DESCRIPTOR_HANDLE {
3612 fn clone(&self) -> Self {
3613 *self
3614 }
3615}
3616impl ::core::marker::Copy for NCRYPT_DESCRIPTOR_HANDLE {}
3617impl ::core::fmt::Debug for NCRYPT_DESCRIPTOR_HANDLE {
3618 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3619 f.debug_tuple(name:"NCRYPT_DESCRIPTOR_HANDLE").field(&self.0).finish()
3620 }
3621}
3622impl ::windows_core::TypeKind for NCRYPT_DESCRIPTOR_HANDLE {
3623 type TypeKind = ::windows_core::CopyType;
3624}
3625#[repr(transparent)]
3626#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3627pub struct NCRYPT_STREAM_HANDLE(pub isize);
3628impl NCRYPT_STREAM_HANDLE {
3629 pub fn is_invalid(&self) -> bool {
3630 self.0 == -1 || self.0 == 0
3631 }
3632}
3633impl ::core::default::Default for NCRYPT_STREAM_HANDLE {
3634 fn default() -> Self {
3635 unsafe { ::core::mem::zeroed() }
3636 }
3637}
3638impl ::core::clone::Clone for NCRYPT_STREAM_HANDLE {
3639 fn clone(&self) -> Self {
3640 *self
3641 }
3642}
3643impl ::core::marker::Copy for NCRYPT_STREAM_HANDLE {}
3644impl ::core::fmt::Debug for NCRYPT_STREAM_HANDLE {
3645 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3646 f.debug_tuple(name:"NCRYPT_STREAM_HANDLE").field(&self.0).finish()
3647 }
3648}
3649impl ::windows_core::TypeKind for NCRYPT_STREAM_HANDLE {
3650 type TypeKind = ::windows_core::CopyType;
3651}
3652#[repr(C)]
3653pub struct OBJECT_TYPE_LIST {
3654 pub Level: u16,
3655 pub Sbz: u16,
3656 pub ObjectType: *mut ::windows_core::GUID,
3657}
3658impl ::core::marker::Copy for OBJECT_TYPE_LIST {}
3659impl ::core::clone::Clone for OBJECT_TYPE_LIST {
3660 fn clone(&self) -> Self {
3661 *self
3662 }
3663}
3664impl ::core::fmt::Debug for OBJECT_TYPE_LIST {
3665 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3666 f.debug_struct("OBJECT_TYPE_LIST").field("Level", &self.Level).field("Sbz", &self.Sbz).field(name:"ObjectType", &self.ObjectType).finish()
3667 }
3668}
3669impl ::windows_core::TypeKind for OBJECT_TYPE_LIST {
3670 type TypeKind = ::windows_core::CopyType;
3671}
3672impl ::core::cmp::PartialEq for OBJECT_TYPE_LIST {
3673 fn eq(&self, other: &Self) -> bool {
3674 self.Level == other.Level && self.Sbz == other.Sbz && self.ObjectType == other.ObjectType
3675 }
3676}
3677impl ::core::cmp::Eq for OBJECT_TYPE_LIST {}
3678impl ::core::default::Default for OBJECT_TYPE_LIST {
3679 fn default() -> Self {
3680 unsafe { ::core::mem::zeroed() }
3681 }
3682}
3683#[repr(C)]
3684#[doc = "Required features: `\"Win32_Foundation\"`"]
3685#[cfg(feature = "Win32_Foundation")]
3686pub struct PRIVILEGE_SET {
3687 pub PrivilegeCount: u32,
3688 pub Control: u32,
3689 pub Privilege: [LUID_AND_ATTRIBUTES; 1],
3690}
3691#[cfg(feature = "Win32_Foundation")]
3692impl ::core::marker::Copy for PRIVILEGE_SET {}
3693#[cfg(feature = "Win32_Foundation")]
3694impl ::core::clone::Clone for PRIVILEGE_SET {
3695 fn clone(&self) -> Self {
3696 *self
3697 }
3698}
3699#[cfg(feature = "Win32_Foundation")]
3700impl ::core::fmt::Debug for PRIVILEGE_SET {
3701 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3702 f.debug_struct("PRIVILEGE_SET").field("PrivilegeCount", &self.PrivilegeCount).field("Control", &self.Control).field(name:"Privilege", &self.Privilege).finish()
3703 }
3704}
3705#[cfg(feature = "Win32_Foundation")]
3706impl ::windows_core::TypeKind for PRIVILEGE_SET {
3707 type TypeKind = ::windows_core::CopyType;
3708}
3709#[cfg(feature = "Win32_Foundation")]
3710impl ::core::cmp::PartialEq for PRIVILEGE_SET {
3711 fn eq(&self, other: &Self) -> bool {
3712 self.PrivilegeCount == other.PrivilegeCount && self.Control == other.Control && self.Privilege == other.Privilege
3713 }
3714}
3715#[cfg(feature = "Win32_Foundation")]
3716impl ::core::cmp::Eq for PRIVILEGE_SET {}
3717#[cfg(feature = "Win32_Foundation")]
3718impl ::core::default::Default for PRIVILEGE_SET {
3719 fn default() -> Self {
3720 unsafe { ::core::mem::zeroed() }
3721 }
3722}
3723#[repr(transparent)]
3724#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3725pub struct PSECURITY_DESCRIPTOR(pub *mut ::core::ffi::c_void);
3726impl PSECURITY_DESCRIPTOR {
3727 pub fn is_invalid(&self) -> bool {
3728 self.0.is_null()
3729 }
3730}
3731impl ::core::default::Default for PSECURITY_DESCRIPTOR {
3732 fn default() -> Self {
3733 unsafe { ::core::mem::zeroed() }
3734 }
3735}
3736impl ::core::clone::Clone for PSECURITY_DESCRIPTOR {
3737 fn clone(&self) -> Self {
3738 *self
3739 }
3740}
3741impl ::core::marker::Copy for PSECURITY_DESCRIPTOR {}
3742impl ::core::fmt::Debug for PSECURITY_DESCRIPTOR {
3743 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3744 f.debug_tuple(name:"PSECURITY_DESCRIPTOR").field(&self.0).finish()
3745 }
3746}
3747impl ::windows_core::TypeKind for PSECURITY_DESCRIPTOR {
3748 type TypeKind = ::windows_core::CopyType;
3749}
3750#[repr(C)]
3751pub struct QUOTA_LIMITS {
3752 pub PagedPoolLimit: usize,
3753 pub NonPagedPoolLimit: usize,
3754 pub MinimumWorkingSetSize: usize,
3755 pub MaximumWorkingSetSize: usize,
3756 pub PagefileLimit: usize,
3757 pub TimeLimit: i64,
3758}
3759impl ::core::marker::Copy for QUOTA_LIMITS {}
3760impl ::core::clone::Clone for QUOTA_LIMITS {
3761 fn clone(&self) -> Self {
3762 *self
3763 }
3764}
3765impl ::core::fmt::Debug for QUOTA_LIMITS {
3766 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3767 f.debug_struct("QUOTA_LIMITS").field("PagedPoolLimit", &self.PagedPoolLimit).field("NonPagedPoolLimit", &self.NonPagedPoolLimit).field("MinimumWorkingSetSize", &self.MinimumWorkingSetSize).field("MaximumWorkingSetSize", &self.MaximumWorkingSetSize).field("PagefileLimit", &self.PagefileLimit).field(name:"TimeLimit", &self.TimeLimit).finish()
3768 }
3769}
3770impl ::windows_core::TypeKind for QUOTA_LIMITS {
3771 type TypeKind = ::windows_core::CopyType;
3772}
3773impl ::core::cmp::PartialEq for QUOTA_LIMITS {
3774 fn eq(&self, other: &Self) -> bool {
3775 self.PagedPoolLimit == other.PagedPoolLimit && self.NonPagedPoolLimit == other.NonPagedPoolLimit && self.MinimumWorkingSetSize == other.MinimumWorkingSetSize && self.MaximumWorkingSetSize == other.MaximumWorkingSetSize && self.PagefileLimit == other.PagefileLimit && self.TimeLimit == other.TimeLimit
3776 }
3777}
3778impl ::core::cmp::Eq for QUOTA_LIMITS {}
3779impl ::core::default::Default for QUOTA_LIMITS {
3780 fn default() -> Self {
3781 unsafe { ::core::mem::zeroed() }
3782 }
3783}
3784#[repr(transparent)]
3785#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3786pub struct SAFER_LEVEL_HANDLE(pub isize);
3787impl SAFER_LEVEL_HANDLE {
3788 pub fn is_invalid(&self) -> bool {
3789 self.0 == -1 || self.0 == 0
3790 }
3791}
3792impl ::core::default::Default for SAFER_LEVEL_HANDLE {
3793 fn default() -> Self {
3794 unsafe { ::core::mem::zeroed() }
3795 }
3796}
3797impl ::core::clone::Clone for SAFER_LEVEL_HANDLE {
3798 fn clone(&self) -> Self {
3799 *self
3800 }
3801}
3802impl ::core::marker::Copy for SAFER_LEVEL_HANDLE {}
3803impl ::core::fmt::Debug for SAFER_LEVEL_HANDLE {
3804 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3805 f.debug_tuple(name:"SAFER_LEVEL_HANDLE").field(&self.0).finish()
3806 }
3807}
3808impl ::windows_core::TypeKind for SAFER_LEVEL_HANDLE {
3809 type TypeKind = ::windows_core::CopyType;
3810}
3811#[repr(transparent)]
3812#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3813pub struct SC_HANDLE(pub isize);
3814impl SC_HANDLE {
3815 pub fn is_invalid(&self) -> bool {
3816 self.0 == -1 || self.0 == 0
3817 }
3818}
3819impl ::core::default::Default for SC_HANDLE {
3820 fn default() -> Self {
3821 unsafe { ::core::mem::zeroed() }
3822 }
3823}
3824impl ::core::clone::Clone for SC_HANDLE {
3825 fn clone(&self) -> Self {
3826 *self
3827 }
3828}
3829impl ::core::marker::Copy for SC_HANDLE {}
3830impl ::core::fmt::Debug for SC_HANDLE {
3831 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3832 f.debug_tuple(name:"SC_HANDLE").field(&self.0).finish()
3833 }
3834}
3835impl ::windows_core::TypeKind for SC_HANDLE {
3836 type TypeKind = ::windows_core::CopyType;
3837}
3838#[repr(C)]
3839#[doc = "Required features: `\"Win32_Foundation\"`"]
3840#[cfg(feature = "Win32_Foundation")]
3841pub struct SECURITY_ATTRIBUTES {
3842 pub nLength: u32,
3843 pub lpSecurityDescriptor: *mut ::core::ffi::c_void,
3844 pub bInheritHandle: super::Foundation::BOOL,
3845}
3846#[cfg(feature = "Win32_Foundation")]
3847impl ::core::marker::Copy for SECURITY_ATTRIBUTES {}
3848#[cfg(feature = "Win32_Foundation")]
3849impl ::core::clone::Clone for SECURITY_ATTRIBUTES {
3850 fn clone(&self) -> Self {
3851 *self
3852 }
3853}
3854#[cfg(feature = "Win32_Foundation")]
3855impl ::core::fmt::Debug for SECURITY_ATTRIBUTES {
3856 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3857 f.debug_struct("SECURITY_ATTRIBUTES").field("nLength", &self.nLength).field("lpSecurityDescriptor", &self.lpSecurityDescriptor).field(name:"bInheritHandle", &self.bInheritHandle).finish()
3858 }
3859}
3860#[cfg(feature = "Win32_Foundation")]
3861impl ::windows_core::TypeKind for SECURITY_ATTRIBUTES {
3862 type TypeKind = ::windows_core::CopyType;
3863}
3864#[cfg(feature = "Win32_Foundation")]
3865impl ::core::cmp::PartialEq for SECURITY_ATTRIBUTES {
3866 fn eq(&self, other: &Self) -> bool {
3867 self.nLength == other.nLength && self.lpSecurityDescriptor == other.lpSecurityDescriptor && self.bInheritHandle == other.bInheritHandle
3868 }
3869}
3870#[cfg(feature = "Win32_Foundation")]
3871impl ::core::cmp::Eq for SECURITY_ATTRIBUTES {}
3872#[cfg(feature = "Win32_Foundation")]
3873impl ::core::default::Default for SECURITY_ATTRIBUTES {
3874 fn default() -> Self {
3875 unsafe { ::core::mem::zeroed() }
3876 }
3877}
3878#[repr(C)]
3879#[doc = "Required features: `\"Win32_Foundation\"`"]
3880#[cfg(feature = "Win32_Foundation")]
3881pub struct SECURITY_CAPABILITIES {
3882 pub AppContainerSid: super::Foundation::PSID,
3883 pub Capabilities: *mut SID_AND_ATTRIBUTES,
3884 pub CapabilityCount: u32,
3885 pub Reserved: u32,
3886}
3887#[cfg(feature = "Win32_Foundation")]
3888impl ::core::marker::Copy for SECURITY_CAPABILITIES {}
3889#[cfg(feature = "Win32_Foundation")]
3890impl ::core::clone::Clone for SECURITY_CAPABILITIES {
3891 fn clone(&self) -> Self {
3892 *self
3893 }
3894}
3895#[cfg(feature = "Win32_Foundation")]
3896impl ::core::fmt::Debug for SECURITY_CAPABILITIES {
3897 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3898 f.debug_struct("SECURITY_CAPABILITIES").field("AppContainerSid", &self.AppContainerSid).field("Capabilities", &self.Capabilities).field("CapabilityCount", &self.CapabilityCount).field(name:"Reserved", &self.Reserved).finish()
3899 }
3900}
3901#[cfg(feature = "Win32_Foundation")]
3902impl ::windows_core::TypeKind for SECURITY_CAPABILITIES {
3903 type TypeKind = ::windows_core::CopyType;
3904}
3905#[cfg(feature = "Win32_Foundation")]
3906impl ::core::cmp::PartialEq for SECURITY_CAPABILITIES {
3907 fn eq(&self, other: &Self) -> bool {
3908 self.AppContainerSid == other.AppContainerSid && self.Capabilities == other.Capabilities && self.CapabilityCount == other.CapabilityCount && self.Reserved == other.Reserved
3909 }
3910}
3911#[cfg(feature = "Win32_Foundation")]
3912impl ::core::cmp::Eq for SECURITY_CAPABILITIES {}
3913#[cfg(feature = "Win32_Foundation")]
3914impl ::core::default::Default for SECURITY_CAPABILITIES {
3915 fn default() -> Self {
3916 unsafe { ::core::mem::zeroed() }
3917 }
3918}
3919#[repr(C)]
3920#[doc = "Required features: `\"Win32_Foundation\"`"]
3921#[cfg(feature = "Win32_Foundation")]
3922pub struct SECURITY_DESCRIPTOR {
3923 pub Revision: u8,
3924 pub Sbz1: u8,
3925 pub Control: SECURITY_DESCRIPTOR_CONTROL,
3926 pub Owner: super::Foundation::PSID,
3927 pub Group: super::Foundation::PSID,
3928 pub Sacl: *mut ACL,
3929 pub Dacl: *mut ACL,
3930}
3931#[cfg(feature = "Win32_Foundation")]
3932impl ::core::marker::Copy for SECURITY_DESCRIPTOR {}
3933#[cfg(feature = "Win32_Foundation")]
3934impl ::core::clone::Clone for SECURITY_DESCRIPTOR {
3935 fn clone(&self) -> Self {
3936 *self
3937 }
3938}
3939#[cfg(feature = "Win32_Foundation")]
3940impl ::core::fmt::Debug for SECURITY_DESCRIPTOR {
3941 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3942 f.debug_struct("SECURITY_DESCRIPTOR").field("Revision", &self.Revision).field("Sbz1", &self.Sbz1).field("Control", &self.Control).field("Owner", &self.Owner).field("Group", &self.Group).field("Sacl", &self.Sacl).field(name:"Dacl", &self.Dacl).finish()
3943 }
3944}
3945#[cfg(feature = "Win32_Foundation")]
3946impl ::windows_core::TypeKind for SECURITY_DESCRIPTOR {
3947 type TypeKind = ::windows_core::CopyType;
3948}
3949#[cfg(feature = "Win32_Foundation")]
3950impl ::core::cmp::PartialEq for SECURITY_DESCRIPTOR {
3951 fn eq(&self, other: &Self) -> bool {
3952 self.Revision == other.Revision && self.Sbz1 == other.Sbz1 && self.Control == other.Control && self.Owner == other.Owner && self.Group == other.Group && self.Sacl == other.Sacl && self.Dacl == other.Dacl
3953 }
3954}
3955#[cfg(feature = "Win32_Foundation")]
3956impl ::core::cmp::Eq for SECURITY_DESCRIPTOR {}
3957#[cfg(feature = "Win32_Foundation")]
3958impl ::core::default::Default for SECURITY_DESCRIPTOR {
3959 fn default() -> Self {
3960 unsafe { ::core::mem::zeroed() }
3961 }
3962}
3963#[repr(C)]
3964pub struct SECURITY_DESCRIPTOR_RELATIVE {
3965 pub Revision: u8,
3966 pub Sbz1: u8,
3967 pub Control: SECURITY_DESCRIPTOR_CONTROL,
3968 pub Owner: u32,
3969 pub Group: u32,
3970 pub Sacl: u32,
3971 pub Dacl: u32,
3972}
3973impl ::core::marker::Copy for SECURITY_DESCRIPTOR_RELATIVE {}
3974impl ::core::clone::Clone for SECURITY_DESCRIPTOR_RELATIVE {
3975 fn clone(&self) -> Self {
3976 *self
3977 }
3978}
3979impl ::core::fmt::Debug for SECURITY_DESCRIPTOR_RELATIVE {
3980 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3981 f.debug_struct("SECURITY_DESCRIPTOR_RELATIVE").field("Revision", &self.Revision).field("Sbz1", &self.Sbz1).field("Control", &self.Control).field("Owner", &self.Owner).field("Group", &self.Group).field("Sacl", &self.Sacl).field(name:"Dacl", &self.Dacl).finish()
3982 }
3983}
3984impl ::windows_core::TypeKind for SECURITY_DESCRIPTOR_RELATIVE {
3985 type TypeKind = ::windows_core::CopyType;
3986}
3987impl ::core::cmp::PartialEq for SECURITY_DESCRIPTOR_RELATIVE {
3988 fn eq(&self, other: &Self) -> bool {
3989 self.Revision == other.Revision && self.Sbz1 == other.Sbz1 && self.Control == other.Control && self.Owner == other.Owner && self.Group == other.Group && self.Sacl == other.Sacl && self.Dacl == other.Dacl
3990 }
3991}
3992impl ::core::cmp::Eq for SECURITY_DESCRIPTOR_RELATIVE {}
3993impl ::core::default::Default for SECURITY_DESCRIPTOR_RELATIVE {
3994 fn default() -> Self {
3995 unsafe { ::core::mem::zeroed() }
3996 }
3997}
3998#[repr(C)]
3999#[doc = "Required features: `\"Win32_Foundation\"`"]
4000#[cfg(feature = "Win32_Foundation")]
4001pub struct SECURITY_QUALITY_OF_SERVICE {
4002 pub Length: u32,
4003 pub ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL,
4004 pub ContextTrackingMode: u8,
4005 pub EffectiveOnly: super::Foundation::BOOLEAN,
4006}
4007#[cfg(feature = "Win32_Foundation")]
4008impl ::core::marker::Copy for SECURITY_QUALITY_OF_SERVICE {}
4009#[cfg(feature = "Win32_Foundation")]
4010impl ::core::clone::Clone for SECURITY_QUALITY_OF_SERVICE {
4011 fn clone(&self) -> Self {
4012 *self
4013 }
4014}
4015#[cfg(feature = "Win32_Foundation")]
4016impl ::core::fmt::Debug for SECURITY_QUALITY_OF_SERVICE {
4017 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4018 f.debug_struct("SECURITY_QUALITY_OF_SERVICE").field("Length", &self.Length).field("ImpersonationLevel", &self.ImpersonationLevel).field("ContextTrackingMode", &self.ContextTrackingMode).field(name:"EffectiveOnly", &self.EffectiveOnly).finish()
4019 }
4020}
4021#[cfg(feature = "Win32_Foundation")]
4022impl ::windows_core::TypeKind for SECURITY_QUALITY_OF_SERVICE {
4023 type TypeKind = ::windows_core::CopyType;
4024}
4025#[cfg(feature = "Win32_Foundation")]
4026impl ::core::cmp::PartialEq for SECURITY_QUALITY_OF_SERVICE {
4027 fn eq(&self, other: &Self) -> bool {
4028 self.Length == other.Length && self.ImpersonationLevel == other.ImpersonationLevel && self.ContextTrackingMode == other.ContextTrackingMode && self.EffectiveOnly == other.EffectiveOnly
4029 }
4030}
4031#[cfg(feature = "Win32_Foundation")]
4032impl ::core::cmp::Eq for SECURITY_QUALITY_OF_SERVICE {}
4033#[cfg(feature = "Win32_Foundation")]
4034impl ::core::default::Default for SECURITY_QUALITY_OF_SERVICE {
4035 fn default() -> Self {
4036 unsafe { ::core::mem::zeroed() }
4037 }
4038}
4039#[repr(C)]
4040#[doc = "Required features: `\"Win32_Foundation\"`"]
4041#[cfg(feature = "Win32_Foundation")]
4042pub struct SE_ACCESS_REPLY {
4043 pub Size: u32,
4044 pub ResultListCount: u32,
4045 pub GrantedAccess: *mut u32,
4046 pub AccessStatus: *mut u32,
4047 pub AccessReason: *mut ACCESS_REASONS,
4048 pub Privileges: *mut *mut PRIVILEGE_SET,
4049}
4050#[cfg(feature = "Win32_Foundation")]
4051impl ::core::marker::Copy for SE_ACCESS_REPLY {}
4052#[cfg(feature = "Win32_Foundation")]
4053impl ::core::clone::Clone for SE_ACCESS_REPLY {
4054 fn clone(&self) -> Self {
4055 *self
4056 }
4057}
4058#[cfg(feature = "Win32_Foundation")]
4059impl ::core::fmt::Debug for SE_ACCESS_REPLY {
4060 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4061 f.debug_struct("SE_ACCESS_REPLY").field("Size", &self.Size).field("ResultListCount", &self.ResultListCount).field("GrantedAccess", &self.GrantedAccess).field("AccessStatus", &self.AccessStatus).field("AccessReason", &self.AccessReason).field(name:"Privileges", &self.Privileges).finish()
4062 }
4063}
4064#[cfg(feature = "Win32_Foundation")]
4065impl ::windows_core::TypeKind for SE_ACCESS_REPLY {
4066 type TypeKind = ::windows_core::CopyType;
4067}
4068#[cfg(feature = "Win32_Foundation")]
4069impl ::core::cmp::PartialEq for SE_ACCESS_REPLY {
4070 fn eq(&self, other: &Self) -> bool {
4071 self.Size == other.Size && self.ResultListCount == other.ResultListCount && self.GrantedAccess == other.GrantedAccess && self.AccessStatus == other.AccessStatus && self.AccessReason == other.AccessReason && self.Privileges == other.Privileges
4072 }
4073}
4074#[cfg(feature = "Win32_Foundation")]
4075impl ::core::cmp::Eq for SE_ACCESS_REPLY {}
4076#[cfg(feature = "Win32_Foundation")]
4077impl ::core::default::Default for SE_ACCESS_REPLY {
4078 fn default() -> Self {
4079 unsafe { ::core::mem::zeroed() }
4080 }
4081}
4082#[repr(C)]
4083#[doc = "Required features: `\"Win32_Foundation\"`"]
4084#[cfg(feature = "Win32_Foundation")]
4085pub struct SE_ACCESS_REQUEST {
4086 pub Size: u32,
4087 pub SeSecurityDescriptor: *mut SE_SECURITY_DESCRIPTOR,
4088 pub DesiredAccess: u32,
4089 pub PreviouslyGrantedAccess: u32,
4090 pub PrincipalSelfSid: super::Foundation::PSID,
4091 pub GenericMapping: *mut GENERIC_MAPPING,
4092 pub ObjectTypeListCount: u32,
4093 pub ObjectTypeList: *mut OBJECT_TYPE_LIST,
4094}
4095#[cfg(feature = "Win32_Foundation")]
4096impl ::core::marker::Copy for SE_ACCESS_REQUEST {}
4097#[cfg(feature = "Win32_Foundation")]
4098impl ::core::clone::Clone for SE_ACCESS_REQUEST {
4099 fn clone(&self) -> Self {
4100 *self
4101 }
4102}
4103#[cfg(feature = "Win32_Foundation")]
4104impl ::core::fmt::Debug for SE_ACCESS_REQUEST {
4105 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4106 f.debug_struct("SE_ACCESS_REQUEST").field("Size", &self.Size).field("SeSecurityDescriptor", &self.SeSecurityDescriptor).field("DesiredAccess", &self.DesiredAccess).field("PreviouslyGrantedAccess", &self.PreviouslyGrantedAccess).field("PrincipalSelfSid", &self.PrincipalSelfSid).field("GenericMapping", &self.GenericMapping).field("ObjectTypeListCount", &self.ObjectTypeListCount).field(name:"ObjectTypeList", &self.ObjectTypeList).finish()
4107 }
4108}
4109#[cfg(feature = "Win32_Foundation")]
4110impl ::windows_core::TypeKind for SE_ACCESS_REQUEST {
4111 type TypeKind = ::windows_core::CopyType;
4112}
4113#[cfg(feature = "Win32_Foundation")]
4114impl ::core::cmp::PartialEq for SE_ACCESS_REQUEST {
4115 fn eq(&self, other: &Self) -> bool {
4116 self.Size == other.Size && self.SeSecurityDescriptor == other.SeSecurityDescriptor && self.DesiredAccess == other.DesiredAccess && self.PreviouslyGrantedAccess == other.PreviouslyGrantedAccess && self.PrincipalSelfSid == other.PrincipalSelfSid && self.GenericMapping == other.GenericMapping && self.ObjectTypeListCount == other.ObjectTypeListCount && self.ObjectTypeList == other.ObjectTypeList
4117 }
4118}
4119#[cfg(feature = "Win32_Foundation")]
4120impl ::core::cmp::Eq for SE_ACCESS_REQUEST {}
4121#[cfg(feature = "Win32_Foundation")]
4122impl ::core::default::Default for SE_ACCESS_REQUEST {
4123 fn default() -> Self {
4124 unsafe { ::core::mem::zeroed() }
4125 }
4126}
4127#[repr(C)]
4128#[doc = "Required features: `\"Win32_Foundation\"`"]
4129#[cfg(feature = "Win32_Foundation")]
4130pub struct SE_IMPERSONATION_STATE {
4131 pub Token: *mut ::core::ffi::c_void,
4132 pub CopyOnOpen: super::Foundation::BOOLEAN,
4133 pub EffectiveOnly: super::Foundation::BOOLEAN,
4134 pub Level: SECURITY_IMPERSONATION_LEVEL,
4135}
4136#[cfg(feature = "Win32_Foundation")]
4137impl ::core::marker::Copy for SE_IMPERSONATION_STATE {}
4138#[cfg(feature = "Win32_Foundation")]
4139impl ::core::clone::Clone for SE_IMPERSONATION_STATE {
4140 fn clone(&self) -> Self {
4141 *self
4142 }
4143}
4144#[cfg(feature = "Win32_Foundation")]
4145impl ::core::fmt::Debug for SE_IMPERSONATION_STATE {
4146 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4147 f.debug_struct("SE_IMPERSONATION_STATE").field("Token", &self.Token).field("CopyOnOpen", &self.CopyOnOpen).field("EffectiveOnly", &self.EffectiveOnly).field(name:"Level", &self.Level).finish()
4148 }
4149}
4150#[cfg(feature = "Win32_Foundation")]
4151impl ::windows_core::TypeKind for SE_IMPERSONATION_STATE {
4152 type TypeKind = ::windows_core::CopyType;
4153}
4154#[cfg(feature = "Win32_Foundation")]
4155impl ::core::cmp::PartialEq for SE_IMPERSONATION_STATE {
4156 fn eq(&self, other: &Self) -> bool {
4157 self.Token == other.Token && self.CopyOnOpen == other.CopyOnOpen && self.EffectiveOnly == other.EffectiveOnly && self.Level == other.Level
4158 }
4159}
4160#[cfg(feature = "Win32_Foundation")]
4161impl ::core::cmp::Eq for SE_IMPERSONATION_STATE {}
4162#[cfg(feature = "Win32_Foundation")]
4163impl ::core::default::Default for SE_IMPERSONATION_STATE {
4164 fn default() -> Self {
4165 unsafe { ::core::mem::zeroed() }
4166 }
4167}
4168#[repr(C)]
4169pub struct SE_SECURITY_DESCRIPTOR {
4170 pub Size: u32,
4171 pub Flags: u32,
4172 pub SecurityDescriptor: PSECURITY_DESCRIPTOR,
4173}
4174impl ::core::marker::Copy for SE_SECURITY_DESCRIPTOR {}
4175impl ::core::clone::Clone for SE_SECURITY_DESCRIPTOR {
4176 fn clone(&self) -> Self {
4177 *self
4178 }
4179}
4180impl ::core::fmt::Debug for SE_SECURITY_DESCRIPTOR {
4181 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4182 f.debug_struct("SE_SECURITY_DESCRIPTOR").field("Size", &self.Size).field("Flags", &self.Flags).field(name:"SecurityDescriptor", &self.SecurityDescriptor).finish()
4183 }
4184}
4185impl ::windows_core::TypeKind for SE_SECURITY_DESCRIPTOR {
4186 type TypeKind = ::windows_core::CopyType;
4187}
4188impl ::core::cmp::PartialEq for SE_SECURITY_DESCRIPTOR {
4189 fn eq(&self, other: &Self) -> bool {
4190 self.Size == other.Size && self.Flags == other.Flags && self.SecurityDescriptor == other.SecurityDescriptor
4191 }
4192}
4193impl ::core::cmp::Eq for SE_SECURITY_DESCRIPTOR {}
4194impl ::core::default::Default for SE_SECURITY_DESCRIPTOR {
4195 fn default() -> Self {
4196 unsafe { ::core::mem::zeroed() }
4197 }
4198}
4199#[repr(C)]
4200pub union SE_SID {
4201 pub Sid: SID,
4202 pub Buffer: [u8; 68],
4203}
4204impl ::core::marker::Copy for SE_SID {}
4205impl ::core::clone::Clone for SE_SID {
4206 fn clone(&self) -> Self {
4207 *self
4208 }
4209}
4210impl ::windows_core::TypeKind for SE_SID {
4211 type TypeKind = ::windows_core::CopyType;
4212}
4213impl ::core::default::Default for SE_SID {
4214 fn default() -> Self {
4215 unsafe { ::core::mem::zeroed() }
4216 }
4217}
4218#[repr(C)]
4219pub struct SID {
4220 pub Revision: u8,
4221 pub SubAuthorityCount: u8,
4222 pub IdentifierAuthority: SID_IDENTIFIER_AUTHORITY,
4223 pub SubAuthority: [u32; 1],
4224}
4225impl ::core::marker::Copy for SID {}
4226impl ::core::clone::Clone for SID {
4227 fn clone(&self) -> Self {
4228 *self
4229 }
4230}
4231impl ::core::fmt::Debug for SID {
4232 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4233 f.debug_struct("SID").field("Revision", &self.Revision).field("SubAuthorityCount", &self.SubAuthorityCount).field("IdentifierAuthority", &self.IdentifierAuthority).field(name:"SubAuthority", &self.SubAuthority).finish()
4234 }
4235}
4236impl ::windows_core::TypeKind for SID {
4237 type TypeKind = ::windows_core::CopyType;
4238}
4239impl ::core::cmp::PartialEq for SID {
4240 fn eq(&self, other: &Self) -> bool {
4241 self.Revision == other.Revision && self.SubAuthorityCount == other.SubAuthorityCount && self.IdentifierAuthority == other.IdentifierAuthority && self.SubAuthority == other.SubAuthority
4242 }
4243}
4244impl ::core::cmp::Eq for SID {}
4245impl ::core::default::Default for SID {
4246 fn default() -> Self {
4247 unsafe { ::core::mem::zeroed() }
4248 }
4249}
4250#[repr(C)]
4251#[doc = "Required features: `\"Win32_Foundation\"`"]
4252#[cfg(feature = "Win32_Foundation")]
4253pub struct SID_AND_ATTRIBUTES {
4254 pub Sid: super::Foundation::PSID,
4255 pub Attributes: u32,
4256}
4257#[cfg(feature = "Win32_Foundation")]
4258impl ::core::marker::Copy for SID_AND_ATTRIBUTES {}
4259#[cfg(feature = "Win32_Foundation")]
4260impl ::core::clone::Clone for SID_AND_ATTRIBUTES {
4261 fn clone(&self) -> Self {
4262 *self
4263 }
4264}
4265#[cfg(feature = "Win32_Foundation")]
4266impl ::core::fmt::Debug for SID_AND_ATTRIBUTES {
4267 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4268 f.debug_struct("SID_AND_ATTRIBUTES").field("Sid", &self.Sid).field(name:"Attributes", &self.Attributes).finish()
4269 }
4270}
4271#[cfg(feature = "Win32_Foundation")]
4272impl ::windows_core::TypeKind for SID_AND_ATTRIBUTES {
4273 type TypeKind = ::windows_core::CopyType;
4274}
4275#[cfg(feature = "Win32_Foundation")]
4276impl ::core::cmp::PartialEq for SID_AND_ATTRIBUTES {
4277 fn eq(&self, other: &Self) -> bool {
4278 self.Sid == other.Sid && self.Attributes == other.Attributes
4279 }
4280}
4281#[cfg(feature = "Win32_Foundation")]
4282impl ::core::cmp::Eq for SID_AND_ATTRIBUTES {}
4283#[cfg(feature = "Win32_Foundation")]
4284impl ::core::default::Default for SID_AND_ATTRIBUTES {
4285 fn default() -> Self {
4286 unsafe { ::core::mem::zeroed() }
4287 }
4288}
4289#[repr(C)]
4290#[doc = "Required features: `\"Win32_Foundation\"`"]
4291#[cfg(feature = "Win32_Foundation")]
4292pub struct SID_AND_ATTRIBUTES_HASH {
4293 pub SidCount: u32,
4294 pub SidAttr: *mut SID_AND_ATTRIBUTES,
4295 pub Hash: [usize; 32],
4296}
4297#[cfg(feature = "Win32_Foundation")]
4298impl ::core::marker::Copy for SID_AND_ATTRIBUTES_HASH {}
4299#[cfg(feature = "Win32_Foundation")]
4300impl ::core::clone::Clone for SID_AND_ATTRIBUTES_HASH {
4301 fn clone(&self) -> Self {
4302 *self
4303 }
4304}
4305#[cfg(feature = "Win32_Foundation")]
4306impl ::core::fmt::Debug for SID_AND_ATTRIBUTES_HASH {
4307 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4308 f.debug_struct("SID_AND_ATTRIBUTES_HASH").field("SidCount", &self.SidCount).field("SidAttr", &self.SidAttr).field(name:"Hash", &self.Hash).finish()
4309 }
4310}
4311#[cfg(feature = "Win32_Foundation")]
4312impl ::windows_core::TypeKind for SID_AND_ATTRIBUTES_HASH {
4313 type TypeKind = ::windows_core::CopyType;
4314}
4315#[cfg(feature = "Win32_Foundation")]
4316impl ::core::cmp::PartialEq for SID_AND_ATTRIBUTES_HASH {
4317 fn eq(&self, other: &Self) -> bool {
4318 self.SidCount == other.SidCount && self.SidAttr == other.SidAttr && self.Hash == other.Hash
4319 }
4320}
4321#[cfg(feature = "Win32_Foundation")]
4322impl ::core::cmp::Eq for SID_AND_ATTRIBUTES_HASH {}
4323#[cfg(feature = "Win32_Foundation")]
4324impl ::core::default::Default for SID_AND_ATTRIBUTES_HASH {
4325 fn default() -> Self {
4326 unsafe { ::core::mem::zeroed() }
4327 }
4328}
4329#[repr(C)]
4330pub struct SID_IDENTIFIER_AUTHORITY {
4331 pub Value: [u8; 6],
4332}
4333impl ::core::marker::Copy for SID_IDENTIFIER_AUTHORITY {}
4334impl ::core::clone::Clone for SID_IDENTIFIER_AUTHORITY {
4335 fn clone(&self) -> Self {
4336 *self
4337 }
4338}
4339impl ::core::fmt::Debug for SID_IDENTIFIER_AUTHORITY {
4340 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4341 f.debug_struct("SID_IDENTIFIER_AUTHORITY").field(name:"Value", &self.Value).finish()
4342 }
4343}
4344impl ::windows_core::TypeKind for SID_IDENTIFIER_AUTHORITY {
4345 type TypeKind = ::windows_core::CopyType;
4346}
4347impl ::core::cmp::PartialEq for SID_IDENTIFIER_AUTHORITY {
4348 fn eq(&self, other: &Self) -> bool {
4349 self.Value == other.Value
4350 }
4351}
4352impl ::core::cmp::Eq for SID_IDENTIFIER_AUTHORITY {}
4353impl ::core::default::Default for SID_IDENTIFIER_AUTHORITY {
4354 fn default() -> Self {
4355 unsafe { ::core::mem::zeroed() }
4356 }
4357}
4358#[repr(C)]
4359pub struct SYSTEM_ACCESS_FILTER_ACE {
4360 pub Header: ACE_HEADER,
4361 pub Mask: u32,
4362 pub SidStart: u32,
4363}
4364impl ::core::marker::Copy for SYSTEM_ACCESS_FILTER_ACE {}
4365impl ::core::clone::Clone for SYSTEM_ACCESS_FILTER_ACE {
4366 fn clone(&self) -> Self {
4367 *self
4368 }
4369}
4370impl ::core::fmt::Debug for SYSTEM_ACCESS_FILTER_ACE {
4371 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4372 f.debug_struct("SYSTEM_ACCESS_FILTER_ACE").field("Header", &self.Header).field("Mask", &self.Mask).field(name:"SidStart", &self.SidStart).finish()
4373 }
4374}
4375impl ::windows_core::TypeKind for SYSTEM_ACCESS_FILTER_ACE {
4376 type TypeKind = ::windows_core::CopyType;
4377}
4378impl ::core::cmp::PartialEq for SYSTEM_ACCESS_FILTER_ACE {
4379 fn eq(&self, other: &Self) -> bool {
4380 self.Header == other.Header && self.Mask == other.Mask && self.SidStart == other.SidStart
4381 }
4382}
4383impl ::core::cmp::Eq for SYSTEM_ACCESS_FILTER_ACE {}
4384impl ::core::default::Default for SYSTEM_ACCESS_FILTER_ACE {
4385 fn default() -> Self {
4386 unsafe { ::core::mem::zeroed() }
4387 }
4388}
4389#[repr(C)]
4390pub struct SYSTEM_ALARM_ACE {
4391 pub Header: ACE_HEADER,
4392 pub Mask: u32,
4393 pub SidStart: u32,
4394}
4395impl ::core::marker::Copy for SYSTEM_ALARM_ACE {}
4396impl ::core::clone::Clone for SYSTEM_ALARM_ACE {
4397 fn clone(&self) -> Self {
4398 *self
4399 }
4400}
4401impl ::core::fmt::Debug for SYSTEM_ALARM_ACE {
4402 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4403 f.debug_struct("SYSTEM_ALARM_ACE").field("Header", &self.Header).field("Mask", &self.Mask).field(name:"SidStart", &self.SidStart).finish()
4404 }
4405}
4406impl ::windows_core::TypeKind for SYSTEM_ALARM_ACE {
4407 type TypeKind = ::windows_core::CopyType;
4408}
4409impl ::core::cmp::PartialEq for SYSTEM_ALARM_ACE {
4410 fn eq(&self, other: &Self) -> bool {
4411 self.Header == other.Header && self.Mask == other.Mask && self.SidStart == other.SidStart
4412 }
4413}
4414impl ::core::cmp::Eq for SYSTEM_ALARM_ACE {}
4415impl ::core::default::Default for SYSTEM_ALARM_ACE {
4416 fn default() -> Self {
4417 unsafe { ::core::mem::zeroed() }
4418 }
4419}
4420#[repr(C)]
4421pub struct SYSTEM_ALARM_CALLBACK_ACE {
4422 pub Header: ACE_HEADER,
4423 pub Mask: u32,
4424 pub SidStart: u32,
4425}
4426impl ::core::marker::Copy for SYSTEM_ALARM_CALLBACK_ACE {}
4427impl ::core::clone::Clone for SYSTEM_ALARM_CALLBACK_ACE {
4428 fn clone(&self) -> Self {
4429 *self
4430 }
4431}
4432impl ::core::fmt::Debug for SYSTEM_ALARM_CALLBACK_ACE {
4433 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4434 f.debug_struct("SYSTEM_ALARM_CALLBACK_ACE").field("Header", &self.Header).field("Mask", &self.Mask).field(name:"SidStart", &self.SidStart).finish()
4435 }
4436}
4437impl ::windows_core::TypeKind for SYSTEM_ALARM_CALLBACK_ACE {
4438 type TypeKind = ::windows_core::CopyType;
4439}
4440impl ::core::cmp::PartialEq for SYSTEM_ALARM_CALLBACK_ACE {
4441 fn eq(&self, other: &Self) -> bool {
4442 self.Header == other.Header && self.Mask == other.Mask && self.SidStart == other.SidStart
4443 }
4444}
4445impl ::core::cmp::Eq for SYSTEM_ALARM_CALLBACK_ACE {}
4446impl ::core::default::Default for SYSTEM_ALARM_CALLBACK_ACE {
4447 fn default() -> Self {
4448 unsafe { ::core::mem::zeroed() }
4449 }
4450}
4451#[repr(C)]
4452pub struct SYSTEM_ALARM_CALLBACK_OBJECT_ACE {
4453 pub Header: ACE_HEADER,
4454 pub Mask: u32,
4455 pub Flags: SYSTEM_AUDIT_OBJECT_ACE_FLAGS,
4456 pub ObjectType: ::windows_core::GUID,
4457 pub InheritedObjectType: ::windows_core::GUID,
4458 pub SidStart: u32,
4459}
4460impl ::core::marker::Copy for SYSTEM_ALARM_CALLBACK_OBJECT_ACE {}
4461impl ::core::clone::Clone for SYSTEM_ALARM_CALLBACK_OBJECT_ACE {
4462 fn clone(&self) -> Self {
4463 *self
4464 }
4465}
4466impl ::core::fmt::Debug for SYSTEM_ALARM_CALLBACK_OBJECT_ACE {
4467 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4468 f.debug_struct("SYSTEM_ALARM_CALLBACK_OBJECT_ACE").field("Header", &self.Header).field("Mask", &self.Mask).field("Flags", &self.Flags).field("ObjectType", &self.ObjectType).field("InheritedObjectType", &self.InheritedObjectType).field(name:"SidStart", &self.SidStart).finish()
4469 }
4470}
4471impl ::windows_core::TypeKind for SYSTEM_ALARM_CALLBACK_OBJECT_ACE {
4472 type TypeKind = ::windows_core::CopyType;
4473}
4474impl ::core::cmp::PartialEq for SYSTEM_ALARM_CALLBACK_OBJECT_ACE {
4475 fn eq(&self, other: &Self) -> bool {
4476 self.Header == other.Header && self.Mask == other.Mask && self.Flags == other.Flags && self.ObjectType == other.ObjectType && self.InheritedObjectType == other.InheritedObjectType && self.SidStart == other.SidStart
4477 }
4478}
4479impl ::core::cmp::Eq for SYSTEM_ALARM_CALLBACK_OBJECT_ACE {}
4480impl ::core::default::Default for SYSTEM_ALARM_CALLBACK_OBJECT_ACE {
4481 fn default() -> Self {
4482 unsafe { ::core::mem::zeroed() }
4483 }
4484}
4485#[repr(C)]
4486pub struct SYSTEM_ALARM_OBJECT_ACE {
4487 pub Header: ACE_HEADER,
4488 pub Mask: u32,
4489 pub Flags: u32,
4490 pub ObjectType: ::windows_core::GUID,
4491 pub InheritedObjectType: ::windows_core::GUID,
4492 pub SidStart: u32,
4493}
4494impl ::core::marker::Copy for SYSTEM_ALARM_OBJECT_ACE {}
4495impl ::core::clone::Clone for SYSTEM_ALARM_OBJECT_ACE {
4496 fn clone(&self) -> Self {
4497 *self
4498 }
4499}
4500impl ::core::fmt::Debug for SYSTEM_ALARM_OBJECT_ACE {
4501 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4502 f.debug_struct("SYSTEM_ALARM_OBJECT_ACE").field("Header", &self.Header).field("Mask", &self.Mask).field("Flags", &self.Flags).field("ObjectType", &self.ObjectType).field("InheritedObjectType", &self.InheritedObjectType).field(name:"SidStart", &self.SidStart).finish()
4503 }
4504}
4505impl ::windows_core::TypeKind for SYSTEM_ALARM_OBJECT_ACE {
4506 type TypeKind = ::windows_core::CopyType;
4507}
4508impl ::core::cmp::PartialEq for SYSTEM_ALARM_OBJECT_ACE {
4509 fn eq(&self, other: &Self) -> bool {
4510 self.Header == other.Header && self.Mask == other.Mask && self.Flags == other.Flags && self.ObjectType == other.ObjectType && self.InheritedObjectType == other.InheritedObjectType && self.SidStart == other.SidStart
4511 }
4512}
4513impl ::core::cmp::Eq for SYSTEM_ALARM_OBJECT_ACE {}
4514impl ::core::default::Default for SYSTEM_ALARM_OBJECT_ACE {
4515 fn default() -> Self {
4516 unsafe { ::core::mem::zeroed() }
4517 }
4518}
4519#[repr(C)]
4520pub struct SYSTEM_AUDIT_ACE {
4521 pub Header: ACE_HEADER,
4522 pub Mask: u32,
4523 pub SidStart: u32,
4524}
4525impl ::core::marker::Copy for SYSTEM_AUDIT_ACE {}
4526impl ::core::clone::Clone for SYSTEM_AUDIT_ACE {
4527 fn clone(&self) -> Self {
4528 *self
4529 }
4530}
4531impl ::core::fmt::Debug for SYSTEM_AUDIT_ACE {
4532 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4533 f.debug_struct("SYSTEM_AUDIT_ACE").field("Header", &self.Header).field("Mask", &self.Mask).field(name:"SidStart", &self.SidStart).finish()
4534 }
4535}
4536impl ::windows_core::TypeKind for SYSTEM_AUDIT_ACE {
4537 type TypeKind = ::windows_core::CopyType;
4538}
4539impl ::core::cmp::PartialEq for SYSTEM_AUDIT_ACE {
4540 fn eq(&self, other: &Self) -> bool {
4541 self.Header == other.Header && self.Mask == other.Mask && self.SidStart == other.SidStart
4542 }
4543}
4544impl ::core::cmp::Eq for SYSTEM_AUDIT_ACE {}
4545impl ::core::default::Default for SYSTEM_AUDIT_ACE {
4546 fn default() -> Self {
4547 unsafe { ::core::mem::zeroed() }
4548 }
4549}
4550#[repr(C)]
4551pub struct SYSTEM_AUDIT_CALLBACK_ACE {
4552 pub Header: ACE_HEADER,
4553 pub Mask: u32,
4554 pub SidStart: u32,
4555}
4556impl ::core::marker::Copy for SYSTEM_AUDIT_CALLBACK_ACE {}
4557impl ::core::clone::Clone for SYSTEM_AUDIT_CALLBACK_ACE {
4558 fn clone(&self) -> Self {
4559 *self
4560 }
4561}
4562impl ::core::fmt::Debug for SYSTEM_AUDIT_CALLBACK_ACE {
4563 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4564 f.debug_struct("SYSTEM_AUDIT_CALLBACK_ACE").field("Header", &self.Header).field("Mask", &self.Mask).field(name:"SidStart", &self.SidStart).finish()
4565 }
4566}
4567impl ::windows_core::TypeKind for SYSTEM_AUDIT_CALLBACK_ACE {
4568 type TypeKind = ::windows_core::CopyType;
4569}
4570impl ::core::cmp::PartialEq for SYSTEM_AUDIT_CALLBACK_ACE {
4571 fn eq(&self, other: &Self) -> bool {
4572 self.Header == other.Header && self.Mask == other.Mask && self.SidStart == other.SidStart
4573 }
4574}
4575impl ::core::cmp::Eq for SYSTEM_AUDIT_CALLBACK_ACE {}
4576impl ::core::default::Default for SYSTEM_AUDIT_CALLBACK_ACE {
4577 fn default() -> Self {
4578 unsafe { ::core::mem::zeroed() }
4579 }
4580}
4581#[repr(C)]
4582pub struct SYSTEM_AUDIT_CALLBACK_OBJECT_ACE {
4583 pub Header: ACE_HEADER,
4584 pub Mask: u32,
4585 pub Flags: SYSTEM_AUDIT_OBJECT_ACE_FLAGS,
4586 pub ObjectType: ::windows_core::GUID,
4587 pub InheritedObjectType: ::windows_core::GUID,
4588 pub SidStart: u32,
4589}
4590impl ::core::marker::Copy for SYSTEM_AUDIT_CALLBACK_OBJECT_ACE {}
4591impl ::core::clone::Clone for SYSTEM_AUDIT_CALLBACK_OBJECT_ACE {
4592 fn clone(&self) -> Self {
4593 *self
4594 }
4595}
4596impl ::core::fmt::Debug for SYSTEM_AUDIT_CALLBACK_OBJECT_ACE {
4597 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4598 f.debug_struct("SYSTEM_AUDIT_CALLBACK_OBJECT_ACE").field("Header", &self.Header).field("Mask", &self.Mask).field("Flags", &self.Flags).field("ObjectType", &self.ObjectType).field("InheritedObjectType", &self.InheritedObjectType).field(name:"SidStart", &self.SidStart).finish()
4599 }
4600}
4601impl ::windows_core::TypeKind for SYSTEM_AUDIT_CALLBACK_OBJECT_ACE {
4602 type TypeKind = ::windows_core::CopyType;
4603}
4604impl ::core::cmp::PartialEq for SYSTEM_AUDIT_CALLBACK_OBJECT_ACE {
4605 fn eq(&self, other: &Self) -> bool {
4606 self.Header == other.Header && self.Mask == other.Mask && self.Flags == other.Flags && self.ObjectType == other.ObjectType && self.InheritedObjectType == other.InheritedObjectType && self.SidStart == other.SidStart
4607 }
4608}
4609impl ::core::cmp::Eq for SYSTEM_AUDIT_CALLBACK_OBJECT_ACE {}
4610impl ::core::default::Default for SYSTEM_AUDIT_CALLBACK_OBJECT_ACE {
4611 fn default() -> Self {
4612 unsafe { ::core::mem::zeroed() }
4613 }
4614}
4615#[repr(C)]
4616pub struct SYSTEM_AUDIT_OBJECT_ACE {
4617 pub Header: ACE_HEADER,
4618 pub Mask: u32,
4619 pub Flags: SYSTEM_AUDIT_OBJECT_ACE_FLAGS,
4620 pub ObjectType: ::windows_core::GUID,
4621 pub InheritedObjectType: ::windows_core::GUID,
4622 pub SidStart: u32,
4623}
4624impl ::core::marker::Copy for SYSTEM_AUDIT_OBJECT_ACE {}
4625impl ::core::clone::Clone for SYSTEM_AUDIT_OBJECT_ACE {
4626 fn clone(&self) -> Self {
4627 *self
4628 }
4629}
4630impl ::core::fmt::Debug for SYSTEM_AUDIT_OBJECT_ACE {
4631 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4632 f.debug_struct("SYSTEM_AUDIT_OBJECT_ACE").field("Header", &self.Header).field("Mask", &self.Mask).field("Flags", &self.Flags).field("ObjectType", &self.ObjectType).field("InheritedObjectType", &self.InheritedObjectType).field(name:"SidStart", &self.SidStart).finish()
4633 }
4634}
4635impl ::windows_core::TypeKind for SYSTEM_AUDIT_OBJECT_ACE {
4636 type TypeKind = ::windows_core::CopyType;
4637}
4638impl ::core::cmp::PartialEq for SYSTEM_AUDIT_OBJECT_ACE {
4639 fn eq(&self, other: &Self) -> bool {
4640 self.Header == other.Header && self.Mask == other.Mask && self.Flags == other.Flags && self.ObjectType == other.ObjectType && self.InheritedObjectType == other.InheritedObjectType && self.SidStart == other.SidStart
4641 }
4642}
4643impl ::core::cmp::Eq for SYSTEM_AUDIT_OBJECT_ACE {}
4644impl ::core::default::Default for SYSTEM_AUDIT_OBJECT_ACE {
4645 fn default() -> Self {
4646 unsafe { ::core::mem::zeroed() }
4647 }
4648}
4649#[repr(C)]
4650pub struct SYSTEM_MANDATORY_LABEL_ACE {
4651 pub Header: ACE_HEADER,
4652 pub Mask: u32,
4653 pub SidStart: u32,
4654}
4655impl ::core::marker::Copy for SYSTEM_MANDATORY_LABEL_ACE {}
4656impl ::core::clone::Clone for SYSTEM_MANDATORY_LABEL_ACE {
4657 fn clone(&self) -> Self {
4658 *self
4659 }
4660}
4661impl ::core::fmt::Debug for SYSTEM_MANDATORY_LABEL_ACE {
4662 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4663 f.debug_struct("SYSTEM_MANDATORY_LABEL_ACE").field("Header", &self.Header).field("Mask", &self.Mask).field(name:"SidStart", &self.SidStart).finish()
4664 }
4665}
4666impl ::windows_core::TypeKind for SYSTEM_MANDATORY_LABEL_ACE {
4667 type TypeKind = ::windows_core::CopyType;
4668}
4669impl ::core::cmp::PartialEq for SYSTEM_MANDATORY_LABEL_ACE {
4670 fn eq(&self, other: &Self) -> bool {
4671 self.Header == other.Header && self.Mask == other.Mask && self.SidStart == other.SidStart
4672 }
4673}
4674impl ::core::cmp::Eq for SYSTEM_MANDATORY_LABEL_ACE {}
4675impl ::core::default::Default for SYSTEM_MANDATORY_LABEL_ACE {
4676 fn default() -> Self {
4677 unsafe { ::core::mem::zeroed() }
4678 }
4679}
4680#[repr(C)]
4681pub struct SYSTEM_PROCESS_TRUST_LABEL_ACE {
4682 pub Header: ACE_HEADER,
4683 pub Mask: u32,
4684 pub SidStart: u32,
4685}
4686impl ::core::marker::Copy for SYSTEM_PROCESS_TRUST_LABEL_ACE {}
4687impl ::core::clone::Clone for SYSTEM_PROCESS_TRUST_LABEL_ACE {
4688 fn clone(&self) -> Self {
4689 *self
4690 }
4691}
4692impl ::core::fmt::Debug for SYSTEM_PROCESS_TRUST_LABEL_ACE {
4693 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4694 f.debug_struct("SYSTEM_PROCESS_TRUST_LABEL_ACE").field("Header", &self.Header).field("Mask", &self.Mask).field(name:"SidStart", &self.SidStart).finish()
4695 }
4696}
4697impl ::windows_core::TypeKind for SYSTEM_PROCESS_TRUST_LABEL_ACE {
4698 type TypeKind = ::windows_core::CopyType;
4699}
4700impl ::core::cmp::PartialEq for SYSTEM_PROCESS_TRUST_LABEL_ACE {
4701 fn eq(&self, other: &Self) -> bool {
4702 self.Header == other.Header && self.Mask == other.Mask && self.SidStart == other.SidStart
4703 }
4704}
4705impl ::core::cmp::Eq for SYSTEM_PROCESS_TRUST_LABEL_ACE {}
4706impl ::core::default::Default for SYSTEM_PROCESS_TRUST_LABEL_ACE {
4707 fn default() -> Self {
4708 unsafe { ::core::mem::zeroed() }
4709 }
4710}
4711#[repr(C)]
4712pub struct SYSTEM_RESOURCE_ATTRIBUTE_ACE {
4713 pub Header: ACE_HEADER,
4714 pub Mask: u32,
4715 pub SidStart: u32,
4716}
4717impl ::core::marker::Copy for SYSTEM_RESOURCE_ATTRIBUTE_ACE {}
4718impl ::core::clone::Clone for SYSTEM_RESOURCE_ATTRIBUTE_ACE {
4719 fn clone(&self) -> Self {
4720 *self
4721 }
4722}
4723impl ::core::fmt::Debug for SYSTEM_RESOURCE_ATTRIBUTE_ACE {
4724 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4725 f.debug_struct("SYSTEM_RESOURCE_ATTRIBUTE_ACE").field("Header", &self.Header).field("Mask", &self.Mask).field(name:"SidStart", &self.SidStart).finish()
4726 }
4727}
4728impl ::windows_core::TypeKind for SYSTEM_RESOURCE_ATTRIBUTE_ACE {
4729 type TypeKind = ::windows_core::CopyType;
4730}
4731impl ::core::cmp::PartialEq for SYSTEM_RESOURCE_ATTRIBUTE_ACE {
4732 fn eq(&self, other: &Self) -> bool {
4733 self.Header == other.Header && self.Mask == other.Mask && self.SidStart == other.SidStart
4734 }
4735}
4736impl ::core::cmp::Eq for SYSTEM_RESOURCE_ATTRIBUTE_ACE {}
4737impl ::core::default::Default for SYSTEM_RESOURCE_ATTRIBUTE_ACE {
4738 fn default() -> Self {
4739 unsafe { ::core::mem::zeroed() }
4740 }
4741}
4742#[repr(C)]
4743pub struct SYSTEM_SCOPED_POLICY_ID_ACE {
4744 pub Header: ACE_HEADER,
4745 pub Mask: u32,
4746 pub SidStart: u32,
4747}
4748impl ::core::marker::Copy for SYSTEM_SCOPED_POLICY_ID_ACE {}
4749impl ::core::clone::Clone for SYSTEM_SCOPED_POLICY_ID_ACE {
4750 fn clone(&self) -> Self {
4751 *self
4752 }
4753}
4754impl ::core::fmt::Debug for SYSTEM_SCOPED_POLICY_ID_ACE {
4755 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4756 f.debug_struct("SYSTEM_SCOPED_POLICY_ID_ACE").field("Header", &self.Header).field("Mask", &self.Mask).field(name:"SidStart", &self.SidStart).finish()
4757 }
4758}
4759impl ::windows_core::TypeKind for SYSTEM_SCOPED_POLICY_ID_ACE {
4760 type TypeKind = ::windows_core::CopyType;
4761}
4762impl ::core::cmp::PartialEq for SYSTEM_SCOPED_POLICY_ID_ACE {
4763 fn eq(&self, other: &Self) -> bool {
4764 self.Header == other.Header && self.Mask == other.Mask && self.SidStart == other.SidStart
4765 }
4766}
4767impl ::core::cmp::Eq for SYSTEM_SCOPED_POLICY_ID_ACE {}
4768impl ::core::default::Default for SYSTEM_SCOPED_POLICY_ID_ACE {
4769 fn default() -> Self {
4770 unsafe { ::core::mem::zeroed() }
4771 }
4772}
4773#[repr(C)]
4774#[doc = "Required features: `\"Win32_Foundation\"`"]
4775#[cfg(feature = "Win32_Foundation")]
4776pub struct TOKEN_ACCESS_INFORMATION {
4777 pub SidHash: *mut SID_AND_ATTRIBUTES_HASH,
4778 pub RestrictedSidHash: *mut SID_AND_ATTRIBUTES_HASH,
4779 pub Privileges: *mut TOKEN_PRIVILEGES,
4780 pub AuthenticationId: super::Foundation::LUID,
4781 pub TokenType: TOKEN_TYPE,
4782 pub ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL,
4783 pub MandatoryPolicy: TOKEN_MANDATORY_POLICY,
4784 pub Flags: u32,
4785 pub AppContainerNumber: u32,
4786 pub PackageSid: super::Foundation::PSID,
4787 pub CapabilitiesHash: *mut SID_AND_ATTRIBUTES_HASH,
4788 pub TrustLevelSid: super::Foundation::PSID,
4789 pub SecurityAttributes: *mut ::core::ffi::c_void,
4790}
4791#[cfg(feature = "Win32_Foundation")]
4792impl ::core::marker::Copy for TOKEN_ACCESS_INFORMATION {}
4793#[cfg(feature = "Win32_Foundation")]
4794impl ::core::clone::Clone for TOKEN_ACCESS_INFORMATION {
4795 fn clone(&self) -> Self {
4796 *self
4797 }
4798}
4799#[cfg(feature = "Win32_Foundation")]
4800impl ::core::fmt::Debug for TOKEN_ACCESS_INFORMATION {
4801 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4802 f&mut DebugStruct<'_, '_>.debug_struct("TOKEN_ACCESS_INFORMATION")
4803 .field("SidHash", &self.SidHash)
4804 .field("RestrictedSidHash", &self.RestrictedSidHash)
4805 .field("Privileges", &self.Privileges)
4806 .field("AuthenticationId", &self.AuthenticationId)
4807 .field("TokenType", &self.TokenType)
4808 .field("ImpersonationLevel", &self.ImpersonationLevel)
4809 .field("MandatoryPolicy", &self.MandatoryPolicy)
4810 .field("Flags", &self.Flags)
4811 .field("AppContainerNumber", &self.AppContainerNumber)
4812 .field("PackageSid", &self.PackageSid)
4813 .field("CapabilitiesHash", &self.CapabilitiesHash)
4814 .field("TrustLevelSid", &self.TrustLevelSid)
4815 .field(name:"SecurityAttributes", &self.SecurityAttributes)
4816 .finish()
4817 }
4818}
4819#[cfg(feature = "Win32_Foundation")]
4820impl ::windows_core::TypeKind for TOKEN_ACCESS_INFORMATION {
4821 type TypeKind = ::windows_core::CopyType;
4822}
4823#[cfg(feature = "Win32_Foundation")]
4824impl ::core::cmp::PartialEq for TOKEN_ACCESS_INFORMATION {
4825 fn eq(&self, other: &Self) -> bool {
4826 self.SidHash == other.SidHash && self.RestrictedSidHash == other.RestrictedSidHash && self.Privileges == other.Privileges && self.AuthenticationId == other.AuthenticationId && self.TokenType == other.TokenType && self.ImpersonationLevel == other.ImpersonationLevel && self.MandatoryPolicy == other.MandatoryPolicy && self.Flags == other.Flags && self.AppContainerNumber == other.AppContainerNumber && self.PackageSid == other.PackageSid && self.CapabilitiesHash == other.CapabilitiesHash && self.TrustLevelSid == other.TrustLevelSid && self.SecurityAttributes == other.SecurityAttributes
4827 }
4828}
4829#[cfg(feature = "Win32_Foundation")]
4830impl ::core::cmp::Eq for TOKEN_ACCESS_INFORMATION {}
4831#[cfg(feature = "Win32_Foundation")]
4832impl ::core::default::Default for TOKEN_ACCESS_INFORMATION {
4833 fn default() -> Self {
4834 unsafe { ::core::mem::zeroed() }
4835 }
4836}
4837#[repr(C)]
4838#[doc = "Required features: `\"Win32_Foundation\"`"]
4839#[cfg(feature = "Win32_Foundation")]
4840pub struct TOKEN_APPCONTAINER_INFORMATION {
4841 pub TokenAppContainer: super::Foundation::PSID,
4842}
4843#[cfg(feature = "Win32_Foundation")]
4844impl ::core::marker::Copy for TOKEN_APPCONTAINER_INFORMATION {}
4845#[cfg(feature = "Win32_Foundation")]
4846impl ::core::clone::Clone for TOKEN_APPCONTAINER_INFORMATION {
4847 fn clone(&self) -> Self {
4848 *self
4849 }
4850}
4851#[cfg(feature = "Win32_Foundation")]
4852impl ::core::fmt::Debug for TOKEN_APPCONTAINER_INFORMATION {
4853 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4854 f.debug_struct("TOKEN_APPCONTAINER_INFORMATION").field(name:"TokenAppContainer", &self.TokenAppContainer).finish()
4855 }
4856}
4857#[cfg(feature = "Win32_Foundation")]
4858impl ::windows_core::TypeKind for TOKEN_APPCONTAINER_INFORMATION {
4859 type TypeKind = ::windows_core::CopyType;
4860}
4861#[cfg(feature = "Win32_Foundation")]
4862impl ::core::cmp::PartialEq for TOKEN_APPCONTAINER_INFORMATION {
4863 fn eq(&self, other: &Self) -> bool {
4864 self.TokenAppContainer == other.TokenAppContainer
4865 }
4866}
4867#[cfg(feature = "Win32_Foundation")]
4868impl ::core::cmp::Eq for TOKEN_APPCONTAINER_INFORMATION {}
4869#[cfg(feature = "Win32_Foundation")]
4870impl ::core::default::Default for TOKEN_APPCONTAINER_INFORMATION {
4871 fn default() -> Self {
4872 unsafe { ::core::mem::zeroed() }
4873 }
4874}
4875#[repr(C)]
4876pub struct TOKEN_AUDIT_POLICY {
4877 pub PerUserPolicy: [u8; 30],
4878}
4879impl ::core::marker::Copy for TOKEN_AUDIT_POLICY {}
4880impl ::core::clone::Clone for TOKEN_AUDIT_POLICY {
4881 fn clone(&self) -> Self {
4882 *self
4883 }
4884}
4885impl ::core::fmt::Debug for TOKEN_AUDIT_POLICY {
4886 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4887 f.debug_struct("TOKEN_AUDIT_POLICY").field(name:"PerUserPolicy", &self.PerUserPolicy).finish()
4888 }
4889}
4890impl ::windows_core::TypeKind for TOKEN_AUDIT_POLICY {
4891 type TypeKind = ::windows_core::CopyType;
4892}
4893impl ::core::cmp::PartialEq for TOKEN_AUDIT_POLICY {
4894 fn eq(&self, other: &Self) -> bool {
4895 self.PerUserPolicy == other.PerUserPolicy
4896 }
4897}
4898impl ::core::cmp::Eq for TOKEN_AUDIT_POLICY {}
4899impl ::core::default::Default for TOKEN_AUDIT_POLICY {
4900 fn default() -> Self {
4901 unsafe { ::core::mem::zeroed() }
4902 }
4903}
4904#[repr(C)]
4905#[doc = "Required features: `\"Win32_Foundation\"`"]
4906#[cfg(feature = "Win32_Foundation")]
4907pub struct TOKEN_CONTROL {
4908 pub TokenId: super::Foundation::LUID,
4909 pub AuthenticationId: super::Foundation::LUID,
4910 pub ModifiedId: super::Foundation::LUID,
4911 pub TokenSource: TOKEN_SOURCE,
4912}
4913#[cfg(feature = "Win32_Foundation")]
4914impl ::core::marker::Copy for TOKEN_CONTROL {}
4915#[cfg(feature = "Win32_Foundation")]
4916impl ::core::clone::Clone for TOKEN_CONTROL {
4917 fn clone(&self) -> Self {
4918 *self
4919 }
4920}
4921#[cfg(feature = "Win32_Foundation")]
4922impl ::core::fmt::Debug for TOKEN_CONTROL {
4923 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4924 f.debug_struct("TOKEN_CONTROL").field("TokenId", &self.TokenId).field("AuthenticationId", &self.AuthenticationId).field("ModifiedId", &self.ModifiedId).field(name:"TokenSource", &self.TokenSource).finish()
4925 }
4926}
4927#[cfg(feature = "Win32_Foundation")]
4928impl ::windows_core::TypeKind for TOKEN_CONTROL {
4929 type TypeKind = ::windows_core::CopyType;
4930}
4931#[cfg(feature = "Win32_Foundation")]
4932impl ::core::cmp::PartialEq for TOKEN_CONTROL {
4933 fn eq(&self, other: &Self) -> bool {
4934 self.TokenId == other.TokenId && self.AuthenticationId == other.AuthenticationId && self.ModifiedId == other.ModifiedId && self.TokenSource == other.TokenSource
4935 }
4936}
4937#[cfg(feature = "Win32_Foundation")]
4938impl ::core::cmp::Eq for TOKEN_CONTROL {}
4939#[cfg(feature = "Win32_Foundation")]
4940impl ::core::default::Default for TOKEN_CONTROL {
4941 fn default() -> Self {
4942 unsafe { ::core::mem::zeroed() }
4943 }
4944}
4945#[repr(C)]
4946pub struct TOKEN_DEFAULT_DACL {
4947 pub DefaultDacl: *mut ACL,
4948}
4949impl ::core::marker::Copy for TOKEN_DEFAULT_DACL {}
4950impl ::core::clone::Clone for TOKEN_DEFAULT_DACL {
4951 fn clone(&self) -> Self {
4952 *self
4953 }
4954}
4955impl ::core::fmt::Debug for TOKEN_DEFAULT_DACL {
4956 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4957 f.debug_struct("TOKEN_DEFAULT_DACL").field(name:"DefaultDacl", &self.DefaultDacl).finish()
4958 }
4959}
4960impl ::windows_core::TypeKind for TOKEN_DEFAULT_DACL {
4961 type TypeKind = ::windows_core::CopyType;
4962}
4963impl ::core::cmp::PartialEq for TOKEN_DEFAULT_DACL {
4964 fn eq(&self, other: &Self) -> bool {
4965 self.DefaultDacl == other.DefaultDacl
4966 }
4967}
4968impl ::core::cmp::Eq for TOKEN_DEFAULT_DACL {}
4969impl ::core::default::Default for TOKEN_DEFAULT_DACL {
4970 fn default() -> Self {
4971 unsafe { ::core::mem::zeroed() }
4972 }
4973}
4974#[repr(C)]
4975pub struct TOKEN_DEVICE_CLAIMS {
4976 pub DeviceClaims: *mut ::core::ffi::c_void,
4977}
4978impl ::core::marker::Copy for TOKEN_DEVICE_CLAIMS {}
4979impl ::core::clone::Clone for TOKEN_DEVICE_CLAIMS {
4980 fn clone(&self) -> Self {
4981 *self
4982 }
4983}
4984impl ::core::fmt::Debug for TOKEN_DEVICE_CLAIMS {
4985 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4986 f.debug_struct("TOKEN_DEVICE_CLAIMS").field(name:"DeviceClaims", &self.DeviceClaims).finish()
4987 }
4988}
4989impl ::windows_core::TypeKind for TOKEN_DEVICE_CLAIMS {
4990 type TypeKind = ::windows_core::CopyType;
4991}
4992impl ::core::cmp::PartialEq for TOKEN_DEVICE_CLAIMS {
4993 fn eq(&self, other: &Self) -> bool {
4994 self.DeviceClaims == other.DeviceClaims
4995 }
4996}
4997impl ::core::cmp::Eq for TOKEN_DEVICE_CLAIMS {}
4998impl ::core::default::Default for TOKEN_DEVICE_CLAIMS {
4999 fn default() -> Self {
5000 unsafe { ::core::mem::zeroed() }
5001 }
5002}
5003#[repr(C)]
5004pub struct TOKEN_ELEVATION {
5005 pub TokenIsElevated: u32,
5006}
5007impl ::core::marker::Copy for TOKEN_ELEVATION {}
5008impl ::core::clone::Clone for TOKEN_ELEVATION {
5009 fn clone(&self) -> Self {
5010 *self
5011 }
5012}
5013impl ::core::fmt::Debug for TOKEN_ELEVATION {
5014 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5015 f.debug_struct("TOKEN_ELEVATION").field(name:"TokenIsElevated", &self.TokenIsElevated).finish()
5016 }
5017}
5018impl ::windows_core::TypeKind for TOKEN_ELEVATION {
5019 type TypeKind = ::windows_core::CopyType;
5020}
5021impl ::core::cmp::PartialEq for TOKEN_ELEVATION {
5022 fn eq(&self, other: &Self) -> bool {
5023 self.TokenIsElevated == other.TokenIsElevated
5024 }
5025}
5026impl ::core::cmp::Eq for TOKEN_ELEVATION {}
5027impl ::core::default::Default for TOKEN_ELEVATION {
5028 fn default() -> Self {
5029 unsafe { ::core::mem::zeroed() }
5030 }
5031}
5032#[repr(C)]
5033#[doc = "Required features: `\"Win32_Foundation\"`"]
5034#[cfg(feature = "Win32_Foundation")]
5035pub struct TOKEN_GROUPS {
5036 pub GroupCount: u32,
5037 pub Groups: [SID_AND_ATTRIBUTES; 1],
5038}
5039#[cfg(feature = "Win32_Foundation")]
5040impl ::core::marker::Copy for TOKEN_GROUPS {}
5041#[cfg(feature = "Win32_Foundation")]
5042impl ::core::clone::Clone for TOKEN_GROUPS {
5043 fn clone(&self) -> Self {
5044 *self
5045 }
5046}
5047#[cfg(feature = "Win32_Foundation")]
5048impl ::core::fmt::Debug for TOKEN_GROUPS {
5049 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5050 f.debug_struct("TOKEN_GROUPS").field("GroupCount", &self.GroupCount).field(name:"Groups", &self.Groups).finish()
5051 }
5052}
5053#[cfg(feature = "Win32_Foundation")]
5054impl ::windows_core::TypeKind for TOKEN_GROUPS {
5055 type TypeKind = ::windows_core::CopyType;
5056}
5057#[cfg(feature = "Win32_Foundation")]
5058impl ::core::cmp::PartialEq for TOKEN_GROUPS {
5059 fn eq(&self, other: &Self) -> bool {
5060 self.GroupCount == other.GroupCount && self.Groups == other.Groups
5061 }
5062}
5063#[cfg(feature = "Win32_Foundation")]
5064impl ::core::cmp::Eq for TOKEN_GROUPS {}
5065#[cfg(feature = "Win32_Foundation")]
5066impl ::core::default::Default for TOKEN_GROUPS {
5067 fn default() -> Self {
5068 unsafe { ::core::mem::zeroed() }
5069 }
5070}
5071#[repr(C)]
5072#[doc = "Required features: `\"Win32_Foundation\"`"]
5073#[cfg(feature = "Win32_Foundation")]
5074pub struct TOKEN_GROUPS_AND_PRIVILEGES {
5075 pub SidCount: u32,
5076 pub SidLength: u32,
5077 pub Sids: *mut SID_AND_ATTRIBUTES,
5078 pub RestrictedSidCount: u32,
5079 pub RestrictedSidLength: u32,
5080 pub RestrictedSids: *mut SID_AND_ATTRIBUTES,
5081 pub PrivilegeCount: u32,
5082 pub PrivilegeLength: u32,
5083 pub Privileges: *mut LUID_AND_ATTRIBUTES,
5084 pub AuthenticationId: super::Foundation::LUID,
5085}
5086#[cfg(feature = "Win32_Foundation")]
5087impl ::core::marker::Copy for TOKEN_GROUPS_AND_PRIVILEGES {}
5088#[cfg(feature = "Win32_Foundation")]
5089impl ::core::clone::Clone for TOKEN_GROUPS_AND_PRIVILEGES {
5090 fn clone(&self) -> Self {
5091 *self
5092 }
5093}
5094#[cfg(feature = "Win32_Foundation")]
5095impl ::core::fmt::Debug for TOKEN_GROUPS_AND_PRIVILEGES {
5096 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5097 f&mut DebugStruct<'_, '_>.debug_struct("TOKEN_GROUPS_AND_PRIVILEGES")
5098 .field("SidCount", &self.SidCount)
5099 .field("SidLength", &self.SidLength)
5100 .field("Sids", &self.Sids)
5101 .field("RestrictedSidCount", &self.RestrictedSidCount)
5102 .field("RestrictedSidLength", &self.RestrictedSidLength)
5103 .field("RestrictedSids", &self.RestrictedSids)
5104 .field("PrivilegeCount", &self.PrivilegeCount)
5105 .field("PrivilegeLength", &self.PrivilegeLength)
5106 .field("Privileges", &self.Privileges)
5107 .field(name:"AuthenticationId", &self.AuthenticationId)
5108 .finish()
5109 }
5110}
5111#[cfg(feature = "Win32_Foundation")]
5112impl ::windows_core::TypeKind for TOKEN_GROUPS_AND_PRIVILEGES {
5113 type TypeKind = ::windows_core::CopyType;
5114}
5115#[cfg(feature = "Win32_Foundation")]
5116impl ::core::cmp::PartialEq for TOKEN_GROUPS_AND_PRIVILEGES {
5117 fn eq(&self, other: &Self) -> bool {
5118 self.SidCount == other.SidCount && self.SidLength == other.SidLength && self.Sids == other.Sids && self.RestrictedSidCount == other.RestrictedSidCount && self.RestrictedSidLength == other.RestrictedSidLength && self.RestrictedSids == other.RestrictedSids && self.PrivilegeCount == other.PrivilegeCount && self.PrivilegeLength == other.PrivilegeLength && self.Privileges == other.Privileges && self.AuthenticationId == other.AuthenticationId
5119 }
5120}
5121#[cfg(feature = "Win32_Foundation")]
5122impl ::core::cmp::Eq for TOKEN_GROUPS_AND_PRIVILEGES {}
5123#[cfg(feature = "Win32_Foundation")]
5124impl ::core::default::Default for TOKEN_GROUPS_AND_PRIVILEGES {
5125 fn default() -> Self {
5126 unsafe { ::core::mem::zeroed() }
5127 }
5128}
5129#[repr(C)]
5130#[doc = "Required features: `\"Win32_Foundation\"`"]
5131#[cfg(feature = "Win32_Foundation")]
5132pub struct TOKEN_LINKED_TOKEN {
5133 pub LinkedToken: super::Foundation::HANDLE,
5134}
5135#[cfg(feature = "Win32_Foundation")]
5136impl ::core::marker::Copy for TOKEN_LINKED_TOKEN {}
5137#[cfg(feature = "Win32_Foundation")]
5138impl ::core::clone::Clone for TOKEN_LINKED_TOKEN {
5139 fn clone(&self) -> Self {
5140 *self
5141 }
5142}
5143#[cfg(feature = "Win32_Foundation")]
5144impl ::core::fmt::Debug for TOKEN_LINKED_TOKEN {
5145 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5146 f.debug_struct("TOKEN_LINKED_TOKEN").field(name:"LinkedToken", &self.LinkedToken).finish()
5147 }
5148}
5149#[cfg(feature = "Win32_Foundation")]
5150impl ::windows_core::TypeKind for TOKEN_LINKED_TOKEN {
5151 type TypeKind = ::windows_core::CopyType;
5152}
5153#[cfg(feature = "Win32_Foundation")]
5154impl ::core::cmp::PartialEq for TOKEN_LINKED_TOKEN {
5155 fn eq(&self, other: &Self) -> bool {
5156 self.LinkedToken == other.LinkedToken
5157 }
5158}
5159#[cfg(feature = "Win32_Foundation")]
5160impl ::core::cmp::Eq for TOKEN_LINKED_TOKEN {}
5161#[cfg(feature = "Win32_Foundation")]
5162impl ::core::default::Default for TOKEN_LINKED_TOKEN {
5163 fn default() -> Self {
5164 unsafe { ::core::mem::zeroed() }
5165 }
5166}
5167#[repr(C)]
5168#[doc = "Required features: `\"Win32_Foundation\"`"]
5169#[cfg(feature = "Win32_Foundation")]
5170pub struct TOKEN_MANDATORY_LABEL {
5171 pub Label: SID_AND_ATTRIBUTES,
5172}
5173#[cfg(feature = "Win32_Foundation")]
5174impl ::core::marker::Copy for TOKEN_MANDATORY_LABEL {}
5175#[cfg(feature = "Win32_Foundation")]
5176impl ::core::clone::Clone for TOKEN_MANDATORY_LABEL {
5177 fn clone(&self) -> Self {
5178 *self
5179 }
5180}
5181#[cfg(feature = "Win32_Foundation")]
5182impl ::core::fmt::Debug for TOKEN_MANDATORY_LABEL {
5183 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5184 f.debug_struct("TOKEN_MANDATORY_LABEL").field(name:"Label", &self.Label).finish()
5185 }
5186}
5187#[cfg(feature = "Win32_Foundation")]
5188impl ::windows_core::TypeKind for TOKEN_MANDATORY_LABEL {
5189 type TypeKind = ::windows_core::CopyType;
5190}
5191#[cfg(feature = "Win32_Foundation")]
5192impl ::core::cmp::PartialEq for TOKEN_MANDATORY_LABEL {
5193 fn eq(&self, other: &Self) -> bool {
5194 self.Label == other.Label
5195 }
5196}
5197#[cfg(feature = "Win32_Foundation")]
5198impl ::core::cmp::Eq for TOKEN_MANDATORY_LABEL {}
5199#[cfg(feature = "Win32_Foundation")]
5200impl ::core::default::Default for TOKEN_MANDATORY_LABEL {
5201 fn default() -> Self {
5202 unsafe { ::core::mem::zeroed() }
5203 }
5204}
5205#[repr(C)]
5206pub struct TOKEN_MANDATORY_POLICY {
5207 pub Policy: TOKEN_MANDATORY_POLICY_ID,
5208}
5209impl ::core::marker::Copy for TOKEN_MANDATORY_POLICY {}
5210impl ::core::clone::Clone for TOKEN_MANDATORY_POLICY {
5211 fn clone(&self) -> Self {
5212 *self
5213 }
5214}
5215impl ::core::fmt::Debug for TOKEN_MANDATORY_POLICY {
5216 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5217 f.debug_struct("TOKEN_MANDATORY_POLICY").field(name:"Policy", &self.Policy).finish()
5218 }
5219}
5220impl ::windows_core::TypeKind for TOKEN_MANDATORY_POLICY {
5221 type TypeKind = ::windows_core::CopyType;
5222}
5223impl ::core::cmp::PartialEq for TOKEN_MANDATORY_POLICY {
5224 fn eq(&self, other: &Self) -> bool {
5225 self.Policy == other.Policy
5226 }
5227}
5228impl ::core::cmp::Eq for TOKEN_MANDATORY_POLICY {}
5229impl ::core::default::Default for TOKEN_MANDATORY_POLICY {
5230 fn default() -> Self {
5231 unsafe { ::core::mem::zeroed() }
5232 }
5233}
5234#[repr(C)]
5235#[doc = "Required features: `\"Win32_Foundation\"`"]
5236#[cfg(feature = "Win32_Foundation")]
5237pub struct TOKEN_ORIGIN {
5238 pub OriginatingLogonSession: super::Foundation::LUID,
5239}
5240#[cfg(feature = "Win32_Foundation")]
5241impl ::core::marker::Copy for TOKEN_ORIGIN {}
5242#[cfg(feature = "Win32_Foundation")]
5243impl ::core::clone::Clone for TOKEN_ORIGIN {
5244 fn clone(&self) -> Self {
5245 *self
5246 }
5247}
5248#[cfg(feature = "Win32_Foundation")]
5249impl ::core::fmt::Debug for TOKEN_ORIGIN {
5250 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5251 f.debug_struct("TOKEN_ORIGIN").field(name:"OriginatingLogonSession", &self.OriginatingLogonSession).finish()
5252 }
5253}
5254#[cfg(feature = "Win32_Foundation")]
5255impl ::windows_core::TypeKind for TOKEN_ORIGIN {
5256 type TypeKind = ::windows_core::CopyType;
5257}
5258#[cfg(feature = "Win32_Foundation")]
5259impl ::core::cmp::PartialEq for TOKEN_ORIGIN {
5260 fn eq(&self, other: &Self) -> bool {
5261 self.OriginatingLogonSession == other.OriginatingLogonSession
5262 }
5263}
5264#[cfg(feature = "Win32_Foundation")]
5265impl ::core::cmp::Eq for TOKEN_ORIGIN {}
5266#[cfg(feature = "Win32_Foundation")]
5267impl ::core::default::Default for TOKEN_ORIGIN {
5268 fn default() -> Self {
5269 unsafe { ::core::mem::zeroed() }
5270 }
5271}
5272#[repr(C)]
5273#[doc = "Required features: `\"Win32_Foundation\"`"]
5274#[cfg(feature = "Win32_Foundation")]
5275pub struct TOKEN_OWNER {
5276 pub Owner: super::Foundation::PSID,
5277}
5278#[cfg(feature = "Win32_Foundation")]
5279impl ::core::marker::Copy for TOKEN_OWNER {}
5280#[cfg(feature = "Win32_Foundation")]
5281impl ::core::clone::Clone for TOKEN_OWNER {
5282 fn clone(&self) -> Self {
5283 *self
5284 }
5285}
5286#[cfg(feature = "Win32_Foundation")]
5287impl ::core::fmt::Debug for TOKEN_OWNER {
5288 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5289 f.debug_struct("TOKEN_OWNER").field(name:"Owner", &self.Owner).finish()
5290 }
5291}
5292#[cfg(feature = "Win32_Foundation")]
5293impl ::windows_core::TypeKind for TOKEN_OWNER {
5294 type TypeKind = ::windows_core::CopyType;
5295}
5296#[cfg(feature = "Win32_Foundation")]
5297impl ::core::cmp::PartialEq for TOKEN_OWNER {
5298 fn eq(&self, other: &Self) -> bool {
5299 self.Owner == other.Owner
5300 }
5301}
5302#[cfg(feature = "Win32_Foundation")]
5303impl ::core::cmp::Eq for TOKEN_OWNER {}
5304#[cfg(feature = "Win32_Foundation")]
5305impl ::core::default::Default for TOKEN_OWNER {
5306 fn default() -> Self {
5307 unsafe { ::core::mem::zeroed() }
5308 }
5309}
5310#[repr(C)]
5311#[doc = "Required features: `\"Win32_Foundation\"`"]
5312#[cfg(feature = "Win32_Foundation")]
5313pub struct TOKEN_PRIMARY_GROUP {
5314 pub PrimaryGroup: super::Foundation::PSID,
5315}
5316#[cfg(feature = "Win32_Foundation")]
5317impl ::core::marker::Copy for TOKEN_PRIMARY_GROUP {}
5318#[cfg(feature = "Win32_Foundation")]
5319impl ::core::clone::Clone for TOKEN_PRIMARY_GROUP {
5320 fn clone(&self) -> Self {
5321 *self
5322 }
5323}
5324#[cfg(feature = "Win32_Foundation")]
5325impl ::core::fmt::Debug for TOKEN_PRIMARY_GROUP {
5326 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5327 f.debug_struct("TOKEN_PRIMARY_GROUP").field(name:"PrimaryGroup", &self.PrimaryGroup).finish()
5328 }
5329}
5330#[cfg(feature = "Win32_Foundation")]
5331impl ::windows_core::TypeKind for TOKEN_PRIMARY_GROUP {
5332 type TypeKind = ::windows_core::CopyType;
5333}
5334#[cfg(feature = "Win32_Foundation")]
5335impl ::core::cmp::PartialEq for TOKEN_PRIMARY_GROUP {
5336 fn eq(&self, other: &Self) -> bool {
5337 self.PrimaryGroup == other.PrimaryGroup
5338 }
5339}
5340#[cfg(feature = "Win32_Foundation")]
5341impl ::core::cmp::Eq for TOKEN_PRIMARY_GROUP {}
5342#[cfg(feature = "Win32_Foundation")]
5343impl ::core::default::Default for TOKEN_PRIMARY_GROUP {
5344 fn default() -> Self {
5345 unsafe { ::core::mem::zeroed() }
5346 }
5347}
5348#[repr(C)]
5349#[doc = "Required features: `\"Win32_Foundation\"`"]
5350#[cfg(feature = "Win32_Foundation")]
5351pub struct TOKEN_PRIVILEGES {
5352 pub PrivilegeCount: u32,
5353 pub Privileges: [LUID_AND_ATTRIBUTES; 1],
5354}
5355#[cfg(feature = "Win32_Foundation")]
5356impl ::core::marker::Copy for TOKEN_PRIVILEGES {}
5357#[cfg(feature = "Win32_Foundation")]
5358impl ::core::clone::Clone for TOKEN_PRIVILEGES {
5359 fn clone(&self) -> Self {
5360 *self
5361 }
5362}
5363#[cfg(feature = "Win32_Foundation")]
5364impl ::core::fmt::Debug for TOKEN_PRIVILEGES {
5365 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5366 f.debug_struct("TOKEN_PRIVILEGES").field("PrivilegeCount", &self.PrivilegeCount).field(name:"Privileges", &self.Privileges).finish()
5367 }
5368}
5369#[cfg(feature = "Win32_Foundation")]
5370impl ::windows_core::TypeKind for TOKEN_PRIVILEGES {
5371 type TypeKind = ::windows_core::CopyType;
5372}
5373#[cfg(feature = "Win32_Foundation")]
5374impl ::core::cmp::PartialEq for TOKEN_PRIVILEGES {
5375 fn eq(&self, other: &Self) -> bool {
5376 self.PrivilegeCount == other.PrivilegeCount && self.Privileges == other.Privileges
5377 }
5378}
5379#[cfg(feature = "Win32_Foundation")]
5380impl ::core::cmp::Eq for TOKEN_PRIVILEGES {}
5381#[cfg(feature = "Win32_Foundation")]
5382impl ::core::default::Default for TOKEN_PRIVILEGES {
5383 fn default() -> Self {
5384 unsafe { ::core::mem::zeroed() }
5385 }
5386}
5387#[repr(C)]
5388#[doc = "Required features: `\"Win32_Foundation\"`"]
5389#[cfg(feature = "Win32_Foundation")]
5390pub struct TOKEN_SOURCE {
5391 pub SourceName: [u8; 8],
5392 pub SourceIdentifier: super::Foundation::LUID,
5393}
5394#[cfg(feature = "Win32_Foundation")]
5395impl ::core::marker::Copy for TOKEN_SOURCE {}
5396#[cfg(feature = "Win32_Foundation")]
5397impl ::core::clone::Clone for TOKEN_SOURCE {
5398 fn clone(&self) -> Self {
5399 *self
5400 }
5401}
5402#[cfg(feature = "Win32_Foundation")]
5403impl ::core::fmt::Debug for TOKEN_SOURCE {
5404 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5405 f.debug_struct("TOKEN_SOURCE").field("SourceName", &self.SourceName).field(name:"SourceIdentifier", &self.SourceIdentifier).finish()
5406 }
5407}
5408#[cfg(feature = "Win32_Foundation")]
5409impl ::windows_core::TypeKind for TOKEN_SOURCE {
5410 type TypeKind = ::windows_core::CopyType;
5411}
5412#[cfg(feature = "Win32_Foundation")]
5413impl ::core::cmp::PartialEq for TOKEN_SOURCE {
5414 fn eq(&self, other: &Self) -> bool {
5415 self.SourceName == other.SourceName && self.SourceIdentifier == other.SourceIdentifier
5416 }
5417}
5418#[cfg(feature = "Win32_Foundation")]
5419impl ::core::cmp::Eq for TOKEN_SOURCE {}
5420#[cfg(feature = "Win32_Foundation")]
5421impl ::core::default::Default for TOKEN_SOURCE {
5422 fn default() -> Self {
5423 unsafe { ::core::mem::zeroed() }
5424 }
5425}
5426#[repr(C)]
5427#[doc = "Required features: `\"Win32_Foundation\"`"]
5428#[cfg(feature = "Win32_Foundation")]
5429pub struct TOKEN_STATISTICS {
5430 pub TokenId: super::Foundation::LUID,
5431 pub AuthenticationId: super::Foundation::LUID,
5432 pub ExpirationTime: i64,
5433 pub TokenType: TOKEN_TYPE,
5434 pub ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL,
5435 pub DynamicCharged: u32,
5436 pub DynamicAvailable: u32,
5437 pub GroupCount: u32,
5438 pub PrivilegeCount: u32,
5439 pub ModifiedId: super::Foundation::LUID,
5440}
5441#[cfg(feature = "Win32_Foundation")]
5442impl ::core::marker::Copy for TOKEN_STATISTICS {}
5443#[cfg(feature = "Win32_Foundation")]
5444impl ::core::clone::Clone for TOKEN_STATISTICS {
5445 fn clone(&self) -> Self {
5446 *self
5447 }
5448}
5449#[cfg(feature = "Win32_Foundation")]
5450impl ::core::fmt::Debug for TOKEN_STATISTICS {
5451 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5452 f.debug_struct("TOKEN_STATISTICS").field("TokenId", &self.TokenId).field("AuthenticationId", &self.AuthenticationId).field("ExpirationTime", &self.ExpirationTime).field("TokenType", &self.TokenType).field("ImpersonationLevel", &self.ImpersonationLevel).field("DynamicCharged", &self.DynamicCharged).field("DynamicAvailable", &self.DynamicAvailable).field("GroupCount", &self.GroupCount).field("PrivilegeCount", &self.PrivilegeCount).field(name:"ModifiedId", &self.ModifiedId).finish()
5453 }
5454}
5455#[cfg(feature = "Win32_Foundation")]
5456impl ::windows_core::TypeKind for TOKEN_STATISTICS {
5457 type TypeKind = ::windows_core::CopyType;
5458}
5459#[cfg(feature = "Win32_Foundation")]
5460impl ::core::cmp::PartialEq for TOKEN_STATISTICS {
5461 fn eq(&self, other: &Self) -> bool {
5462 self.TokenId == other.TokenId && self.AuthenticationId == other.AuthenticationId && self.ExpirationTime == other.ExpirationTime && self.TokenType == other.TokenType && self.ImpersonationLevel == other.ImpersonationLevel && self.DynamicCharged == other.DynamicCharged && self.DynamicAvailable == other.DynamicAvailable && self.GroupCount == other.GroupCount && self.PrivilegeCount == other.PrivilegeCount && self.ModifiedId == other.ModifiedId
5463 }
5464}
5465#[cfg(feature = "Win32_Foundation")]
5466impl ::core::cmp::Eq for TOKEN_STATISTICS {}
5467#[cfg(feature = "Win32_Foundation")]
5468impl ::core::default::Default for TOKEN_STATISTICS {
5469 fn default() -> Self {
5470 unsafe { ::core::mem::zeroed() }
5471 }
5472}
5473#[repr(C)]
5474#[doc = "Required features: `\"Win32_Foundation\"`"]
5475#[cfg(feature = "Win32_Foundation")]
5476pub struct TOKEN_USER {
5477 pub User: SID_AND_ATTRIBUTES,
5478}
5479#[cfg(feature = "Win32_Foundation")]
5480impl ::core::marker::Copy for TOKEN_USER {}
5481#[cfg(feature = "Win32_Foundation")]
5482impl ::core::clone::Clone for TOKEN_USER {
5483 fn clone(&self) -> Self {
5484 *self
5485 }
5486}
5487#[cfg(feature = "Win32_Foundation")]
5488impl ::core::fmt::Debug for TOKEN_USER {
5489 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5490 f.debug_struct("TOKEN_USER").field(name:"User", &self.User).finish()
5491 }
5492}
5493#[cfg(feature = "Win32_Foundation")]
5494impl ::windows_core::TypeKind for TOKEN_USER {
5495 type TypeKind = ::windows_core::CopyType;
5496}
5497#[cfg(feature = "Win32_Foundation")]
5498impl ::core::cmp::PartialEq for TOKEN_USER {
5499 fn eq(&self, other: &Self) -> bool {
5500 self.User == other.User
5501 }
5502}
5503#[cfg(feature = "Win32_Foundation")]
5504impl ::core::cmp::Eq for TOKEN_USER {}
5505#[cfg(feature = "Win32_Foundation")]
5506impl ::core::default::Default for TOKEN_USER {
5507 fn default() -> Self {
5508 unsafe { ::core::mem::zeroed() }
5509 }
5510}
5511#[repr(C)]
5512pub struct TOKEN_USER_CLAIMS {
5513 pub UserClaims: *mut ::core::ffi::c_void,
5514}
5515impl ::core::marker::Copy for TOKEN_USER_CLAIMS {}
5516impl ::core::clone::Clone for TOKEN_USER_CLAIMS {
5517 fn clone(&self) -> Self {
5518 *self
5519 }
5520}
5521impl ::core::fmt::Debug for TOKEN_USER_CLAIMS {
5522 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5523 f.debug_struct("TOKEN_USER_CLAIMS").field(name:"UserClaims", &self.UserClaims).finish()
5524 }
5525}
5526impl ::windows_core::TypeKind for TOKEN_USER_CLAIMS {
5527 type TypeKind = ::windows_core::CopyType;
5528}
5529impl ::core::cmp::PartialEq for TOKEN_USER_CLAIMS {
5530 fn eq(&self, other: &Self) -> bool {
5531 self.UserClaims == other.UserClaims
5532 }
5533}
5534impl ::core::cmp::Eq for TOKEN_USER_CLAIMS {}
5535impl ::core::default::Default for TOKEN_USER_CLAIMS {
5536 fn default() -> Self {
5537 unsafe { ::core::mem::zeroed() }
5538 }
5539}
5540#[doc = "Required features: `\"Win32_Foundation\"`"]
5541#[cfg(feature = "Win32_Foundation")]
5542pub type PLSA_AP_CALL_PACKAGE_UNTRUSTED = ::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::Foundation::NTSTATUS>;
5543pub type SEC_THREAD_START = ::core::option::Option<unsafe extern "system" fn(lpthreadparameter: *mut ::core::ffi::c_void) -> u32>;
5544