1#[inline]
2pub unsafe fn AcquireSRWLockExclusive(srwlock: *mut SRWLOCK) {
3 ::windows_targets::link!("kernel32.dll" "system" fn AcquireSRWLockExclusive(srwlock : *mut SRWLOCK) -> ());
4 AcquireSRWLockExclusive(srwlock)
5}
6#[inline]
7pub unsafe fn AcquireSRWLockShared(srwlock: *mut SRWLOCK) {
8 ::windows_targets::link!("kernel32.dll" "system" fn AcquireSRWLockShared(srwlock : *mut SRWLOCK) -> ());
9 AcquireSRWLockShared(srwlock)
10}
11#[doc = "Required features: `\"Win32_Foundation\"`"]
12#[cfg(feature = "Win32_Foundation")]
13#[inline]
14pub unsafe fn AddIntegrityLabelToBoundaryDescriptor<P0>(boundarydescriptor: *mut super::super::Foundation::HANDLE, integritylabel: P0) -> ::windows_core::Result<()>
15where
16 P0: ::windows_core::IntoParam<super::super::Foundation::PSID>,
17{
18 ::windows_targets::link!("kernel32.dll" "system" fn AddIntegrityLabelToBoundaryDescriptor(boundarydescriptor : *mut super::super::Foundation:: HANDLE, integritylabel : super::super::Foundation:: PSID) -> super::super::Foundation:: BOOL);
19 AddIntegrityLabelToBoundaryDescriptor(boundarydescriptor, integritylabel:integritylabel.into_param().abi()).ok()
20}
21#[doc = "Required features: `\"Win32_Foundation\"`"]
22#[cfg(feature = "Win32_Foundation")]
23#[inline]
24pub unsafe fn AddSIDToBoundaryDescriptor<P0>(boundarydescriptor: *mut super::super::Foundation::HANDLE, requiredsid: P0) -> ::windows_core::Result<()>
25where
26 P0: ::windows_core::IntoParam<super::super::Foundation::PSID>,
27{
28 ::windows_targets::link!("kernel32.dll" "system" fn AddSIDToBoundaryDescriptor(boundarydescriptor : *mut super::super::Foundation:: HANDLE, requiredsid : super::super::Foundation:: PSID) -> super::super::Foundation:: BOOL);
29 AddSIDToBoundaryDescriptor(boundarydescriptor, requiredsid:requiredsid.into_param().abi()).ok()
30}
31#[doc = "Required features: `\"Win32_Foundation\"`"]
32#[cfg(feature = "Win32_Foundation")]
33#[inline]
34pub unsafe fn AttachThreadInput<P0>(idattach: u32, idattachto: u32, fattach: P0) -> super::super::Foundation::BOOL
35where
36 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
37{
38 ::windows_targets::link!("user32.dll" "system" fn AttachThreadInput(idattach : u32, idattachto : u32, fattach : super::super::Foundation:: BOOL) -> super::super::Foundation:: BOOL);
39 AttachThreadInput(idattach, idattachto, fattach:fattach.into_param().abi())
40}
41#[doc = "Required features: `\"Win32_Foundation\"`"]
42#[cfg(feature = "Win32_Foundation")]
43#[inline]
44pub unsafe fn AvQuerySystemResponsiveness<P0>(avrthandle: P0, systemresponsivenessvalue: *mut u32) -> ::windows_core::Result<()>
45where
46 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
47{
48 ::windows_targets::link!("avrt.dll" "system" fn AvQuerySystemResponsiveness(avrthandle : super::super::Foundation:: HANDLE, systemresponsivenessvalue : *mut u32) -> super::super::Foundation:: BOOL);
49 AvQuerySystemResponsiveness(avrthandle:avrthandle.into_param().abi(), systemresponsivenessvalue).ok()
50}
51#[doc = "Required features: `\"Win32_Foundation\"`"]
52#[cfg(feature = "Win32_Foundation")]
53#[inline]
54pub unsafe fn AvRevertMmThreadCharacteristics<P0>(avrthandle: P0) -> ::windows_core::Result<()>
55where
56 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
57{
58 ::windows_targets::link!("avrt.dll" "system" fn AvRevertMmThreadCharacteristics(avrthandle : super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL);
59 AvRevertMmThreadCharacteristics(avrthandle:avrthandle.into_param().abi()).ok()
60}
61#[doc = "Required features: `\"Win32_Foundation\"`"]
62#[cfg(feature = "Win32_Foundation")]
63#[inline]
64pub unsafe fn AvRtCreateThreadOrderingGroup(context: *mut super::super::Foundation::HANDLE, period: *const i64, threadorderingguid: *mut ::windows_core::GUID, timeout: ::core::option::Option<*const i64>) -> ::windows_core::Result<()> {
65 ::windows_targets::link!("avrt.dll" "system" fn AvRtCreateThreadOrderingGroup(context : *mut super::super::Foundation:: HANDLE, period : *const i64, threadorderingguid : *mut ::windows_core::GUID, timeout : *const i64) -> super::super::Foundation:: BOOL);
66 AvRtCreateThreadOrderingGroup(context, period, threadorderingguid, ::core::mem::transmute(src:timeout.unwrap_or(::std::ptr::null()))).ok()
67}
68#[doc = "Required features: `\"Win32_Foundation\"`"]
69#[cfg(feature = "Win32_Foundation")]
70#[inline]
71pub unsafe fn AvRtCreateThreadOrderingGroupExA<P0>(context: *mut super::super::Foundation::HANDLE, period: *const i64, threadorderingguid: *mut ::windows_core::GUID, timeout: ::core::option::Option<*const i64>, taskname: P0) -> ::windows_core::Result<()>
72where
73 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
74{
75 ::windows_targets::link!("avrt.dll" "system" fn AvRtCreateThreadOrderingGroupExA(context : *mut super::super::Foundation:: HANDLE, period : *const i64, threadorderingguid : *mut ::windows_core::GUID, timeout : *const i64, taskname : ::windows_core::PCSTR) -> super::super::Foundation:: BOOL);
76 AvRtCreateThreadOrderingGroupExA(context, period, threadorderingguid, ::core::mem::transmute(timeout.unwrap_or(::std::ptr::null())), taskname:taskname.into_param().abi()).ok()
77}
78#[doc = "Required features: `\"Win32_Foundation\"`"]
79#[cfg(feature = "Win32_Foundation")]
80#[inline]
81pub unsafe fn AvRtCreateThreadOrderingGroupExW<P0>(context: *mut super::super::Foundation::HANDLE, period: *const i64, threadorderingguid: *mut ::windows_core::GUID, timeout: ::core::option::Option<*const i64>, taskname: P0) -> ::windows_core::Result<()>
82where
83 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
84{
85 ::windows_targets::link!("avrt.dll" "system" fn AvRtCreateThreadOrderingGroupExW(context : *mut super::super::Foundation:: HANDLE, period : *const i64, threadorderingguid : *mut ::windows_core::GUID, timeout : *const i64, taskname : ::windows_core::PCWSTR) -> super::super::Foundation:: BOOL);
86 AvRtCreateThreadOrderingGroupExW(context, period, threadorderingguid, ::core::mem::transmute(timeout.unwrap_or(::std::ptr::null())), taskname:taskname.into_param().abi()).ok()
87}
88#[doc = "Required features: `\"Win32_Foundation\"`"]
89#[cfg(feature = "Win32_Foundation")]
90#[inline]
91pub unsafe fn AvRtDeleteThreadOrderingGroup<P0>(context: P0) -> ::windows_core::Result<()>
92where
93 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
94{
95 ::windows_targets::link!("avrt.dll" "system" fn AvRtDeleteThreadOrderingGroup(context : super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL);
96 AvRtDeleteThreadOrderingGroup(context:context.into_param().abi()).ok()
97}
98#[doc = "Required features: `\"Win32_Foundation\"`"]
99#[cfg(feature = "Win32_Foundation")]
100#[inline]
101pub unsafe fn AvRtJoinThreadOrderingGroup<P0>(context: *mut super::super::Foundation::HANDLE, threadorderingguid: *const ::windows_core::GUID, before: P0) -> ::windows_core::Result<()>
102where
103 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
104{
105 ::windows_targets::link!("avrt.dll" "system" fn AvRtJoinThreadOrderingGroup(context : *mut super::super::Foundation:: HANDLE, threadorderingguid : *const ::windows_core::GUID, before : super::super::Foundation:: BOOL) -> super::super::Foundation:: BOOL);
106 AvRtJoinThreadOrderingGroup(context, threadorderingguid, before:before.into_param().abi()).ok()
107}
108#[doc = "Required features: `\"Win32_Foundation\"`"]
109#[cfg(feature = "Win32_Foundation")]
110#[inline]
111pub unsafe fn AvRtLeaveThreadOrderingGroup<P0>(context: P0) -> ::windows_core::Result<()>
112where
113 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
114{
115 ::windows_targets::link!("avrt.dll" "system" fn AvRtLeaveThreadOrderingGroup(context : super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL);
116 AvRtLeaveThreadOrderingGroup(context:context.into_param().abi()).ok()
117}
118#[doc = "Required features: `\"Win32_Foundation\"`"]
119#[cfg(feature = "Win32_Foundation")]
120#[inline]
121pub unsafe fn AvRtWaitOnThreadOrderingGroup<P0>(context: P0) -> ::windows_core::Result<()>
122where
123 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
124{
125 ::windows_targets::link!("avrt.dll" "system" fn AvRtWaitOnThreadOrderingGroup(context : super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL);
126 AvRtWaitOnThreadOrderingGroup(context:context.into_param().abi()).ok()
127}
128#[doc = "Required features: `\"Win32_Foundation\"`"]
129#[cfg(feature = "Win32_Foundation")]
130#[inline]
131pub unsafe fn AvSetMmMaxThreadCharacteristicsA<P0, P1>(firsttask: P0, secondtask: P1, taskindex: *mut u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
132where
133 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
134 P1: ::windows_core::IntoParam<::windows_core::PCSTR>,
135{
136 ::windows_targets::link!("avrt.dll" "system" fn AvSetMmMaxThreadCharacteristicsA(firsttask : ::windows_core::PCSTR, secondtask : ::windows_core::PCSTR, taskindex : *mut u32) -> super::super::Foundation:: HANDLE);
137 let result__: HANDLE = AvSetMmMaxThreadCharacteristicsA(firsttask:firsttask.into_param().abi(), secondtask:secondtask.into_param().abi(), taskindex);
138 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
139}
140#[doc = "Required features: `\"Win32_Foundation\"`"]
141#[cfg(feature = "Win32_Foundation")]
142#[inline]
143pub unsafe fn AvSetMmMaxThreadCharacteristicsW<P0, P1>(firsttask: P0, secondtask: P1, taskindex: *mut u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
144where
145 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
146 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
147{
148 ::windows_targets::link!("avrt.dll" "system" fn AvSetMmMaxThreadCharacteristicsW(firsttask : ::windows_core::PCWSTR, secondtask : ::windows_core::PCWSTR, taskindex : *mut u32) -> super::super::Foundation:: HANDLE);
149 let result__: HANDLE = AvSetMmMaxThreadCharacteristicsW(firsttask:firsttask.into_param().abi(), secondtask:secondtask.into_param().abi(), taskindex);
150 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
151}
152#[doc = "Required features: `\"Win32_Foundation\"`"]
153#[cfg(feature = "Win32_Foundation")]
154#[inline]
155pub unsafe fn AvSetMmThreadCharacteristicsA<P0>(taskname: P0, taskindex: *mut u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
156where
157 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
158{
159 ::windows_targets::link!("avrt.dll" "system" fn AvSetMmThreadCharacteristicsA(taskname : ::windows_core::PCSTR, taskindex : *mut u32) -> super::super::Foundation:: HANDLE);
160 let result__: HANDLE = AvSetMmThreadCharacteristicsA(taskname:taskname.into_param().abi(), taskindex);
161 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
162}
163#[doc = "Required features: `\"Win32_Foundation\"`"]
164#[cfg(feature = "Win32_Foundation")]
165#[inline]
166pub unsafe fn AvSetMmThreadCharacteristicsW<P0>(taskname: P0, taskindex: *mut u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
167where
168 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
169{
170 ::windows_targets::link!("avrt.dll" "system" fn AvSetMmThreadCharacteristicsW(taskname : ::windows_core::PCWSTR, taskindex : *mut u32) -> super::super::Foundation:: HANDLE);
171 let result__: HANDLE = AvSetMmThreadCharacteristicsW(taskname:taskname.into_param().abi(), taskindex);
172 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
173}
174#[doc = "Required features: `\"Win32_Foundation\"`"]
175#[cfg(feature = "Win32_Foundation")]
176#[inline]
177pub unsafe fn AvSetMmThreadPriority<P0>(avrthandle: P0, priority: AVRT_PRIORITY) -> ::windows_core::Result<()>
178where
179 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
180{
181 ::windows_targets::link!("avrt.dll" "system" fn AvSetMmThreadPriority(avrthandle : super::super::Foundation:: HANDLE, priority : AVRT_PRIORITY) -> super::super::Foundation:: BOOL);
182 AvSetMmThreadPriority(avrthandle:avrthandle.into_param().abi(), priority).ok()
183}
184#[doc = "Required features: `\"Win32_Foundation\"`"]
185#[cfg(feature = "Win32_Foundation")]
186#[inline]
187pub unsafe fn CallbackMayRunLong<P0>(pci: P0) -> super::super::Foundation::BOOL
188where
189 P0: ::windows_core::IntoParam<PTP_CALLBACK_INSTANCE>,
190{
191 ::windows_targets::link!("kernel32.dll" "system" fn CallbackMayRunLong(pci : PTP_CALLBACK_INSTANCE) -> super::super::Foundation:: BOOL);
192 CallbackMayRunLong(pci:pci.into_param().abi())
193}
194#[inline]
195pub unsafe fn CancelThreadpoolIo<P0>(pio: P0)
196where
197 P0: ::windows_core::IntoParam<PTP_IO>,
198{
199 ::windows_targets::link!("kernel32.dll" "system" fn CancelThreadpoolIo(pio : PTP_IO) -> ());
200 CancelThreadpoolIo(pio:pio.into_param().abi())
201}
202#[doc = "Required features: `\"Win32_Foundation\"`"]
203#[cfg(feature = "Win32_Foundation")]
204#[inline]
205pub unsafe fn CancelTimerQueueTimer<P0, P1>(timerqueue: P0, timer: P1) -> super::super::Foundation::BOOL
206where
207 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
208 P1: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
209{
210 ::windows_targets::link!("kernel32.dll" "system" fn CancelTimerQueueTimer(timerqueue : super::super::Foundation:: HANDLE, timer : super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL);
211 CancelTimerQueueTimer(timerqueue:timerqueue.into_param().abi(), timer:timer.into_param().abi())
212}
213#[doc = "Required features: `\"Win32_Foundation\"`"]
214#[cfg(feature = "Win32_Foundation")]
215#[inline]
216pub unsafe fn CancelWaitableTimer<P0>(htimer: P0) -> ::windows_core::Result<()>
217where
218 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
219{
220 ::windows_targets::link!("kernel32.dll" "system" fn CancelWaitableTimer(htimer : super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL);
221 CancelWaitableTimer(htimer:htimer.into_param().abi()).ok()
222}
223#[doc = "Required features: `\"Win32_Foundation\"`"]
224#[cfg(feature = "Win32_Foundation")]
225#[inline]
226pub unsafe fn ChangeTimerQueueTimer<P0, P1>(timerqueue: P0, timer: P1, duetime: u32, period: u32) -> ::windows_core::Result<()>
227where
228 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
229 P1: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
230{
231 ::windows_targets::link!("kernel32.dll" "system" fn ChangeTimerQueueTimer(timerqueue : super::super::Foundation:: HANDLE, timer : super::super::Foundation:: HANDLE, duetime : u32, period : u32) -> super::super::Foundation:: BOOL);
232 ChangeTimerQueueTimer(timerqueue:timerqueue.into_param().abi(), timer:timer.into_param().abi(), duetime, period).ok()
233}
234#[doc = "Required features: `\"Win32_Foundation\"`"]
235#[cfg(feature = "Win32_Foundation")]
236#[inline]
237pub unsafe fn ClosePrivateNamespace<P0>(handle: P0, flags: u32) -> super::super::Foundation::BOOLEAN
238where
239 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
240{
241 ::windows_targets::link!("kernel32.dll" "system" fn ClosePrivateNamespace(handle : super::super::Foundation:: HANDLE, flags : u32) -> super::super::Foundation:: BOOLEAN);
242 ClosePrivateNamespace(handle:handle.into_param().abi(), flags)
243}
244#[inline]
245pub unsafe fn CloseThreadpool<P0>(ptpp: P0)
246where
247 P0: ::windows_core::IntoParam<PTP_POOL>,
248{
249 ::windows_targets::link!("kernel32.dll" "system" fn CloseThreadpool(ptpp : PTP_POOL) -> ());
250 CloseThreadpool(ptpp:ptpp.into_param().abi())
251}
252#[inline]
253pub unsafe fn CloseThreadpoolCleanupGroup<P0>(ptpcg: P0)
254where
255 P0: ::windows_core::IntoParam<PTP_CLEANUP_GROUP>,
256{
257 ::windows_targets::link!("kernel32.dll" "system" fn CloseThreadpoolCleanupGroup(ptpcg : PTP_CLEANUP_GROUP) -> ());
258 CloseThreadpoolCleanupGroup(ptpcg:ptpcg.into_param().abi())
259}
260#[doc = "Required features: `\"Win32_Foundation\"`"]
261#[cfg(feature = "Win32_Foundation")]
262#[inline]
263pub unsafe fn CloseThreadpoolCleanupGroupMembers<P0, P1>(ptpcg: P0, fcancelpendingcallbacks: P1, pvcleanupcontext: ::core::option::Option<*mut ::core::ffi::c_void>)
264where
265 P0: ::windows_core::IntoParam<PTP_CLEANUP_GROUP>,
266 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
267{
268 ::windows_targets::link!("kernel32.dll" "system" fn CloseThreadpoolCleanupGroupMembers(ptpcg : PTP_CLEANUP_GROUP, fcancelpendingcallbacks : super::super::Foundation:: BOOL, pvcleanupcontext : *mut ::core::ffi::c_void) -> ());
269 CloseThreadpoolCleanupGroupMembers(ptpcg:ptpcg.into_param().abi(), fcancelpendingcallbacks:fcancelpendingcallbacks.into_param().abi(), ::core::mem::transmute(src:pvcleanupcontext.unwrap_or(::std::ptr::null_mut())))
270}
271#[inline]
272pub unsafe fn CloseThreadpoolIo<P0>(pio: P0)
273where
274 P0: ::windows_core::IntoParam<PTP_IO>,
275{
276 ::windows_targets::link!("kernel32.dll" "system" fn CloseThreadpoolIo(pio : PTP_IO) -> ());
277 CloseThreadpoolIo(pio:pio.into_param().abi())
278}
279#[inline]
280pub unsafe fn CloseThreadpoolTimer<P0>(pti: P0)
281where
282 P0: ::windows_core::IntoParam<PTP_TIMER>,
283{
284 ::windows_targets::link!("kernel32.dll" "system" fn CloseThreadpoolTimer(pti : PTP_TIMER) -> ());
285 CloseThreadpoolTimer(pti:pti.into_param().abi())
286}
287#[inline]
288pub unsafe fn CloseThreadpoolWait<P0>(pwa: P0)
289where
290 P0: ::windows_core::IntoParam<PTP_WAIT>,
291{
292 ::windows_targets::link!("kernel32.dll" "system" fn CloseThreadpoolWait(pwa : PTP_WAIT) -> ());
293 CloseThreadpoolWait(pwa:pwa.into_param().abi())
294}
295#[inline]
296pub unsafe fn CloseThreadpoolWork<P0>(pwk: P0)
297where
298 P0: ::windows_core::IntoParam<PTP_WORK>,
299{
300 ::windows_targets::link!("kernel32.dll" "system" fn CloseThreadpoolWork(pwk : PTP_WORK) -> ());
301 CloseThreadpoolWork(pwk:pwk.into_param().abi())
302}
303#[doc = "Required features: `\"Win32_Foundation\"`"]
304#[cfg(feature = "Win32_Foundation")]
305#[inline]
306pub unsafe fn ConvertFiberToThread() -> ::windows_core::Result<()> {
307 ::windows_targets::link!("kernel32.dll" "system" fn ConvertFiberToThread() -> super::super::Foundation:: BOOL);
308 ConvertFiberToThread().ok()
309}
310#[inline]
311pub unsafe fn ConvertThreadToFiber(lpparameter: ::core::option::Option<*const ::core::ffi::c_void>) -> *mut ::core::ffi::c_void {
312 ::windows_targets::link!("kernel32.dll" "system" fn ConvertThreadToFiber(lpparameter : *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void);
313 ConvertThreadToFiber(::core::mem::transmute(src:lpparameter.unwrap_or(::std::ptr::null())))
314}
315#[inline]
316pub unsafe fn ConvertThreadToFiberEx(lpparameter: ::core::option::Option<*const ::core::ffi::c_void>, dwflags: u32) -> *mut ::core::ffi::c_void {
317 ::windows_targets::link!("kernel32.dll" "system" fn ConvertThreadToFiberEx(lpparameter : *const ::core::ffi::c_void, dwflags : u32) -> *mut ::core::ffi::c_void);
318 ConvertThreadToFiberEx(::core::mem::transmute(src:lpparameter.unwrap_or(::std::ptr::null())), dwflags)
319}
320#[doc = "Required features: `\"Win32_Foundation\"`"]
321#[cfg(feature = "Win32_Foundation")]
322#[inline]
323pub unsafe fn CreateBoundaryDescriptorA<P0>(name: P0, flags: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
324where
325 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
326{
327 ::windows_targets::link!("kernel32.dll" "system" fn CreateBoundaryDescriptorA(name : ::windows_core::PCSTR, flags : u32) -> super::super::Foundation:: HANDLE);
328 let result__: HANDLE = CreateBoundaryDescriptorA(name:name.into_param().abi(), flags);
329 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
330}
331#[doc = "Required features: `\"Win32_Foundation\"`"]
332#[cfg(feature = "Win32_Foundation")]
333#[inline]
334pub unsafe fn CreateBoundaryDescriptorW<P0>(name: P0, flags: u32) -> super::super::Foundation::HANDLE
335where
336 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
337{
338 ::windows_targets::link!("kernel32.dll" "system" fn CreateBoundaryDescriptorW(name : ::windows_core::PCWSTR, flags : u32) -> super::super::Foundation:: HANDLE);
339 CreateBoundaryDescriptorW(name:name.into_param().abi(), flags)
340}
341#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
342#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
343#[inline]
344pub unsafe fn CreateEventA<P0, P1, P2>(lpeventattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, bmanualreset: P0, binitialstate: P1, lpname: P2) -> ::windows_core::Result<super::super::Foundation::HANDLE>
345where
346 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
347 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
348 P2: ::windows_core::IntoParam<::windows_core::PCSTR>,
349{
350 ::windows_targets::link!("kernel32.dll" "system" fn CreateEventA(lpeventattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, bmanualreset : super::super::Foundation:: BOOL, binitialstate : super::super::Foundation:: BOOL, lpname : ::windows_core::PCSTR) -> super::super::Foundation:: HANDLE);
351 let result__: HANDLE = CreateEventA(::core::mem::transmute(lpeventattributes.unwrap_or(::std::ptr::null())), bmanualreset:bmanualreset.into_param().abi(), binitialstate:binitialstate.into_param().abi(), lpname:lpname.into_param().abi());
352 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
353}
354#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
355#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
356#[inline]
357pub unsafe fn CreateEventExA<P0>(lpeventattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, lpname: P0, dwflags: CREATE_EVENT, dwdesiredaccess: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
358where
359 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
360{
361 ::windows_targets::link!("kernel32.dll" "system" fn CreateEventExA(lpeventattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, lpname : ::windows_core::PCSTR, dwflags : CREATE_EVENT, dwdesiredaccess : u32) -> super::super::Foundation:: HANDLE);
362 let result__: HANDLE = CreateEventExA(::core::mem::transmute(lpeventattributes.unwrap_or(::std::ptr::null())), lpname:lpname.into_param().abi(), dwflags, dwdesiredaccess);
363 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
364}
365#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
366#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
367#[inline]
368pub unsafe fn CreateEventExW<P0>(lpeventattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, lpname: P0, dwflags: CREATE_EVENT, dwdesiredaccess: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
369where
370 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
371{
372 ::windows_targets::link!("kernel32.dll" "system" fn CreateEventExW(lpeventattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, lpname : ::windows_core::PCWSTR, dwflags : CREATE_EVENT, dwdesiredaccess : u32) -> super::super::Foundation:: HANDLE);
373 let result__: HANDLE = CreateEventExW(::core::mem::transmute(lpeventattributes.unwrap_or(::std::ptr::null())), lpname:lpname.into_param().abi(), dwflags, dwdesiredaccess);
374 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
375}
376#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
377#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
378#[inline]
379pub unsafe fn CreateEventW<P0, P1, P2>(lpeventattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, bmanualreset: P0, binitialstate: P1, lpname: P2) -> ::windows_core::Result<super::super::Foundation::HANDLE>
380where
381 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
382 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
383 P2: ::windows_core::IntoParam<::windows_core::PCWSTR>,
384{
385 ::windows_targets::link!("kernel32.dll" "system" fn CreateEventW(lpeventattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, bmanualreset : super::super::Foundation:: BOOL, binitialstate : super::super::Foundation:: BOOL, lpname : ::windows_core::PCWSTR) -> super::super::Foundation:: HANDLE);
386 let result__: HANDLE = CreateEventW(::core::mem::transmute(lpeventattributes.unwrap_or(::std::ptr::null())), bmanualreset:bmanualreset.into_param().abi(), binitialstate:binitialstate.into_param().abi(), lpname:lpname.into_param().abi());
387 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
388}
389#[inline]
390pub unsafe fn CreateFiber(dwstacksize: usize, lpstartaddress: LPFIBER_START_ROUTINE, lpparameter: ::core::option::Option<*const ::core::ffi::c_void>) -> *mut ::core::ffi::c_void {
391 ::windows_targets::link!("kernel32.dll" "system" fn CreateFiber(dwstacksize : usize, lpstartaddress : LPFIBER_START_ROUTINE, lpparameter : *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void);
392 CreateFiber(dwstacksize, lpstartaddress, ::core::mem::transmute(src:lpparameter.unwrap_or(::std::ptr::null())))
393}
394#[inline]
395pub unsafe fn CreateFiberEx(dwstackcommitsize: usize, dwstackreservesize: usize, dwflags: u32, lpstartaddress: LPFIBER_START_ROUTINE, lpparameter: ::core::option::Option<*const ::core::ffi::c_void>) -> *mut ::core::ffi::c_void {
396 ::windows_targets::link!("kernel32.dll" "system" fn CreateFiberEx(dwstackcommitsize : usize, dwstackreservesize : usize, dwflags : u32, lpstartaddress : LPFIBER_START_ROUTINE, lpparameter : *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void);
397 CreateFiberEx(dwstackcommitsize, dwstackreservesize, dwflags, lpstartaddress, ::core::mem::transmute(src:lpparameter.unwrap_or(::std::ptr::null())))
398}
399#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
400#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
401#[inline]
402pub unsafe fn CreateMutexA<P0, P1>(lpmutexattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, binitialowner: P0, lpname: P1) -> ::windows_core::Result<super::super::Foundation::HANDLE>
403where
404 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
405 P1: ::windows_core::IntoParam<::windows_core::PCSTR>,
406{
407 ::windows_targets::link!("kernel32.dll" "system" fn CreateMutexA(lpmutexattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, binitialowner : super::super::Foundation:: BOOL, lpname : ::windows_core::PCSTR) -> super::super::Foundation:: HANDLE);
408 let result__: HANDLE = CreateMutexA(::core::mem::transmute(lpmutexattributes.unwrap_or(::std::ptr::null())), binitialowner:binitialowner.into_param().abi(), lpname:lpname.into_param().abi());
409 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
410}
411#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
412#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
413#[inline]
414pub unsafe fn CreateMutexExA<P0>(lpmutexattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, lpname: P0, dwflags: u32, dwdesiredaccess: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
415where
416 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
417{
418 ::windows_targets::link!("kernel32.dll" "system" fn CreateMutexExA(lpmutexattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, lpname : ::windows_core::PCSTR, dwflags : u32, dwdesiredaccess : u32) -> super::super::Foundation:: HANDLE);
419 let result__: HANDLE = CreateMutexExA(::core::mem::transmute(lpmutexattributes.unwrap_or(::std::ptr::null())), lpname:lpname.into_param().abi(), dwflags, dwdesiredaccess);
420 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
421}
422#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
423#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
424#[inline]
425pub unsafe fn CreateMutexExW<P0>(lpmutexattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, lpname: P0, dwflags: u32, dwdesiredaccess: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
426where
427 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
428{
429 ::windows_targets::link!("kernel32.dll" "system" fn CreateMutexExW(lpmutexattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, lpname : ::windows_core::PCWSTR, dwflags : u32, dwdesiredaccess : u32) -> super::super::Foundation:: HANDLE);
430 let result__: HANDLE = CreateMutexExW(::core::mem::transmute(lpmutexattributes.unwrap_or(::std::ptr::null())), lpname:lpname.into_param().abi(), dwflags, dwdesiredaccess);
431 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
432}
433#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
434#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
435#[inline]
436pub unsafe fn CreateMutexW<P0, P1>(lpmutexattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, binitialowner: P0, lpname: P1) -> ::windows_core::Result<super::super::Foundation::HANDLE>
437where
438 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
439 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
440{
441 ::windows_targets::link!("kernel32.dll" "system" fn CreateMutexW(lpmutexattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, binitialowner : super::super::Foundation:: BOOL, lpname : ::windows_core::PCWSTR) -> super::super::Foundation:: HANDLE);
442 let result__: HANDLE = CreateMutexW(::core::mem::transmute(lpmutexattributes.unwrap_or(::std::ptr::null())), binitialowner:binitialowner.into_param().abi(), lpname:lpname.into_param().abi());
443 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
444}
445#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
446#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
447#[inline]
448pub unsafe fn CreatePrivateNamespaceA<P0>(lpprivatenamespaceattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, lpboundarydescriptor: *const ::core::ffi::c_void, lpaliasprefix: P0) -> ::windows_core::Result<super::super::Foundation::HANDLE>
449where
450 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
451{
452 ::windows_targets::link!("kernel32.dll" "system" fn CreatePrivateNamespaceA(lpprivatenamespaceattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, lpboundarydescriptor : *const ::core::ffi::c_void, lpaliasprefix : ::windows_core::PCSTR) -> super::super::Foundation:: HANDLE);
453 let result__: HANDLE = CreatePrivateNamespaceA(::core::mem::transmute(lpprivatenamespaceattributes.unwrap_or(::std::ptr::null())), lpboundarydescriptor, lpaliasprefix:lpaliasprefix.into_param().abi());
454 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
455}
456#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
457#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
458#[inline]
459pub unsafe fn CreatePrivateNamespaceW<P0>(lpprivatenamespaceattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, lpboundarydescriptor: *const ::core::ffi::c_void, lpaliasprefix: P0) -> super::super::Foundation::HANDLE
460where
461 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
462{
463 ::windows_targets::link!("kernel32.dll" "system" fn CreatePrivateNamespaceW(lpprivatenamespaceattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, lpboundarydescriptor : *const ::core::ffi::c_void, lpaliasprefix : ::windows_core::PCWSTR) -> super::super::Foundation:: HANDLE);
464 CreatePrivateNamespaceW(::core::mem::transmute(lpprivatenamespaceattributes.unwrap_or(::std::ptr::null())), lpboundarydescriptor, lpaliasprefix:lpaliasprefix.into_param().abi())
465}
466#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
467#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
468#[inline]
469pub unsafe fn CreateProcessA<P0, P1, P2>(lpapplicationname: P0, lpcommandline: ::windows_core::PSTR, lpprocessattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, lpthreadattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, binherithandles: P1, dwcreationflags: PROCESS_CREATION_FLAGS, lpenvironment: ::core::option::Option<*const ::core::ffi::c_void>, lpcurrentdirectory: P2, lpstartupinfo: *const STARTUPINFOA, lpprocessinformation: *mut PROCESS_INFORMATION) -> ::windows_core::Result<()>
470where
471 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
472 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
473 P2: ::windows_core::IntoParam<::windows_core::PCSTR>,
474{
475 ::windows_targets::link!("kernel32.dll" "system" fn CreateProcessA(lpapplicationname : ::windows_core::PCSTR, lpcommandline : ::windows_core::PSTR, lpprocessattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, lpthreadattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, binherithandles : super::super::Foundation:: BOOL, dwcreationflags : PROCESS_CREATION_FLAGS, lpenvironment : *const ::core::ffi::c_void, lpcurrentdirectory : ::windows_core::PCSTR, lpstartupinfo : *const STARTUPINFOA, lpprocessinformation : *mut PROCESS_INFORMATION) -> super::super::Foundation:: BOOL);
476 CreateProcessA(lpapplicationname:lpapplicationname.into_param().abi(), ::core::mem::transmute(lpcommandline), ::core::mem::transmute(lpprocessattributes.unwrap_or(::std::ptr::null())), ::core::mem::transmute(lpthreadattributes.unwrap_or(::std::ptr::null())), binherithandles:binherithandles.into_param().abi(), dwcreationflags, ::core::mem::transmute(lpenvironment.unwrap_or(::std::ptr::null())), lpcurrentdirectory:lpcurrentdirectory.into_param().abi(), lpstartupinfo, lpprocessinformation).ok()
477}
478#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
479#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
480#[inline]
481pub unsafe fn CreateProcessAsUserA<P0, P1, P2, P3>(htoken: P0, lpapplicationname: P1, lpcommandline: ::windows_core::PSTR, lpprocessattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, lpthreadattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, binherithandles: P2, dwcreationflags: PROCESS_CREATION_FLAGS, lpenvironment: ::core::option::Option<*const ::core::ffi::c_void>, lpcurrentdirectory: P3, lpstartupinfo: *const STARTUPINFOA, lpprocessinformation: *mut PROCESS_INFORMATION) -> ::windows_core::Result<()>
482where
483 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
484 P1: ::windows_core::IntoParam<::windows_core::PCSTR>,
485 P2: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
486 P3: ::windows_core::IntoParam<::windows_core::PCSTR>,
487{
488 ::windows_targets::link!("advapi32.dll" "system" fn CreateProcessAsUserA(htoken : super::super::Foundation:: HANDLE, lpapplicationname : ::windows_core::PCSTR, lpcommandline : ::windows_core::PSTR, lpprocessattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, lpthreadattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, binherithandles : super::super::Foundation:: BOOL, dwcreationflags : PROCESS_CREATION_FLAGS, lpenvironment : *const ::core::ffi::c_void, lpcurrentdirectory : ::windows_core::PCSTR, lpstartupinfo : *const STARTUPINFOA, lpprocessinformation : *mut PROCESS_INFORMATION) -> super::super::Foundation:: BOOL);
489 CreateProcessAsUserA(htoken:htoken.into_param().abi(), lpapplicationname:lpapplicationname.into_param().abi(), ::core::mem::transmute(lpcommandline), ::core::mem::transmute(lpprocessattributes.unwrap_or(::std::ptr::null())), ::core::mem::transmute(lpthreadattributes.unwrap_or(::std::ptr::null())), binherithandles:binherithandles.into_param().abi(), dwcreationflags, ::core::mem::transmute(lpenvironment.unwrap_or(::std::ptr::null())), lpcurrentdirectory:lpcurrentdirectory.into_param().abi(), lpstartupinfo, lpprocessinformation).ok()
490}
491#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
492#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
493#[inline]
494pub unsafe fn CreateProcessAsUserW<P0, P1, P2, P3>(htoken: P0, lpapplicationname: P1, lpcommandline: ::windows_core::PWSTR, lpprocessattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, lpthreadattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, binherithandles: P2, dwcreationflags: PROCESS_CREATION_FLAGS, lpenvironment: ::core::option::Option<*const ::core::ffi::c_void>, lpcurrentdirectory: P3, lpstartupinfo: *const STARTUPINFOW, lpprocessinformation: *mut PROCESS_INFORMATION) -> ::windows_core::Result<()>
495where
496 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
497 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
498 P2: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
499 P3: ::windows_core::IntoParam<::windows_core::PCWSTR>,
500{
501 ::windows_targets::link!("advapi32.dll" "system" fn CreateProcessAsUserW(htoken : super::super::Foundation:: HANDLE, lpapplicationname : ::windows_core::PCWSTR, lpcommandline : ::windows_core::PWSTR, lpprocessattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, lpthreadattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, binherithandles : super::super::Foundation:: BOOL, dwcreationflags : PROCESS_CREATION_FLAGS, lpenvironment : *const ::core::ffi::c_void, lpcurrentdirectory : ::windows_core::PCWSTR, lpstartupinfo : *const STARTUPINFOW, lpprocessinformation : *mut PROCESS_INFORMATION) -> super::super::Foundation:: BOOL);
502 CreateProcessAsUserW(htoken:htoken.into_param().abi(), lpapplicationname:lpapplicationname.into_param().abi(), ::core::mem::transmute(lpcommandline), ::core::mem::transmute(lpprocessattributes.unwrap_or(::std::ptr::null())), ::core::mem::transmute(lpthreadattributes.unwrap_or(::std::ptr::null())), binherithandles:binherithandles.into_param().abi(), dwcreationflags, ::core::mem::transmute(lpenvironment.unwrap_or(::std::ptr::null())), lpcurrentdirectory:lpcurrentdirectory.into_param().abi(), lpstartupinfo, lpprocessinformation).ok()
503}
504#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
505#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
506#[inline]
507pub unsafe fn CreateProcessW<P0, P1, P2>(lpapplicationname: P0, lpcommandline: ::windows_core::PWSTR, lpprocessattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, lpthreadattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, binherithandles: P1, dwcreationflags: PROCESS_CREATION_FLAGS, lpenvironment: ::core::option::Option<*const ::core::ffi::c_void>, lpcurrentdirectory: P2, lpstartupinfo: *const STARTUPINFOW, lpprocessinformation: *mut PROCESS_INFORMATION) -> ::windows_core::Result<()>
508where
509 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
510 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
511 P2: ::windows_core::IntoParam<::windows_core::PCWSTR>,
512{
513 ::windows_targets::link!("kernel32.dll" "system" fn CreateProcessW(lpapplicationname : ::windows_core::PCWSTR, lpcommandline : ::windows_core::PWSTR, lpprocessattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, lpthreadattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, binherithandles : super::super::Foundation:: BOOL, dwcreationflags : PROCESS_CREATION_FLAGS, lpenvironment : *const ::core::ffi::c_void, lpcurrentdirectory : ::windows_core::PCWSTR, lpstartupinfo : *const STARTUPINFOW, lpprocessinformation : *mut PROCESS_INFORMATION) -> super::super::Foundation:: BOOL);
514 CreateProcessW(lpapplicationname:lpapplicationname.into_param().abi(), ::core::mem::transmute(lpcommandline), ::core::mem::transmute(lpprocessattributes.unwrap_or(::std::ptr::null())), ::core::mem::transmute(lpthreadattributes.unwrap_or(::std::ptr::null())), binherithandles:binherithandles.into_param().abi(), dwcreationflags, ::core::mem::transmute(lpenvironment.unwrap_or(::std::ptr::null())), lpcurrentdirectory:lpcurrentdirectory.into_param().abi(), lpstartupinfo, lpprocessinformation).ok()
515}
516#[doc = "Required features: `\"Win32_Foundation\"`"]
517#[cfg(feature = "Win32_Foundation")]
518#[inline]
519pub unsafe fn CreateProcessWithLogonW<P0, P1, P2, P3, P4>(lpusername: P0, lpdomain: P1, lppassword: P2, dwlogonflags: CREATE_PROCESS_LOGON_FLAGS, lpapplicationname: P3, lpcommandline: ::windows_core::PWSTR, dwcreationflags: PROCESS_CREATION_FLAGS, lpenvironment: ::core::option::Option<*const ::core::ffi::c_void>, lpcurrentdirectory: P4, lpstartupinfo: *const STARTUPINFOW, lpprocessinformation: *mut PROCESS_INFORMATION) -> ::windows_core::Result<()>
520where
521 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
522 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
523 P2: ::windows_core::IntoParam<::windows_core::PCWSTR>,
524 P3: ::windows_core::IntoParam<::windows_core::PCWSTR>,
525 P4: ::windows_core::IntoParam<::windows_core::PCWSTR>,
526{
527 ::windows_targets::link!("advapi32.dll" "system" fn CreateProcessWithLogonW(lpusername : ::windows_core::PCWSTR, lpdomain : ::windows_core::PCWSTR, lppassword : ::windows_core::PCWSTR, dwlogonflags : CREATE_PROCESS_LOGON_FLAGS, lpapplicationname : ::windows_core::PCWSTR, lpcommandline : ::windows_core::PWSTR, dwcreationflags : PROCESS_CREATION_FLAGS, lpenvironment : *const ::core::ffi::c_void, lpcurrentdirectory : ::windows_core::PCWSTR, lpstartupinfo : *const STARTUPINFOW, lpprocessinformation : *mut PROCESS_INFORMATION) -> super::super::Foundation:: BOOL);
528 CreateProcessWithLogonW(lpusername:lpusername.into_param().abi(), lpdomain:lpdomain.into_param().abi(), lppassword:lppassword.into_param().abi(), dwlogonflags, lpapplicationname:lpapplicationname.into_param().abi(), ::core::mem::transmute(lpcommandline), dwcreationflags, ::core::mem::transmute(lpenvironment.unwrap_or(::std::ptr::null())), lpcurrentdirectory:lpcurrentdirectory.into_param().abi(), lpstartupinfo, lpprocessinformation).ok()
529}
530#[doc = "Required features: `\"Win32_Foundation\"`"]
531#[cfg(feature = "Win32_Foundation")]
532#[inline]
533pub unsafe fn CreateProcessWithTokenW<P0, P1, P2>(htoken: P0, dwlogonflags: CREATE_PROCESS_LOGON_FLAGS, lpapplicationname: P1, lpcommandline: ::windows_core::PWSTR, dwcreationflags: PROCESS_CREATION_FLAGS, lpenvironment: ::core::option::Option<*const ::core::ffi::c_void>, lpcurrentdirectory: P2, lpstartupinfo: *const STARTUPINFOW, lpprocessinformation: *mut PROCESS_INFORMATION) -> ::windows_core::Result<()>
534where
535 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
536 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
537 P2: ::windows_core::IntoParam<::windows_core::PCWSTR>,
538{
539 ::windows_targets::link!("advapi32.dll" "system" fn CreateProcessWithTokenW(htoken : super::super::Foundation:: HANDLE, dwlogonflags : CREATE_PROCESS_LOGON_FLAGS, lpapplicationname : ::windows_core::PCWSTR, lpcommandline : ::windows_core::PWSTR, dwcreationflags : PROCESS_CREATION_FLAGS, lpenvironment : *const ::core::ffi::c_void, lpcurrentdirectory : ::windows_core::PCWSTR, lpstartupinfo : *const STARTUPINFOW, lpprocessinformation : *mut PROCESS_INFORMATION) -> super::super::Foundation:: BOOL);
540 CreateProcessWithTokenW(htoken:htoken.into_param().abi(), dwlogonflags, lpapplicationname:lpapplicationname.into_param().abi(), ::core::mem::transmute(lpcommandline), dwcreationflags, ::core::mem::transmute(lpenvironment.unwrap_or(::std::ptr::null())), lpcurrentdirectory:lpcurrentdirectory.into_param().abi(), lpstartupinfo, lpprocessinformation).ok()
541}
542#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
543#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
544#[inline]
545pub unsafe fn CreateRemoteThread<P0>(hprocess: P0, lpthreadattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, dwstacksize: usize, lpstartaddress: LPTHREAD_START_ROUTINE, lpparameter: ::core::option::Option<*const ::core::ffi::c_void>, dwcreationflags: u32, lpthreadid: ::core::option::Option<*mut u32>) -> ::windows_core::Result<super::super::Foundation::HANDLE>
546where
547 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
548{
549 ::windows_targets::link!("kernel32.dll" "system" fn CreateRemoteThread(hprocess : super::super::Foundation:: HANDLE, lpthreadattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, dwstacksize : usize, lpstartaddress : LPTHREAD_START_ROUTINE, lpparameter : *const ::core::ffi::c_void, dwcreationflags : u32, lpthreadid : *mut u32) -> super::super::Foundation:: HANDLE);
550 let result__: HANDLE = CreateRemoteThread(hprocess:hprocess.into_param().abi(), ::core::mem::transmute(lpthreadattributes.unwrap_or(::std::ptr::null())), dwstacksize, lpstartaddress, ::core::mem::transmute(lpparameter.unwrap_or(::std::ptr::null())), dwcreationflags, ::core::mem::transmute(src:lpthreadid.unwrap_or(::std::ptr::null_mut())));
551 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
552}
553#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
554#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
555#[inline]
556pub unsafe fn CreateRemoteThreadEx<P0, P1>(hprocess: P0, lpthreadattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, dwstacksize: usize, lpstartaddress: LPTHREAD_START_ROUTINE, lpparameter: ::core::option::Option<*const ::core::ffi::c_void>, dwcreationflags: u32, lpattributelist: P1, lpthreadid: ::core::option::Option<*mut u32>) -> ::windows_core::Result<super::super::Foundation::HANDLE>
557where
558 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
559 P1: ::windows_core::IntoParam<LPPROC_THREAD_ATTRIBUTE_LIST>,
560{
561 ::windows_targets::link!("kernel32.dll" "system" fn CreateRemoteThreadEx(hprocess : super::super::Foundation:: HANDLE, lpthreadattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, dwstacksize : usize, lpstartaddress : LPTHREAD_START_ROUTINE, lpparameter : *const ::core::ffi::c_void, dwcreationflags : u32, lpattributelist : LPPROC_THREAD_ATTRIBUTE_LIST, lpthreadid : *mut u32) -> super::super::Foundation:: HANDLE);
562 let result__: HANDLE = CreateRemoteThreadEx(hprocess:hprocess.into_param().abi(), ::core::mem::transmute(lpthreadattributes.unwrap_or(::std::ptr::null())), dwstacksize, lpstartaddress, ::core::mem::transmute(lpparameter.unwrap_or(::std::ptr::null())), dwcreationflags, lpattributelist:lpattributelist.into_param().abi(), ::core::mem::transmute(src:lpthreadid.unwrap_or(::std::ptr::null_mut())));
563 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
564}
565#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
566#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
567#[inline]
568pub unsafe fn CreateSemaphoreA<P0>(lpsemaphoreattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, linitialcount: i32, lmaximumcount: i32, lpname: P0) -> ::windows_core::Result<super::super::Foundation::HANDLE>
569where
570 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
571{
572 ::windows_targets::link!("kernel32.dll" "system" fn CreateSemaphoreA(lpsemaphoreattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, linitialcount : i32, lmaximumcount : i32, lpname : ::windows_core::PCSTR) -> super::super::Foundation:: HANDLE);
573 let result__: HANDLE = CreateSemaphoreA(::core::mem::transmute(lpsemaphoreattributes.unwrap_or(::std::ptr::null())), linitialcount, lmaximumcount, lpname:lpname.into_param().abi());
574 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
575}
576#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
577#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
578#[inline]
579pub unsafe fn CreateSemaphoreExA<P0>(lpsemaphoreattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, linitialcount: i32, lmaximumcount: i32, lpname: P0, dwflags: u32, dwdesiredaccess: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
580where
581 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
582{
583 ::windows_targets::link!("kernel32.dll" "system" fn CreateSemaphoreExA(lpsemaphoreattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, linitialcount : i32, lmaximumcount : i32, lpname : ::windows_core::PCSTR, dwflags : u32, dwdesiredaccess : u32) -> super::super::Foundation:: HANDLE);
584 let result__: HANDLE = CreateSemaphoreExA(::core::mem::transmute(lpsemaphoreattributes.unwrap_or(::std::ptr::null())), linitialcount, lmaximumcount, lpname:lpname.into_param().abi(), dwflags, dwdesiredaccess);
585 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
586}
587#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
588#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
589#[inline]
590pub unsafe fn CreateSemaphoreExW<P0>(lpsemaphoreattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, linitialcount: i32, lmaximumcount: i32, lpname: P0, dwflags: u32, dwdesiredaccess: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
591where
592 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
593{
594 ::windows_targets::link!("kernel32.dll" "system" fn CreateSemaphoreExW(lpsemaphoreattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, linitialcount : i32, lmaximumcount : i32, lpname : ::windows_core::PCWSTR, dwflags : u32, dwdesiredaccess : u32) -> super::super::Foundation:: HANDLE);
595 let result__: HANDLE = CreateSemaphoreExW(::core::mem::transmute(lpsemaphoreattributes.unwrap_or(::std::ptr::null())), linitialcount, lmaximumcount, lpname:lpname.into_param().abi(), dwflags, dwdesiredaccess);
596 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
597}
598#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
599#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
600#[inline]
601pub unsafe fn CreateSemaphoreW<P0>(lpsemaphoreattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, linitialcount: i32, lmaximumcount: i32, lpname: P0) -> ::windows_core::Result<super::super::Foundation::HANDLE>
602where
603 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
604{
605 ::windows_targets::link!("kernel32.dll" "system" fn CreateSemaphoreW(lpsemaphoreattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, linitialcount : i32, lmaximumcount : i32, lpname : ::windows_core::PCWSTR) -> super::super::Foundation:: HANDLE);
606 let result__: HANDLE = CreateSemaphoreW(::core::mem::transmute(lpsemaphoreattributes.unwrap_or(::std::ptr::null())), linitialcount, lmaximumcount, lpname:lpname.into_param().abi());
607 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
608}
609#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
610#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
611#[inline]
612pub unsafe fn CreateThread(lpthreadattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, dwstacksize: usize, lpstartaddress: LPTHREAD_START_ROUTINE, lpparameter: ::core::option::Option<*const ::core::ffi::c_void>, dwcreationflags: THREAD_CREATION_FLAGS, lpthreadid: ::core::option::Option<*mut u32>) -> ::windows_core::Result<super::super::Foundation::HANDLE> {
613 ::windows_targets::link!("kernel32.dll" "system" fn CreateThread(lpthreadattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, dwstacksize : usize, lpstartaddress : LPTHREAD_START_ROUTINE, lpparameter : *const ::core::ffi::c_void, dwcreationflags : THREAD_CREATION_FLAGS, lpthreadid : *mut u32) -> super::super::Foundation:: HANDLE);
614 let result__: HANDLE = CreateThread(::core::mem::transmute(lpthreadattributes.unwrap_or(::std::ptr::null())), dwstacksize, lpstartaddress, ::core::mem::transmute(lpparameter.unwrap_or(::std::ptr::null())), dwcreationflags, ::core::mem::transmute(src:lpthreadid.unwrap_or(::std::ptr::null_mut())));
615 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
616}
617#[inline]
618pub unsafe fn CreateThreadpool(reserved: ::core::option::Option<*const ::core::ffi::c_void>) -> PTP_POOL {
619 ::windows_targets::link!("kernel32.dll" "system" fn CreateThreadpool(reserved : *const ::core::ffi::c_void) -> PTP_POOL);
620 CreateThreadpool(::core::mem::transmute(src:reserved.unwrap_or(::std::ptr::null())))
621}
622#[inline]
623pub unsafe fn CreateThreadpoolCleanupGroup() -> PTP_CLEANUP_GROUP {
624 ::windows_targets::link!("kernel32.dll" "system" fn CreateThreadpoolCleanupGroup() -> PTP_CLEANUP_GROUP);
625 CreateThreadpoolCleanupGroup()
626}
627#[doc = "Required features: `\"Win32_Foundation\"`"]
628#[cfg(feature = "Win32_Foundation")]
629#[inline]
630pub unsafe fn CreateThreadpoolIo<P0>(fl: P0, pfnio: PTP_WIN32_IO_CALLBACK, pv: ::core::option::Option<*mut ::core::ffi::c_void>, pcbe: ::core::option::Option<*const TP_CALLBACK_ENVIRON_V3>) -> ::windows_core::Result<PTP_IO>
631where
632 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
633{
634 ::windows_targets::link!("kernel32.dll" "system" fn CreateThreadpoolIo(fl : super::super::Foundation:: HANDLE, pfnio : PTP_WIN32_IO_CALLBACK, pv : *mut ::core::ffi::c_void, pcbe : *const TP_CALLBACK_ENVIRON_V3) -> PTP_IO);
635 let result__: PTP_IO = CreateThreadpoolIo(fl:fl.into_param().abi(), pfnio, ::core::mem::transmute(pv.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(src:pcbe.unwrap_or(::std::ptr::null())));
636 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
637}
638#[inline]
639pub unsafe fn CreateThreadpoolTimer(pfnti: PTP_TIMER_CALLBACK, pv: ::core::option::Option<*mut ::core::ffi::c_void>, pcbe: ::core::option::Option<*const TP_CALLBACK_ENVIRON_V3>) -> ::windows_core::Result<PTP_TIMER> {
640 ::windows_targets::link!("kernel32.dll" "system" fn CreateThreadpoolTimer(pfnti : PTP_TIMER_CALLBACK, pv : *mut ::core::ffi::c_void, pcbe : *const TP_CALLBACK_ENVIRON_V3) -> PTP_TIMER);
641 let result__: PTP_TIMER = CreateThreadpoolTimer(pfnti, ::core::mem::transmute(pv.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(src:pcbe.unwrap_or(::std::ptr::null())));
642 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
643}
644#[inline]
645pub unsafe fn CreateThreadpoolWait(pfnwa: PTP_WAIT_CALLBACK, pv: ::core::option::Option<*mut ::core::ffi::c_void>, pcbe: ::core::option::Option<*const TP_CALLBACK_ENVIRON_V3>) -> ::windows_core::Result<PTP_WAIT> {
646 ::windows_targets::link!("kernel32.dll" "system" fn CreateThreadpoolWait(pfnwa : PTP_WAIT_CALLBACK, pv : *mut ::core::ffi::c_void, pcbe : *const TP_CALLBACK_ENVIRON_V3) -> PTP_WAIT);
647 let result__: PTP_WAIT = CreateThreadpoolWait(pfnwa, ::core::mem::transmute(pv.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(src:pcbe.unwrap_or(::std::ptr::null())));
648 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
649}
650#[inline]
651pub unsafe fn CreateThreadpoolWork(pfnwk: PTP_WORK_CALLBACK, pv: ::core::option::Option<*mut ::core::ffi::c_void>, pcbe: ::core::option::Option<*const TP_CALLBACK_ENVIRON_V3>) -> ::windows_core::Result<PTP_WORK> {
652 ::windows_targets::link!("kernel32.dll" "system" fn CreateThreadpoolWork(pfnwk : PTP_WORK_CALLBACK, pv : *mut ::core::ffi::c_void, pcbe : *const TP_CALLBACK_ENVIRON_V3) -> PTP_WORK);
653 let result__: PTP_WORK = CreateThreadpoolWork(pfnwk, ::core::mem::transmute(pv.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(src:pcbe.unwrap_or(::std::ptr::null())));
654 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
655}
656#[doc = "Required features: `\"Win32_Foundation\"`"]
657#[cfg(feature = "Win32_Foundation")]
658#[inline]
659pub unsafe fn CreateTimerQueue() -> ::windows_core::Result<super::super::Foundation::HANDLE> {
660 ::windows_targets::link!("kernel32.dll" "system" fn CreateTimerQueue() -> super::super::Foundation:: HANDLE);
661 let result__: HANDLE = CreateTimerQueue();
662 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
663}
664#[doc = "Required features: `\"Win32_Foundation\"`"]
665#[cfg(feature = "Win32_Foundation")]
666#[inline]
667pub unsafe fn CreateTimerQueueTimer<P0>(phnewtimer: *mut super::super::Foundation::HANDLE, timerqueue: P0, callback: WAITORTIMERCALLBACK, parameter: ::core::option::Option<*const ::core::ffi::c_void>, duetime: u32, period: u32, flags: WORKER_THREAD_FLAGS) -> ::windows_core::Result<()>
668where
669 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
670{
671 ::windows_targets::link!("kernel32.dll" "system" fn CreateTimerQueueTimer(phnewtimer : *mut super::super::Foundation:: HANDLE, timerqueue : super::super::Foundation:: HANDLE, callback : WAITORTIMERCALLBACK, parameter : *const ::core::ffi::c_void, duetime : u32, period : u32, flags : WORKER_THREAD_FLAGS) -> super::super::Foundation:: BOOL);
672 CreateTimerQueueTimer(phnewtimer, timerqueue:timerqueue.into_param().abi(), callback, ::core::mem::transmute(src:parameter.unwrap_or(::std::ptr::null())), duetime, period, flags).ok()
673}
674#[doc = "Required features: `\"Win32_Foundation\"`"]
675#[cfg(feature = "Win32_Foundation")]
676#[inline]
677pub unsafe fn CreateUmsCompletionList(umscompletionlist: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> {
678 ::windows_targets::link!("kernel32.dll" "system" fn CreateUmsCompletionList(umscompletionlist : *mut *mut ::core::ffi::c_void) -> super::super::Foundation:: BOOL);
679 CreateUmsCompletionList(umscompletionlist).ok()
680}
681#[doc = "Required features: `\"Win32_Foundation\"`"]
682#[cfg(feature = "Win32_Foundation")]
683#[inline]
684pub unsafe fn CreateUmsThreadContext(lpumsthread: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> {
685 ::windows_targets::link!("kernel32.dll" "system" fn CreateUmsThreadContext(lpumsthread : *mut *mut ::core::ffi::c_void) -> super::super::Foundation:: BOOL);
686 CreateUmsThreadContext(lpumsthread).ok()
687}
688#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
689#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
690#[inline]
691pub unsafe fn CreateWaitableTimerA<P0, P1>(lptimerattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, bmanualreset: P0, lptimername: P1) -> super::super::Foundation::HANDLE
692where
693 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
694 P1: ::windows_core::IntoParam<::windows_core::PCSTR>,
695{
696 ::windows_targets::link!("kernel32.dll" "system" fn CreateWaitableTimerA(lptimerattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, bmanualreset : super::super::Foundation:: BOOL, lptimername : ::windows_core::PCSTR) -> super::super::Foundation:: HANDLE);
697 CreateWaitableTimerA(::core::mem::transmute(lptimerattributes.unwrap_or(::std::ptr::null())), bmanualreset:bmanualreset.into_param().abi(), lptimername:lptimername.into_param().abi())
698}
699#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
700#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
701#[inline]
702pub unsafe fn CreateWaitableTimerExA<P0>(lptimerattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, lptimername: P0, dwflags: u32, dwdesiredaccess: u32) -> super::super::Foundation::HANDLE
703where
704 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
705{
706 ::windows_targets::link!("kernel32.dll" "system" fn CreateWaitableTimerExA(lptimerattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, lptimername : ::windows_core::PCSTR, dwflags : u32, dwdesiredaccess : u32) -> super::super::Foundation:: HANDLE);
707 CreateWaitableTimerExA(::core::mem::transmute(lptimerattributes.unwrap_or(::std::ptr::null())), lptimername:lptimername.into_param().abi(), dwflags, dwdesiredaccess)
708}
709#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
710#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
711#[inline]
712pub unsafe fn CreateWaitableTimerExW<P0>(lptimerattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, lptimername: P0, dwflags: u32, dwdesiredaccess: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
713where
714 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
715{
716 ::windows_targets::link!("kernel32.dll" "system" fn CreateWaitableTimerExW(lptimerattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, lptimername : ::windows_core::PCWSTR, dwflags : u32, dwdesiredaccess : u32) -> super::super::Foundation:: HANDLE);
717 let result__: HANDLE = CreateWaitableTimerExW(::core::mem::transmute(lptimerattributes.unwrap_or(::std::ptr::null())), lptimername:lptimername.into_param().abi(), dwflags, dwdesiredaccess);
718 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
719}
720#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
721#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
722#[inline]
723pub unsafe fn CreateWaitableTimerW<P0, P1>(lptimerattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, bmanualreset: P0, lptimername: P1) -> ::windows_core::Result<super::super::Foundation::HANDLE>
724where
725 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
726 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
727{
728 ::windows_targets::link!("kernel32.dll" "system" fn CreateWaitableTimerW(lptimerattributes : *const super::super::Security:: SECURITY_ATTRIBUTES, bmanualreset : super::super::Foundation:: BOOL, lptimername : ::windows_core::PCWSTR) -> super::super::Foundation:: HANDLE);
729 let result__: HANDLE = CreateWaitableTimerW(::core::mem::transmute(lptimerattributes.unwrap_or(::std::ptr::null())), bmanualreset:bmanualreset.into_param().abi(), lptimername:lptimername.into_param().abi());
730 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
731}
732#[doc = "Required features: `\"Win32_Foundation\"`"]
733#[cfg(feature = "Win32_Foundation")]
734#[inline]
735pub unsafe fn DeleteBoundaryDescriptor<P0>(boundarydescriptor: P0)
736where
737 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
738{
739 ::windows_targets::link!("kernel32.dll" "system" fn DeleteBoundaryDescriptor(boundarydescriptor : super::super::Foundation:: HANDLE) -> ());
740 DeleteBoundaryDescriptor(boundarydescriptor:boundarydescriptor.into_param().abi())
741}
742#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`"]
743#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
744#[inline]
745pub unsafe fn DeleteCriticalSection(lpcriticalsection: *mut CRITICAL_SECTION) {
746 ::windows_targets::link!("kernel32.dll" "system" fn DeleteCriticalSection(lpcriticalsection : *mut CRITICAL_SECTION) -> ());
747 DeleteCriticalSection(lpcriticalsection)
748}
749#[inline]
750pub unsafe fn DeleteFiber(lpfiber: *const ::core::ffi::c_void) {
751 ::windows_targets::link!("kernel32.dll" "system" fn DeleteFiber(lpfiber : *const ::core::ffi::c_void) -> ());
752 DeleteFiber(lpfiber)
753}
754#[inline]
755pub unsafe fn DeleteProcThreadAttributeList(lpattributelist: LPPROC_THREAD_ATTRIBUTE_LIST) {
756 ::windows_targets::link!("kernel32.dll" "system" fn DeleteProcThreadAttributeList(lpattributelist : LPPROC_THREAD_ATTRIBUTE_LIST) -> ());
757 DeleteProcThreadAttributeList(lpattributelist)
758}
759#[doc = "Required features: `\"Win32_Foundation\"`"]
760#[cfg(feature = "Win32_Foundation")]
761#[inline]
762pub unsafe fn DeleteSynchronizationBarrier(lpbarrier: *mut SYNCHRONIZATION_BARRIER) -> super::super::Foundation::BOOL {
763 ::windows_targets::link!("kernel32.dll" "system" fn DeleteSynchronizationBarrier(lpbarrier : *mut SYNCHRONIZATION_BARRIER) -> super::super::Foundation:: BOOL);
764 DeleteSynchronizationBarrier(lpbarrier)
765}
766#[doc = "Required features: `\"Win32_Foundation\"`"]
767#[cfg(feature = "Win32_Foundation")]
768#[inline]
769pub unsafe fn DeleteTimerQueue<P0>(timerqueue: P0) -> ::windows_core::Result<()>
770where
771 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
772{
773 ::windows_targets::link!("kernel32.dll" "system" fn DeleteTimerQueue(timerqueue : super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL);
774 DeleteTimerQueue(timerqueue:timerqueue.into_param().abi()).ok()
775}
776#[doc = "Required features: `\"Win32_Foundation\"`"]
777#[cfg(feature = "Win32_Foundation")]
778#[inline]
779pub unsafe fn DeleteTimerQueueEx<P0, P1>(timerqueue: P0, completionevent: P1) -> ::windows_core::Result<()>
780where
781 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
782 P1: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
783{
784 ::windows_targets::link!("kernel32.dll" "system" fn DeleteTimerQueueEx(timerqueue : super::super::Foundation:: HANDLE, completionevent : super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL);
785 DeleteTimerQueueEx(timerqueue:timerqueue.into_param().abi(), completionevent:completionevent.into_param().abi()).ok()
786}
787#[doc = "Required features: `\"Win32_Foundation\"`"]
788#[cfg(feature = "Win32_Foundation")]
789#[inline]
790pub unsafe fn DeleteTimerQueueTimer<P0, P1, P2>(timerqueue: P0, timer: P1, completionevent: P2) -> ::windows_core::Result<()>
791where
792 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
793 P1: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
794 P2: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
795{
796 ::windows_targets::link!("kernel32.dll" "system" fn DeleteTimerQueueTimer(timerqueue : super::super::Foundation:: HANDLE, timer : super::super::Foundation:: HANDLE, completionevent : super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL);
797 DeleteTimerQueueTimer(timerqueue:timerqueue.into_param().abi(), timer:timer.into_param().abi(), completionevent:completionevent.into_param().abi()).ok()
798}
799#[doc = "Required features: `\"Win32_Foundation\"`"]
800#[cfg(feature = "Win32_Foundation")]
801#[inline]
802pub unsafe fn DeleteUmsCompletionList(umscompletionlist: *const ::core::ffi::c_void) -> ::windows_core::Result<()> {
803 ::windows_targets::link!("kernel32.dll" "system" fn DeleteUmsCompletionList(umscompletionlist : *const ::core::ffi::c_void) -> super::super::Foundation:: BOOL);
804 DeleteUmsCompletionList(umscompletionlist).ok()
805}
806#[doc = "Required features: `\"Win32_Foundation\"`"]
807#[cfg(feature = "Win32_Foundation")]
808#[inline]
809pub unsafe fn DeleteUmsThreadContext(umsthread: *const ::core::ffi::c_void) -> ::windows_core::Result<()> {
810 ::windows_targets::link!("kernel32.dll" "system" fn DeleteUmsThreadContext(umsthread : *const ::core::ffi::c_void) -> super::super::Foundation:: BOOL);
811 DeleteUmsThreadContext(umsthread).ok()
812}
813#[doc = "Required features: `\"Win32_Foundation\"`"]
814#[cfg(feature = "Win32_Foundation")]
815#[inline]
816pub unsafe fn DequeueUmsCompletionListItems(umscompletionlist: *const ::core::ffi::c_void, waittimeout: u32, umsthreadlist: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> {
817 ::windows_targets::link!("kernel32.dll" "system" fn DequeueUmsCompletionListItems(umscompletionlist : *const ::core::ffi::c_void, waittimeout : u32, umsthreadlist : *mut *mut ::core::ffi::c_void) -> super::super::Foundation:: BOOL);
818 DequeueUmsCompletionListItems(umscompletionlist, waittimeout, umsthreadlist).ok()
819}
820#[inline]
821pub unsafe fn DisassociateCurrentThreadFromCallback<P0>(pci: P0)
822where
823 P0: ::windows_core::IntoParam<PTP_CALLBACK_INSTANCE>,
824{
825 ::windows_targets::link!("kernel32.dll" "system" fn DisassociateCurrentThreadFromCallback(pci : PTP_CALLBACK_INSTANCE) -> ());
826 DisassociateCurrentThreadFromCallback(pci:pci.into_param().abi())
827}
828#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`"]
829#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
830#[inline]
831pub unsafe fn EnterCriticalSection(lpcriticalsection: *mut CRITICAL_SECTION) {
832 ::windows_targets::link!("kernel32.dll" "system" fn EnterCriticalSection(lpcriticalsection : *mut CRITICAL_SECTION) -> ());
833 EnterCriticalSection(lpcriticalsection)
834}
835#[doc = "Required features: `\"Win32_Foundation\"`"]
836#[cfg(feature = "Win32_Foundation")]
837#[inline]
838pub unsafe fn EnterSynchronizationBarrier(lpbarrier: *mut SYNCHRONIZATION_BARRIER, dwflags: u32) -> super::super::Foundation::BOOL {
839 ::windows_targets::link!("kernel32.dll" "system" fn EnterSynchronizationBarrier(lpbarrier : *mut SYNCHRONIZATION_BARRIER, dwflags : u32) -> super::super::Foundation:: BOOL);
840 EnterSynchronizationBarrier(lpbarrier, dwflags)
841}
842#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_SystemServices\"`"]
843#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_SystemServices"))]
844#[inline]
845pub unsafe fn EnterUmsSchedulingMode(schedulerstartupinfo: *const UMS_SCHEDULER_STARTUP_INFO) -> ::windows_core::Result<()> {
846 ::windows_targets::link!("kernel32.dll" "system" fn EnterUmsSchedulingMode(schedulerstartupinfo : *const UMS_SCHEDULER_STARTUP_INFO) -> super::super::Foundation:: BOOL);
847 EnterUmsSchedulingMode(schedulerstartupinfo).ok()
848}
849#[doc = "Required features: `\"Win32_Foundation\"`"]
850#[cfg(feature = "Win32_Foundation")]
851#[inline]
852pub unsafe fn ExecuteUmsThread(umsthread: *mut ::core::ffi::c_void) -> ::windows_core::Result<()> {
853 ::windows_targets::link!("kernel32.dll" "system" fn ExecuteUmsThread(umsthread : *mut ::core::ffi::c_void) -> super::super::Foundation:: BOOL);
854 ExecuteUmsThread(umsthread).ok()
855}
856#[inline]
857pub unsafe fn ExitProcess(uexitcode: u32) -> ! {
858 ::windows_targets::link!("kernel32.dll" "system" fn ExitProcess(uexitcode : u32) -> !);
859 ExitProcess(uexitcode)
860}
861#[inline]
862pub unsafe fn ExitThread(dwexitcode: u32) -> ! {
863 ::windows_targets::link!("kernel32.dll" "system" fn ExitThread(dwexitcode : u32) -> !);
864 ExitThread(dwexitcode)
865}
866#[inline]
867pub unsafe fn FlsAlloc(lpcallback: PFLS_CALLBACK_FUNCTION) -> u32 {
868 ::windows_targets::link!("kernel32.dll" "system" fn FlsAlloc(lpcallback : PFLS_CALLBACK_FUNCTION) -> u32);
869 FlsAlloc(lpcallback)
870}
871#[doc = "Required features: `\"Win32_Foundation\"`"]
872#[cfg(feature = "Win32_Foundation")]
873#[inline]
874pub unsafe fn FlsFree(dwflsindex: u32) -> ::windows_core::Result<()> {
875 ::windows_targets::link!("kernel32.dll" "system" fn FlsFree(dwflsindex : u32) -> super::super::Foundation:: BOOL);
876 FlsFree(dwflsindex).ok()
877}
878#[inline]
879pub unsafe fn FlsGetValue(dwflsindex: u32) -> *mut ::core::ffi::c_void {
880 ::windows_targets::link!("kernel32.dll" "system" fn FlsGetValue(dwflsindex : u32) -> *mut ::core::ffi::c_void);
881 FlsGetValue(dwflsindex)
882}
883#[doc = "Required features: `\"Win32_Foundation\"`"]
884#[cfg(feature = "Win32_Foundation")]
885#[inline]
886pub unsafe fn FlsSetValue(dwflsindex: u32, lpflsdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
887 ::windows_targets::link!("kernel32.dll" "system" fn FlsSetValue(dwflsindex : u32, lpflsdata : *const ::core::ffi::c_void) -> super::super::Foundation:: BOOL);
888 FlsSetValue(dwflsindex, ::core::mem::transmute(src:lpflsdata.unwrap_or(::std::ptr::null()))).ok()
889}
890#[inline]
891pub unsafe fn FlushProcessWriteBuffers() {
892 ::windows_targets::link!("kernel32.dll" "system" fn FlushProcessWriteBuffers() -> ());
893 FlushProcessWriteBuffers()
894}
895#[doc = "Required features: `\"Win32_Foundation\"`"]
896#[cfg(feature = "Win32_Foundation")]
897#[inline]
898pub unsafe fn FreeLibraryWhenCallbackReturns<P0, P1>(pci: P0, r#mod: P1)
899where
900 P0: ::windows_core::IntoParam<PTP_CALLBACK_INSTANCE>,
901 P1: ::windows_core::IntoParam<super::super::Foundation::HMODULE>,
902{
903 ::windows_targets::link!("kernel32.dll" "system" fn FreeLibraryWhenCallbackReturns(pci : PTP_CALLBACK_INSTANCE, r#mod : super::super::Foundation:: HMODULE) -> ());
904 FreeLibraryWhenCallbackReturns(pci:pci.into_param().abi(), r#mod:r#mod.into_param().abi())
905}
906#[inline]
907pub unsafe fn GetActiveProcessorCount(groupnumber: u16) -> u32 {
908 ::windows_targets::link!("kernel32.dll" "system" fn GetActiveProcessorCount(groupnumber : u16) -> u32);
909 GetActiveProcessorCount(groupnumber)
910}
911#[inline]
912pub unsafe fn GetActiveProcessorGroupCount() -> u16 {
913 ::windows_targets::link!("kernel32.dll" "system" fn GetActiveProcessorGroupCount() -> u16);
914 GetActiveProcessorGroupCount()
915}
916#[doc = "Required features: `\"Win32_Foundation\"`"]
917#[cfg(feature = "Win32_Foundation")]
918#[inline]
919pub unsafe fn GetCurrentProcess() -> super::super::Foundation::HANDLE {
920 ::windows_targets::link!("kernel32.dll" "system" fn GetCurrentProcess() -> super::super::Foundation:: HANDLE);
921 GetCurrentProcess()
922}
923#[inline]
924pub unsafe fn GetCurrentProcessId() -> u32 {
925 ::windows_targets::link!("kernel32.dll" "system" fn GetCurrentProcessId() -> u32);
926 GetCurrentProcessId()
927}
928#[inline]
929pub unsafe fn GetCurrentProcessorNumber() -> u32 {
930 ::windows_targets::link!("kernel32.dll" "system" fn GetCurrentProcessorNumber() -> u32);
931 GetCurrentProcessorNumber()
932}
933#[doc = "Required features: `\"Win32_System_Kernel\"`"]
934#[cfg(feature = "Win32_System_Kernel")]
935#[inline]
936pub unsafe fn GetCurrentProcessorNumberEx() -> super::Kernel::PROCESSOR_NUMBER {
937 ::windows_targets::link!("kernel32.dll" "system" fn GetCurrentProcessorNumberEx(procnumber : *mut super::Kernel:: PROCESSOR_NUMBER) -> ());
938 let mut result__ = ::std::mem::zeroed();
939 GetCurrentProcessorNumberEx(&mut result__);
940 ::std::mem::transmute(result__)
941}
942#[doc = "Required features: `\"Win32_Foundation\"`"]
943#[cfg(feature = "Win32_Foundation")]
944#[inline]
945pub unsafe fn GetCurrentThread() -> super::super::Foundation::HANDLE {
946 ::windows_targets::link!("kernel32.dll" "system" fn GetCurrentThread() -> super::super::Foundation:: HANDLE);
947 GetCurrentThread()
948}
949#[inline]
950pub unsafe fn GetCurrentThreadId() -> u32 {
951 ::windows_targets::link!("kernel32.dll" "system" fn GetCurrentThreadId() -> u32);
952 GetCurrentThreadId()
953}
954#[inline]
955pub unsafe fn GetCurrentThreadStackLimits(lowlimit: *mut usize, highlimit: *mut usize) {
956 ::windows_targets::link!("kernel32.dll" "system" fn GetCurrentThreadStackLimits(lowlimit : *mut usize, highlimit : *mut usize) -> ());
957 GetCurrentThreadStackLimits(lowlimit, highlimit)
958}
959#[inline]
960pub unsafe fn GetCurrentUmsThread() -> *mut ::core::ffi::c_void {
961 ::windows_targets::link!("kernel32.dll" "system" fn GetCurrentUmsThread() -> *mut ::core::ffi::c_void);
962 GetCurrentUmsThread()
963}
964#[doc = "Required features: `\"Win32_Foundation\"`"]
965#[cfg(feature = "Win32_Foundation")]
966#[inline]
967pub unsafe fn GetExitCodeProcess<P0>(hprocess: P0, lpexitcode: *mut u32) -> ::windows_core::Result<()>
968where
969 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
970{
971 ::windows_targets::link!("kernel32.dll" "system" fn GetExitCodeProcess(hprocess : super::super::Foundation:: HANDLE, lpexitcode : *mut u32) -> super::super::Foundation:: BOOL);
972 GetExitCodeProcess(hprocess:hprocess.into_param().abi(), lpexitcode).ok()
973}
974#[doc = "Required features: `\"Win32_Foundation\"`"]
975#[cfg(feature = "Win32_Foundation")]
976#[inline]
977pub unsafe fn GetExitCodeThread<P0>(hthread: P0, lpexitcode: *mut u32) -> ::windows_core::Result<()>
978where
979 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
980{
981 ::windows_targets::link!("kernel32.dll" "system" fn GetExitCodeThread(hthread : super::super::Foundation:: HANDLE, lpexitcode : *mut u32) -> super::super::Foundation:: BOOL);
982 GetExitCodeThread(hthread:hthread.into_param().abi(), lpexitcode).ok()
983}
984#[doc = "Required features: `\"Win32_Foundation\"`"]
985#[cfg(feature = "Win32_Foundation")]
986#[inline]
987pub unsafe fn GetGuiResources<P0>(hprocess: P0, uiflags: GET_GUI_RESOURCES_FLAGS) -> u32
988where
989 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
990{
991 ::windows_targets::link!("user32.dll" "system" fn GetGuiResources(hprocess : super::super::Foundation:: HANDLE, uiflags : GET_GUI_RESOURCES_FLAGS) -> u32);
992 GetGuiResources(hprocess:hprocess.into_param().abi(), uiflags)
993}
994#[inline]
995pub unsafe fn GetMachineTypeAttributes(machine: u16) -> ::windows_core::Result<MACHINE_ATTRIBUTES> {
996 ::windows_targets::link!("kernel32.dll" "system" fn GetMachineTypeAttributes(machine : u16, machinetypeattributes : *mut MACHINE_ATTRIBUTES) -> ::windows_core::HRESULT);
997 let mut result__: MACHINE_ATTRIBUTES = ::std::mem::zeroed();
998 GetMachineTypeAttributes(machine, &mut result__).from_abi(result__)
999}
1000#[inline]
1001pub unsafe fn GetMaximumProcessorCount(groupnumber: u16) -> u32 {
1002 ::windows_targets::link!("kernel32.dll" "system" fn GetMaximumProcessorCount(groupnumber : u16) -> u32);
1003 GetMaximumProcessorCount(groupnumber)
1004}
1005#[inline]
1006pub unsafe fn GetMaximumProcessorGroupCount() -> u16 {
1007 ::windows_targets::link!("kernel32.dll" "system" fn GetMaximumProcessorGroupCount() -> u16);
1008 GetMaximumProcessorGroupCount()
1009}
1010#[inline]
1011pub unsafe fn GetNextUmsListItem(umscontext: *mut ::core::ffi::c_void) -> *mut ::core::ffi::c_void {
1012 ::windows_targets::link!("kernel32.dll" "system" fn GetNextUmsListItem(umscontext : *mut ::core::ffi::c_void) -> *mut ::core::ffi::c_void);
1013 GetNextUmsListItem(umscontext)
1014}
1015#[doc = "Required features: `\"Win32_Foundation\"`"]
1016#[cfg(feature = "Win32_Foundation")]
1017#[inline]
1018pub unsafe fn GetNumaAvailableMemoryNode(node: u8, availablebytes: *mut u64) -> ::windows_core::Result<()> {
1019 ::windows_targets::link!("kernel32.dll" "system" fn GetNumaAvailableMemoryNode(node : u8, availablebytes : *mut u64) -> super::super::Foundation:: BOOL);
1020 GetNumaAvailableMemoryNode(node, availablebytes).ok()
1021}
1022#[doc = "Required features: `\"Win32_Foundation\"`"]
1023#[cfg(feature = "Win32_Foundation")]
1024#[inline]
1025pub unsafe fn GetNumaAvailableMemoryNodeEx(node: u16, availablebytes: *mut u64) -> ::windows_core::Result<()> {
1026 ::windows_targets::link!("kernel32.dll" "system" fn GetNumaAvailableMemoryNodeEx(node : u16, availablebytes : *mut u64) -> super::super::Foundation:: BOOL);
1027 GetNumaAvailableMemoryNodeEx(node, availablebytes).ok()
1028}
1029#[doc = "Required features: `\"Win32_Foundation\"`"]
1030#[cfg(feature = "Win32_Foundation")]
1031#[inline]
1032pub unsafe fn GetNumaHighestNodeNumber(highestnodenumber: *mut u32) -> ::windows_core::Result<()> {
1033 ::windows_targets::link!("kernel32.dll" "system" fn GetNumaHighestNodeNumber(highestnodenumber : *mut u32) -> super::super::Foundation:: BOOL);
1034 GetNumaHighestNodeNumber(highestnodenumber).ok()
1035}
1036#[doc = "Required features: `\"Win32_Foundation\"`"]
1037#[cfg(feature = "Win32_Foundation")]
1038#[inline]
1039pub unsafe fn GetNumaNodeNumberFromHandle<P0>(hfile: P0, nodenumber: *mut u16) -> ::windows_core::Result<()>
1040where
1041 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1042{
1043 ::windows_targets::link!("kernel32.dll" "system" fn GetNumaNodeNumberFromHandle(hfile : super::super::Foundation:: HANDLE, nodenumber : *mut u16) -> super::super::Foundation:: BOOL);
1044 GetNumaNodeNumberFromHandle(hfile:hfile.into_param().abi(), nodenumber).ok()
1045}
1046#[doc = "Required features: `\"Win32_Foundation\"`"]
1047#[cfg(feature = "Win32_Foundation")]
1048#[inline]
1049pub unsafe fn GetNumaNodeProcessorMask(node: u8, processormask: *mut u64) -> ::windows_core::Result<()> {
1050 ::windows_targets::link!("kernel32.dll" "system" fn GetNumaNodeProcessorMask(node : u8, processormask : *mut u64) -> super::super::Foundation:: BOOL);
1051 GetNumaNodeProcessorMask(node, processormask).ok()
1052}
1053#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_SystemInformation\"`"]
1054#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_SystemInformation"))]
1055#[inline]
1056pub unsafe fn GetNumaNodeProcessorMask2(nodenumber: u16, processormasks: ::core::option::Option<&mut [super::SystemInformation::GROUP_AFFINITY]>, requiredmaskcount: *mut u16) -> super::super::Foundation::BOOL {
1057 ::windows_targets::link!("kernel32.dll" "system" fn GetNumaNodeProcessorMask2(nodenumber : u16, processormasks : *mut super::SystemInformation:: GROUP_AFFINITY, processormaskcount : u16, requiredmaskcount : *mut u16) -> super::super::Foundation:: BOOL);
1058 GetNumaNodeProcessorMask2(nodenumber, ::core::mem::transmute(processormasks.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), processormasks.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), requiredmaskcount)
1059}
1060#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_SystemInformation\"`"]
1061#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_SystemInformation"))]
1062#[inline]
1063pub unsafe fn GetNumaNodeProcessorMaskEx(node: u16, processormask: *mut super::SystemInformation::GROUP_AFFINITY) -> super::super::Foundation::BOOL {
1064 ::windows_targets::link!("kernel32.dll" "system" fn GetNumaNodeProcessorMaskEx(node : u16, processormask : *mut super::SystemInformation:: GROUP_AFFINITY) -> super::super::Foundation:: BOOL);
1065 GetNumaNodeProcessorMaskEx(node, processormask)
1066}
1067#[doc = "Required features: `\"Win32_Foundation\"`"]
1068#[cfg(feature = "Win32_Foundation")]
1069#[inline]
1070pub unsafe fn GetNumaProcessorNode(processor: u8, nodenumber: *mut u8) -> ::windows_core::Result<()> {
1071 ::windows_targets::link!("kernel32.dll" "system" fn GetNumaProcessorNode(processor : u8, nodenumber : *mut u8) -> super::super::Foundation:: BOOL);
1072 GetNumaProcessorNode(processor, nodenumber).ok()
1073}
1074#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`"]
1075#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
1076#[inline]
1077pub unsafe fn GetNumaProcessorNodeEx(processor: *const super::Kernel::PROCESSOR_NUMBER, nodenumber: *mut u16) -> ::windows_core::Result<()> {
1078 ::windows_targets::link!("kernel32.dll" "system" fn GetNumaProcessorNodeEx(processor : *const super::Kernel:: PROCESSOR_NUMBER, nodenumber : *mut u16) -> super::super::Foundation:: BOOL);
1079 GetNumaProcessorNodeEx(processor, nodenumber).ok()
1080}
1081#[doc = "Required features: `\"Win32_Foundation\"`"]
1082#[cfg(feature = "Win32_Foundation")]
1083#[inline]
1084pub unsafe fn GetNumaProximityNode(proximityid: u32, nodenumber: *mut u8) -> ::windows_core::Result<()> {
1085 ::windows_targets::link!("kernel32.dll" "system" fn GetNumaProximityNode(proximityid : u32, nodenumber : *mut u8) -> super::super::Foundation:: BOOL);
1086 GetNumaProximityNode(proximityid, nodenumber).ok()
1087}
1088#[doc = "Required features: `\"Win32_Foundation\"`"]
1089#[cfg(feature = "Win32_Foundation")]
1090#[inline]
1091pub unsafe fn GetNumaProximityNodeEx(proximityid: u32, nodenumber: *mut u16) -> super::super::Foundation::BOOL {
1092 ::windows_targets::link!("kernel32.dll" "system" fn GetNumaProximityNodeEx(proximityid : u32, nodenumber : *mut u16) -> super::super::Foundation:: BOOL);
1093 GetNumaProximityNodeEx(proximityid, nodenumber)
1094}
1095#[doc = "Required features: `\"Win32_Foundation\"`"]
1096#[cfg(feature = "Win32_Foundation")]
1097#[inline]
1098pub unsafe fn GetPriorityClass<P0>(hprocess: P0) -> u32
1099where
1100 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1101{
1102 ::windows_targets::link!("kernel32.dll" "system" fn GetPriorityClass(hprocess : super::super::Foundation:: HANDLE) -> u32);
1103 GetPriorityClass(hprocess:hprocess.into_param().abi())
1104}
1105#[doc = "Required features: `\"Win32_Foundation\"`"]
1106#[cfg(feature = "Win32_Foundation")]
1107#[inline]
1108pub unsafe fn GetProcessAffinityMask<P0>(hprocess: P0, lpprocessaffinitymask: *mut usize, lpsystemaffinitymask: *mut usize) -> ::windows_core::Result<()>
1109where
1110 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1111{
1112 ::windows_targets::link!("kernel32.dll" "system" fn GetProcessAffinityMask(hprocess : super::super::Foundation:: HANDLE, lpprocessaffinitymask : *mut usize, lpsystemaffinitymask : *mut usize) -> super::super::Foundation:: BOOL);
1113 GetProcessAffinityMask(hprocess:hprocess.into_param().abi(), lpprocessaffinitymask, lpsystemaffinitymask).ok()
1114}
1115#[doc = "Required features: `\"Win32_Foundation\"`"]
1116#[cfg(feature = "Win32_Foundation")]
1117#[inline]
1118pub unsafe fn GetProcessDEPPolicy<P0>(hprocess: P0, lpflags: *mut u32, lppermanent: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()>
1119where
1120 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1121{
1122 ::windows_targets::link!("kernel32.dll" "system" fn GetProcessDEPPolicy(hprocess : super::super::Foundation:: HANDLE, lpflags : *mut u32, lppermanent : *mut super::super::Foundation:: BOOL) -> super::super::Foundation:: BOOL);
1123 GetProcessDEPPolicy(hprocess:hprocess.into_param().abi(), lpflags, lppermanent).ok()
1124}
1125#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_SystemInformation\"`"]
1126#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_SystemInformation"))]
1127#[inline]
1128pub unsafe fn GetProcessDefaultCpuSetMasks<P0>(process: P0, cpusetmasks: ::core::option::Option<&mut [super::SystemInformation::GROUP_AFFINITY]>, requiredmaskcount: *mut u16) -> super::super::Foundation::BOOL
1129where
1130 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1131{
1132 ::windows_targets::link!("kernel32.dll" "system" fn GetProcessDefaultCpuSetMasks(process : super::super::Foundation:: HANDLE, cpusetmasks : *mut super::SystemInformation:: GROUP_AFFINITY, cpusetmaskcount : u16, requiredmaskcount : *mut u16) -> super::super::Foundation:: BOOL);
1133 GetProcessDefaultCpuSetMasks(process.into_param().abi(), ::core::mem::transmute(cpusetmasks.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), cpusetmasks.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), requiredmaskcount)
1134}
1135#[doc = "Required features: `\"Win32_Foundation\"`"]
1136#[cfg(feature = "Win32_Foundation")]
1137#[inline]
1138pub unsafe fn GetProcessDefaultCpuSets<P0>(process: P0, cpusetids: ::core::option::Option<&mut [u32]>, requiredidcount: *mut u32) -> super::super::Foundation::BOOL
1139where
1140 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1141{
1142 ::windows_targets::link!("kernel32.dll" "system" fn GetProcessDefaultCpuSets(process : super::super::Foundation:: HANDLE, cpusetids : *mut u32, cpusetidcount : u32, requiredidcount : *mut u32) -> super::super::Foundation:: BOOL);
1143 GetProcessDefaultCpuSets(process:process.into_param().abi(), ::core::mem::transmute(cpusetids.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), cpusetidcount:cpusetids.as_deref().map_or(default:0, |slice: &[u32]| slice.len().try_into().unwrap()), requiredidcount)
1144}
1145#[doc = "Required features: `\"Win32_Foundation\"`"]
1146#[cfg(feature = "Win32_Foundation")]
1147#[inline]
1148pub unsafe fn GetProcessGroupAffinity<P0>(hprocess: P0, groupcount: *mut u16, grouparray: *mut u16) -> super::super::Foundation::BOOL
1149where
1150 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1151{
1152 ::windows_targets::link!("kernel32.dll" "system" fn GetProcessGroupAffinity(hprocess : super::super::Foundation:: HANDLE, groupcount : *mut u16, grouparray : *mut u16) -> super::super::Foundation:: BOOL);
1153 GetProcessGroupAffinity(hprocess:hprocess.into_param().abi(), groupcount, grouparray)
1154}
1155#[doc = "Required features: `\"Win32_Foundation\"`"]
1156#[cfg(feature = "Win32_Foundation")]
1157#[inline]
1158pub unsafe fn GetProcessHandleCount<P0>(hprocess: P0, pdwhandlecount: *mut u32) -> ::windows_core::Result<()>
1159where
1160 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1161{
1162 ::windows_targets::link!("kernel32.dll" "system" fn GetProcessHandleCount(hprocess : super::super::Foundation:: HANDLE, pdwhandlecount : *mut u32) -> super::super::Foundation:: BOOL);
1163 GetProcessHandleCount(hprocess:hprocess.into_param().abi(), pdwhandlecount).ok()
1164}
1165#[doc = "Required features: `\"Win32_Foundation\"`"]
1166#[cfg(feature = "Win32_Foundation")]
1167#[inline]
1168pub unsafe fn GetProcessId<P0>(process: P0) -> u32
1169where
1170 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1171{
1172 ::windows_targets::link!("kernel32.dll" "system" fn GetProcessId(process : super::super::Foundation:: HANDLE) -> u32);
1173 GetProcessId(process:process.into_param().abi())
1174}
1175#[doc = "Required features: `\"Win32_Foundation\"`"]
1176#[cfg(feature = "Win32_Foundation")]
1177#[inline]
1178pub unsafe fn GetProcessIdOfThread<P0>(thread: P0) -> u32
1179where
1180 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1181{
1182 ::windows_targets::link!("kernel32.dll" "system" fn GetProcessIdOfThread(thread : super::super::Foundation:: HANDLE) -> u32);
1183 GetProcessIdOfThread(thread:thread.into_param().abi())
1184}
1185#[doc = "Required features: `\"Win32_Foundation\"`"]
1186#[cfg(feature = "Win32_Foundation")]
1187#[inline]
1188pub unsafe fn GetProcessInformation<P0>(hprocess: P0, processinformationclass: PROCESS_INFORMATION_CLASS, processinformation: *mut ::core::ffi::c_void, processinformationsize: u32) -> ::windows_core::Result<()>
1189where
1190 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1191{
1192 ::windows_targets::link!("kernel32.dll" "system" fn GetProcessInformation(hprocess : super::super::Foundation:: HANDLE, processinformationclass : PROCESS_INFORMATION_CLASS, processinformation : *mut ::core::ffi::c_void, processinformationsize : u32) -> super::super::Foundation:: BOOL);
1193 GetProcessInformation(hprocess:hprocess.into_param().abi(), processinformationclass, processinformation, processinformationsize).ok()
1194}
1195#[doc = "Required features: `\"Win32_Foundation\"`"]
1196#[cfg(feature = "Win32_Foundation")]
1197#[inline]
1198pub unsafe fn GetProcessIoCounters<P0>(hprocess: P0, lpiocounters: *mut IO_COUNTERS) -> ::windows_core::Result<()>
1199where
1200 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1201{
1202 ::windows_targets::link!("kernel32.dll" "system" fn GetProcessIoCounters(hprocess : super::super::Foundation:: HANDLE, lpiocounters : *mut IO_COUNTERS) -> super::super::Foundation:: BOOL);
1203 GetProcessIoCounters(hprocess:hprocess.into_param().abi(), lpiocounters).ok()
1204}
1205#[doc = "Required features: `\"Win32_Foundation\"`"]
1206#[cfg(feature = "Win32_Foundation")]
1207#[inline]
1208pub unsafe fn GetProcessMitigationPolicy<P0>(hprocess: P0, mitigationpolicy: PROCESS_MITIGATION_POLICY, lpbuffer: *mut ::core::ffi::c_void, dwlength: usize) -> ::windows_core::Result<()>
1209where
1210 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1211{
1212 ::windows_targets::link!("kernel32.dll" "system" fn GetProcessMitigationPolicy(hprocess : super::super::Foundation:: HANDLE, mitigationpolicy : PROCESS_MITIGATION_POLICY, lpbuffer : *mut ::core::ffi::c_void, dwlength : usize) -> super::super::Foundation:: BOOL);
1213 GetProcessMitigationPolicy(hprocess:hprocess.into_param().abi(), mitigationpolicy, lpbuffer, dwlength).ok()
1214}
1215#[doc = "Required features: `\"Win32_Foundation\"`"]
1216#[cfg(feature = "Win32_Foundation")]
1217#[inline]
1218pub unsafe fn GetProcessPriorityBoost<P0>(hprocess: P0, pdisablepriorityboost: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()>
1219where
1220 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1221{
1222 ::windows_targets::link!("kernel32.dll" "system" fn GetProcessPriorityBoost(hprocess : super::super::Foundation:: HANDLE, pdisablepriorityboost : *mut super::super::Foundation:: BOOL) -> super::super::Foundation:: BOOL);
1223 GetProcessPriorityBoost(hprocess:hprocess.into_param().abi(), pdisablepriorityboost).ok()
1224}
1225#[doc = "Required features: `\"Win32_Foundation\"`"]
1226#[cfg(feature = "Win32_Foundation")]
1227#[inline]
1228pub unsafe fn GetProcessShutdownParameters(lpdwlevel: *mut u32, lpdwflags: *mut u32) -> ::windows_core::Result<()> {
1229 ::windows_targets::link!("kernel32.dll" "system" fn GetProcessShutdownParameters(lpdwlevel : *mut u32, lpdwflags : *mut u32) -> super::super::Foundation:: BOOL);
1230 GetProcessShutdownParameters(lpdwlevel, lpdwflags).ok()
1231}
1232#[doc = "Required features: `\"Win32_Foundation\"`"]
1233#[cfg(feature = "Win32_Foundation")]
1234#[inline]
1235pub unsafe fn GetProcessTimes<P0>(hprocess: P0, lpcreationtime: *mut super::super::Foundation::FILETIME, lpexittime: *mut super::super::Foundation::FILETIME, lpkerneltime: *mut super::super::Foundation::FILETIME, lpusertime: *mut super::super::Foundation::FILETIME) -> ::windows_core::Result<()>
1236where
1237 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1238{
1239 ::windows_targets::link!("kernel32.dll" "system" fn GetProcessTimes(hprocess : super::super::Foundation:: HANDLE, lpcreationtime : *mut super::super::Foundation:: FILETIME, lpexittime : *mut super::super::Foundation:: FILETIME, lpkerneltime : *mut super::super::Foundation:: FILETIME, lpusertime : *mut super::super::Foundation:: FILETIME) -> super::super::Foundation:: BOOL);
1240 GetProcessTimes(hprocess:hprocess.into_param().abi(), lpcreationtime, lpexittime, lpkerneltime, lpusertime).ok()
1241}
1242#[inline]
1243pub unsafe fn GetProcessVersion(processid: u32) -> u32 {
1244 ::windows_targets::link!("kernel32.dll" "system" fn GetProcessVersion(processid : u32) -> u32);
1245 GetProcessVersion(processid)
1246}
1247#[doc = "Required features: `\"Win32_Foundation\"`"]
1248#[cfg(feature = "Win32_Foundation")]
1249#[inline]
1250pub unsafe fn GetProcessWorkingSetSize<P0>(hprocess: P0, lpminimumworkingsetsize: *mut usize, lpmaximumworkingsetsize: *mut usize) -> ::windows_core::Result<()>
1251where
1252 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1253{
1254 ::windows_targets::link!("kernel32.dll" "system" fn GetProcessWorkingSetSize(hprocess : super::super::Foundation:: HANDLE, lpminimumworkingsetsize : *mut usize, lpmaximumworkingsetsize : *mut usize) -> super::super::Foundation:: BOOL);
1255 GetProcessWorkingSetSize(hprocess:hprocess.into_param().abi(), lpminimumworkingsetsize, lpmaximumworkingsetsize).ok()
1256}
1257#[doc = "Required features: `\"Win32_Foundation\"`"]
1258#[cfg(feature = "Win32_Foundation")]
1259#[inline]
1260pub unsafe fn GetStartupInfoA(lpstartupinfo: *mut STARTUPINFOA) {
1261 ::windows_targets::link!("kernel32.dll" "system" fn GetStartupInfoA(lpstartupinfo : *mut STARTUPINFOA) -> ());
1262 GetStartupInfoA(lpstartupinfo)
1263}
1264#[doc = "Required features: `\"Win32_Foundation\"`"]
1265#[cfg(feature = "Win32_Foundation")]
1266#[inline]
1267pub unsafe fn GetStartupInfoW(lpstartupinfo: *mut STARTUPINFOW) {
1268 ::windows_targets::link!("kernel32.dll" "system" fn GetStartupInfoW(lpstartupinfo : *mut STARTUPINFOW) -> ());
1269 GetStartupInfoW(lpstartupinfo)
1270}
1271#[doc = "Required features: `\"Win32_Foundation\"`"]
1272#[cfg(feature = "Win32_Foundation")]
1273#[inline]
1274pub unsafe fn GetSystemTimes(lpidletime: ::core::option::Option<*mut super::super::Foundation::FILETIME>, lpkerneltime: ::core::option::Option<*mut super::super::Foundation::FILETIME>, lpusertime: ::core::option::Option<*mut super::super::Foundation::FILETIME>) -> ::windows_core::Result<()> {
1275 ::windows_targets::link!("kernel32.dll" "system" fn GetSystemTimes(lpidletime : *mut super::super::Foundation:: FILETIME, lpkerneltime : *mut super::super::Foundation:: FILETIME, lpusertime : *mut super::super::Foundation:: FILETIME) -> super::super::Foundation:: BOOL);
1276 GetSystemTimes(::core::mem::transmute(lpidletime.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(lpkerneltime.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(src:lpusertime.unwrap_or(::std::ptr::null_mut()))).ok()
1277}
1278#[doc = "Required features: `\"Win32_Foundation\"`"]
1279#[cfg(feature = "Win32_Foundation")]
1280#[inline]
1281pub unsafe fn GetThreadDescription<P0>(hthread: P0) -> ::windows_core::Result<::windows_core::PWSTR>
1282where
1283 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1284{
1285 ::windows_targets::link!("kernel32.dll" "system" fn GetThreadDescription(hthread : super::super::Foundation:: HANDLE, ppszthreaddescription : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT);
1286 let mut result__: PWSTR = ::std::mem::zeroed();
1287 GetThreadDescription(hthread:hthread.into_param().abi(), &mut result__).from_abi(result__)
1288}
1289#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_SystemInformation\"`"]
1290#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_SystemInformation"))]
1291#[inline]
1292pub unsafe fn GetThreadGroupAffinity<P0>(hthread: P0, groupaffinity: *mut super::SystemInformation::GROUP_AFFINITY) -> super::super::Foundation::BOOL
1293where
1294 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1295{
1296 ::windows_targets::link!("kernel32.dll" "system" fn GetThreadGroupAffinity(hthread : super::super::Foundation:: HANDLE, groupaffinity : *mut super::SystemInformation:: GROUP_AFFINITY) -> super::super::Foundation:: BOOL);
1297 GetThreadGroupAffinity(hthread.into_param().abi(), groupaffinity)
1298}
1299#[doc = "Required features: `\"Win32_Foundation\"`"]
1300#[cfg(feature = "Win32_Foundation")]
1301#[inline]
1302pub unsafe fn GetThreadIOPendingFlag<P0>(hthread: P0, lpioispending: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()>
1303where
1304 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1305{
1306 ::windows_targets::link!("kernel32.dll" "system" fn GetThreadIOPendingFlag(hthread : super::super::Foundation:: HANDLE, lpioispending : *mut super::super::Foundation:: BOOL) -> super::super::Foundation:: BOOL);
1307 GetThreadIOPendingFlag(hthread:hthread.into_param().abi(), lpioispending).ok()
1308}
1309#[doc = "Required features: `\"Win32_Foundation\"`"]
1310#[cfg(feature = "Win32_Foundation")]
1311#[inline]
1312pub unsafe fn GetThreadId<P0>(thread: P0) -> u32
1313where
1314 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1315{
1316 ::windows_targets::link!("kernel32.dll" "system" fn GetThreadId(thread : super::super::Foundation:: HANDLE) -> u32);
1317 GetThreadId(thread:thread.into_param().abi())
1318}
1319#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`"]
1320#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
1321#[inline]
1322pub unsafe fn GetThreadIdealProcessorEx<P0>(hthread: P0, lpidealprocessor: *mut super::Kernel::PROCESSOR_NUMBER) -> ::windows_core::Result<()>
1323where
1324 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1325{
1326 ::windows_targets::link!("kernel32.dll" "system" fn GetThreadIdealProcessorEx(hthread : super::super::Foundation:: HANDLE, lpidealprocessor : *mut super::Kernel:: PROCESSOR_NUMBER) -> super::super::Foundation:: BOOL);
1327 GetThreadIdealProcessorEx(hthread.into_param().abi(), lpidealprocessor).ok()
1328}
1329#[doc = "Required features: `\"Win32_Foundation\"`"]
1330#[cfg(feature = "Win32_Foundation")]
1331#[inline]
1332pub unsafe fn GetThreadInformation<P0>(hthread: P0, threadinformationclass: THREAD_INFORMATION_CLASS, threadinformation: *mut ::core::ffi::c_void, threadinformationsize: u32) -> ::windows_core::Result<()>
1333where
1334 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1335{
1336 ::windows_targets::link!("kernel32.dll" "system" fn GetThreadInformation(hthread : super::super::Foundation:: HANDLE, threadinformationclass : THREAD_INFORMATION_CLASS, threadinformation : *mut ::core::ffi::c_void, threadinformationsize : u32) -> super::super::Foundation:: BOOL);
1337 GetThreadInformation(hthread:hthread.into_param().abi(), threadinformationclass, threadinformation, threadinformationsize).ok()
1338}
1339#[doc = "Required features: `\"Win32_Foundation\"`"]
1340#[cfg(feature = "Win32_Foundation")]
1341#[inline]
1342pub unsafe fn GetThreadPriority<P0>(hthread: P0) -> i32
1343where
1344 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1345{
1346 ::windows_targets::link!("kernel32.dll" "system" fn GetThreadPriority(hthread : super::super::Foundation:: HANDLE) -> i32);
1347 GetThreadPriority(hthread:hthread.into_param().abi())
1348}
1349#[doc = "Required features: `\"Win32_Foundation\"`"]
1350#[cfg(feature = "Win32_Foundation")]
1351#[inline]
1352pub unsafe fn GetThreadPriorityBoost<P0>(hthread: P0, pdisablepriorityboost: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()>
1353where
1354 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1355{
1356 ::windows_targets::link!("kernel32.dll" "system" fn GetThreadPriorityBoost(hthread : super::super::Foundation:: HANDLE, pdisablepriorityboost : *mut super::super::Foundation:: BOOL) -> super::super::Foundation:: BOOL);
1357 GetThreadPriorityBoost(hthread:hthread.into_param().abi(), pdisablepriorityboost).ok()
1358}
1359#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_SystemInformation\"`"]
1360#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_SystemInformation"))]
1361#[inline]
1362pub unsafe fn GetThreadSelectedCpuSetMasks<P0>(thread: P0, cpusetmasks: ::core::option::Option<&mut [super::SystemInformation::GROUP_AFFINITY]>, requiredmaskcount: *mut u16) -> super::super::Foundation::BOOL
1363where
1364 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1365{
1366 ::windows_targets::link!("kernel32.dll" "system" fn GetThreadSelectedCpuSetMasks(thread : super::super::Foundation:: HANDLE, cpusetmasks : *mut super::SystemInformation:: GROUP_AFFINITY, cpusetmaskcount : u16, requiredmaskcount : *mut u16) -> super::super::Foundation:: BOOL);
1367 GetThreadSelectedCpuSetMasks(thread.into_param().abi(), ::core::mem::transmute(cpusetmasks.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), cpusetmasks.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), requiredmaskcount)
1368}
1369#[doc = "Required features: `\"Win32_Foundation\"`"]
1370#[cfg(feature = "Win32_Foundation")]
1371#[inline]
1372pub unsafe fn GetThreadSelectedCpuSets<P0>(thread: P0, cpusetids: ::core::option::Option<&mut [u32]>, requiredidcount: *mut u32) -> super::super::Foundation::BOOL
1373where
1374 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1375{
1376 ::windows_targets::link!("kernel32.dll" "system" fn GetThreadSelectedCpuSets(thread : super::super::Foundation:: HANDLE, cpusetids : *mut u32, cpusetidcount : u32, requiredidcount : *mut u32) -> super::super::Foundation:: BOOL);
1377 GetThreadSelectedCpuSets(thread:thread.into_param().abi(), ::core::mem::transmute(cpusetids.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), cpusetidcount:cpusetids.as_deref().map_or(default:0, |slice: &[u32]| slice.len().try_into().unwrap()), requiredidcount)
1378}
1379#[doc = "Required features: `\"Win32_Foundation\"`"]
1380#[cfg(feature = "Win32_Foundation")]
1381#[inline]
1382pub unsafe fn GetThreadTimes<P0>(hthread: P0, lpcreationtime: *mut super::super::Foundation::FILETIME, lpexittime: *mut super::super::Foundation::FILETIME, lpkerneltime: *mut super::super::Foundation::FILETIME, lpusertime: *mut super::super::Foundation::FILETIME) -> ::windows_core::Result<()>
1383where
1384 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1385{
1386 ::windows_targets::link!("kernel32.dll" "system" fn GetThreadTimes(hthread : super::super::Foundation:: HANDLE, lpcreationtime : *mut super::super::Foundation:: FILETIME, lpexittime : *mut super::super::Foundation:: FILETIME, lpkerneltime : *mut super::super::Foundation:: FILETIME, lpusertime : *mut super::super::Foundation:: FILETIME) -> super::super::Foundation:: BOOL);
1387 GetThreadTimes(hthread:hthread.into_param().abi(), lpcreationtime, lpexittime, lpkerneltime, lpusertime).ok()
1388}
1389#[doc = "Required features: `\"Win32_Foundation\"`"]
1390#[cfg(feature = "Win32_Foundation")]
1391#[inline]
1392pub unsafe fn GetUmsCompletionListEvent(umscompletionlist: *const ::core::ffi::c_void, umscompletionevent: *mut super::super::Foundation::HANDLE) -> ::windows_core::Result<()> {
1393 ::windows_targets::link!("kernel32.dll" "system" fn GetUmsCompletionListEvent(umscompletionlist : *const ::core::ffi::c_void, umscompletionevent : *mut super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL);
1394 GetUmsCompletionListEvent(umscompletionlist, umscompletionevent).ok()
1395}
1396#[doc = "Required features: `\"Win32_Foundation\"`"]
1397#[cfg(feature = "Win32_Foundation")]
1398#[inline]
1399pub unsafe fn GetUmsSystemThreadInformation<P0>(threadhandle: P0, systemthreadinfo: *mut UMS_SYSTEM_THREAD_INFORMATION) -> super::super::Foundation::BOOL
1400where
1401 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1402{
1403 ::windows_targets::link!("kernel32.dll" "system" fn GetUmsSystemThreadInformation(threadhandle : super::super::Foundation:: HANDLE, systemthreadinfo : *mut UMS_SYSTEM_THREAD_INFORMATION) -> super::super::Foundation:: BOOL);
1404 GetUmsSystemThreadInformation(threadhandle:threadhandle.into_param().abi(), systemthreadinfo)
1405}
1406#[doc = "Required features: `\"Win32_Foundation\"`"]
1407#[cfg(feature = "Win32_Foundation")]
1408#[inline]
1409pub unsafe fn InitOnceBeginInitialize(lpinitonce: *mut INIT_ONCE, dwflags: u32, fpending: *mut super::super::Foundation::BOOL, lpcontext: ::core::option::Option<*mut *mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
1410 ::windows_targets::link!("kernel32.dll" "system" fn InitOnceBeginInitialize(lpinitonce : *mut INIT_ONCE, dwflags : u32, fpending : *mut super::super::Foundation:: BOOL, lpcontext : *mut *mut ::core::ffi::c_void) -> super::super::Foundation:: BOOL);
1411 InitOnceBeginInitialize(lpinitonce, dwflags, fpending, ::core::mem::transmute(src:lpcontext.unwrap_or(::std::ptr::null_mut()))).ok()
1412}
1413#[doc = "Required features: `\"Win32_Foundation\"`"]
1414#[cfg(feature = "Win32_Foundation")]
1415#[inline]
1416pub unsafe fn InitOnceComplete(lpinitonce: *mut INIT_ONCE, dwflags: u32, lpcontext: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
1417 ::windows_targets::link!("kernel32.dll" "system" fn InitOnceComplete(lpinitonce : *mut INIT_ONCE, dwflags : u32, lpcontext : *const ::core::ffi::c_void) -> super::super::Foundation:: BOOL);
1418 InitOnceComplete(lpinitonce, dwflags, ::core::mem::transmute(src:lpcontext.unwrap_or(::std::ptr::null()))).ok()
1419}
1420#[doc = "Required features: `\"Win32_Foundation\"`"]
1421#[cfg(feature = "Win32_Foundation")]
1422#[inline]
1423pub unsafe fn InitOnceExecuteOnce(initonce: *mut INIT_ONCE, initfn: PINIT_ONCE_FN, parameter: ::core::option::Option<*mut ::core::ffi::c_void>, context: ::core::option::Option<*mut *mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
1424 ::windows_targets::link!("kernel32.dll" "system" fn InitOnceExecuteOnce(initonce : *mut INIT_ONCE, initfn : PINIT_ONCE_FN, parameter : *mut ::core::ffi::c_void, context : *mut *mut ::core::ffi::c_void) -> super::super::Foundation:: BOOL);
1425 InitOnceExecuteOnce(initonce, initfn, ::core::mem::transmute(parameter.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(src:context.unwrap_or(::std::ptr::null_mut()))).ok()
1426}
1427#[inline]
1428pub unsafe fn InitOnceInitialize() -> INIT_ONCE {
1429 ::windows_targets::link!("kernel32.dll" "system" fn InitOnceInitialize(initonce : *mut INIT_ONCE) -> ());
1430 let mut result__: INIT_ONCE = ::std::mem::zeroed();
1431 InitOnceInitialize(&mut result__);
1432 ::std::mem::transmute(src:result__)
1433}
1434#[inline]
1435pub unsafe fn InitializeConditionVariable() -> CONDITION_VARIABLE {
1436 ::windows_targets::link!("kernel32.dll" "system" fn InitializeConditionVariable(conditionvariable : *mut CONDITION_VARIABLE) -> ());
1437 let mut result__: CONDITION_VARIABLE = ::std::mem::zeroed();
1438 InitializeConditionVariable(&mut result__);
1439 ::std::mem::transmute(src:result__)
1440}
1441#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`"]
1442#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
1443#[inline]
1444pub unsafe fn InitializeCriticalSection(lpcriticalsection: *mut CRITICAL_SECTION) {
1445 ::windows_targets::link!("kernel32.dll" "system" fn InitializeCriticalSection(lpcriticalsection : *mut CRITICAL_SECTION) -> ());
1446 InitializeCriticalSection(lpcriticalsection)
1447}
1448#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`"]
1449#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
1450#[inline]
1451pub unsafe fn InitializeCriticalSectionAndSpinCount(lpcriticalsection: *mut CRITICAL_SECTION, dwspincount: u32) -> ::windows_core::Result<()> {
1452 ::windows_targets::link!("kernel32.dll" "system" fn InitializeCriticalSectionAndSpinCount(lpcriticalsection : *mut CRITICAL_SECTION, dwspincount : u32) -> super::super::Foundation:: BOOL);
1453 InitializeCriticalSectionAndSpinCount(lpcriticalsection, dwspincount).ok()
1454}
1455#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`"]
1456#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
1457#[inline]
1458pub unsafe fn InitializeCriticalSectionEx(lpcriticalsection: *mut CRITICAL_SECTION, dwspincount: u32, flags: u32) -> ::windows_core::Result<()> {
1459 ::windows_targets::link!("kernel32.dll" "system" fn InitializeCriticalSectionEx(lpcriticalsection : *mut CRITICAL_SECTION, dwspincount : u32, flags : u32) -> super::super::Foundation:: BOOL);
1460 InitializeCriticalSectionEx(lpcriticalsection, dwspincount, flags).ok()
1461}
1462#[doc = "Required features: `\"Win32_Foundation\"`"]
1463#[cfg(feature = "Win32_Foundation")]
1464#[inline]
1465pub unsafe fn InitializeProcThreadAttributeList(lpattributelist: LPPROC_THREAD_ATTRIBUTE_LIST, dwattributecount: u32, dwflags: u32, lpsize: *mut usize) -> ::windows_core::Result<()> {
1466 ::windows_targets::link!("kernel32.dll" "system" fn InitializeProcThreadAttributeList(lpattributelist : LPPROC_THREAD_ATTRIBUTE_LIST, dwattributecount : u32, dwflags : u32, lpsize : *mut usize) -> super::super::Foundation:: BOOL);
1467 InitializeProcThreadAttributeList(lpattributelist, dwattributecount, dwflags, lpsize).ok()
1468}
1469#[doc = "Required features: `\"Win32_System_Kernel\"`"]
1470#[cfg(feature = "Win32_System_Kernel")]
1471#[inline]
1472pub unsafe fn InitializeSListHead() -> super::Kernel::SLIST_HEADER {
1473 ::windows_targets::link!("kernel32.dll" "system" fn InitializeSListHead(listhead : *mut super::Kernel:: SLIST_HEADER) -> ());
1474 let mut result__ = ::std::mem::zeroed();
1475 InitializeSListHead(&mut result__);
1476 ::std::mem::transmute(result__)
1477}
1478#[inline]
1479pub unsafe fn InitializeSRWLock() -> SRWLOCK {
1480 ::windows_targets::link!("kernel32.dll" "system" fn InitializeSRWLock(srwlock : *mut SRWLOCK) -> ());
1481 let mut result__: SRWLOCK = ::std::mem::zeroed();
1482 InitializeSRWLock(&mut result__);
1483 ::std::mem::transmute(src:result__)
1484}
1485#[doc = "Required features: `\"Win32_Foundation\"`"]
1486#[cfg(feature = "Win32_Foundation")]
1487#[inline]
1488pub unsafe fn InitializeSynchronizationBarrier(lpbarrier: *mut SYNCHRONIZATION_BARRIER, ltotalthreads: i32, lspincount: i32) -> ::windows_core::Result<()> {
1489 ::windows_targets::link!("kernel32.dll" "system" fn InitializeSynchronizationBarrier(lpbarrier : *mut SYNCHRONIZATION_BARRIER, ltotalthreads : i32, lspincount : i32) -> super::super::Foundation:: BOOL);
1490 InitializeSynchronizationBarrier(lpbarrier, ltotalthreads, lspincount).ok()
1491}
1492#[doc = "Required features: `\"Win32_System_Kernel\"`"]
1493#[cfg(feature = "Win32_System_Kernel")]
1494#[inline]
1495pub unsafe fn InterlockedFlushSList(listhead: *mut super::Kernel::SLIST_HEADER) -> *mut super::Kernel::SLIST_ENTRY {
1496 ::windows_targets::link!("kernel32.dll" "system" fn InterlockedFlushSList(listhead : *mut super::Kernel:: SLIST_HEADER) -> *mut super::Kernel:: SLIST_ENTRY);
1497 InterlockedFlushSList(listhead)
1498}
1499#[doc = "Required features: `\"Win32_System_Kernel\"`"]
1500#[cfg(feature = "Win32_System_Kernel")]
1501#[inline]
1502pub unsafe fn InterlockedPopEntrySList(listhead: *mut super::Kernel::SLIST_HEADER) -> *mut super::Kernel::SLIST_ENTRY {
1503 ::windows_targets::link!("kernel32.dll" "system" fn InterlockedPopEntrySList(listhead : *mut super::Kernel:: SLIST_HEADER) -> *mut super::Kernel:: SLIST_ENTRY);
1504 InterlockedPopEntrySList(listhead)
1505}
1506#[doc = "Required features: `\"Win32_System_Kernel\"`"]
1507#[cfg(feature = "Win32_System_Kernel")]
1508#[inline]
1509pub unsafe fn InterlockedPushEntrySList(listhead: *mut super::Kernel::SLIST_HEADER, listentry: *mut super::Kernel::SLIST_ENTRY) -> *mut super::Kernel::SLIST_ENTRY {
1510 ::windows_targets::link!("kernel32.dll" "system" fn InterlockedPushEntrySList(listhead : *mut super::Kernel:: SLIST_HEADER, listentry : *mut super::Kernel:: SLIST_ENTRY) -> *mut super::Kernel:: SLIST_ENTRY);
1511 InterlockedPushEntrySList(listhead, listentry)
1512}
1513#[doc = "Required features: `\"Win32_System_Kernel\"`"]
1514#[cfg(feature = "Win32_System_Kernel")]
1515#[inline]
1516pub unsafe fn InterlockedPushListSListEx(listhead: *mut super::Kernel::SLIST_HEADER, list: *mut super::Kernel::SLIST_ENTRY, listend: *mut super::Kernel::SLIST_ENTRY, count: u32) -> *mut super::Kernel::SLIST_ENTRY {
1517 ::windows_targets::link!("kernel32.dll" "system" fn InterlockedPushListSListEx(listhead : *mut super::Kernel:: SLIST_HEADER, list : *mut super::Kernel:: SLIST_ENTRY, listend : *mut super::Kernel:: SLIST_ENTRY, count : u32) -> *mut super::Kernel:: SLIST_ENTRY);
1518 InterlockedPushListSListEx(listhead, list, listend, count)
1519}
1520#[doc = "Required features: `\"Win32_Foundation\"`"]
1521#[cfg(feature = "Win32_Foundation")]
1522#[inline]
1523pub unsafe fn IsImmersiveProcess<P0>(hprocess: P0) -> ::windows_core::Result<()>
1524where
1525 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1526{
1527 ::windows_targets::link!("user32.dll" "system" fn IsImmersiveProcess(hprocess : super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL);
1528 IsImmersiveProcess(hprocess:hprocess.into_param().abi()).ok()
1529}
1530#[doc = "Required features: `\"Win32_Foundation\"`"]
1531#[cfg(feature = "Win32_Foundation")]
1532#[inline]
1533pub unsafe fn IsProcessCritical<P0>(hprocess: P0, critical: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()>
1534where
1535 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1536{
1537 ::windows_targets::link!("kernel32.dll" "system" fn IsProcessCritical(hprocess : super::super::Foundation:: HANDLE, critical : *mut super::super::Foundation:: BOOL) -> super::super::Foundation:: BOOL);
1538 IsProcessCritical(hprocess:hprocess.into_param().abi(), critical).ok()
1539}
1540#[doc = "Required features: `\"Win32_Foundation\"`"]
1541#[cfg(feature = "Win32_Foundation")]
1542#[inline]
1543pub unsafe fn IsProcessorFeaturePresent(processorfeature: PROCESSOR_FEATURE_ID) -> super::super::Foundation::BOOL {
1544 ::windows_targets::link!("kernel32.dll" "system" fn IsProcessorFeaturePresent(processorfeature : PROCESSOR_FEATURE_ID) -> super::super::Foundation:: BOOL);
1545 IsProcessorFeaturePresent(processorfeature)
1546}
1547#[doc = "Required features: `\"Win32_Foundation\"`"]
1548#[cfg(feature = "Win32_Foundation")]
1549#[inline]
1550pub unsafe fn IsThreadAFiber() -> super::super::Foundation::BOOL {
1551 ::windows_targets::link!("kernel32.dll" "system" fn IsThreadAFiber() -> super::super::Foundation:: BOOL);
1552 IsThreadAFiber()
1553}
1554#[doc = "Required features: `\"Win32_Foundation\"`"]
1555#[cfg(feature = "Win32_Foundation")]
1556#[inline]
1557pub unsafe fn IsThreadpoolTimerSet<P0>(pti: P0) -> super::super::Foundation::BOOL
1558where
1559 P0: ::windows_core::IntoParam<PTP_TIMER>,
1560{
1561 ::windows_targets::link!("kernel32.dll" "system" fn IsThreadpoolTimerSet(pti : PTP_TIMER) -> super::super::Foundation:: BOOL);
1562 IsThreadpoolTimerSet(pti:pti.into_param().abi())
1563}
1564#[doc = "Required features: `\"Win32_Foundation\"`"]
1565#[cfg(feature = "Win32_Foundation")]
1566#[inline]
1567pub unsafe fn IsWow64Process<P0>(hprocess: P0, wow64process: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()>
1568where
1569 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1570{
1571 ::windows_targets::link!("kernel32.dll" "system" fn IsWow64Process(hprocess : super::super::Foundation:: HANDLE, wow64process : *mut super::super::Foundation:: BOOL) -> super::super::Foundation:: BOOL);
1572 IsWow64Process(hprocess:hprocess.into_param().abi(), wow64process).ok()
1573}
1574#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_SystemInformation\"`"]
1575#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_SystemInformation"))]
1576#[inline]
1577pub unsafe fn IsWow64Process2<P0>(hprocess: P0, pprocessmachine: *mut super::SystemInformation::IMAGE_FILE_MACHINE, pnativemachine: ::core::option::Option<*mut super::SystemInformation::IMAGE_FILE_MACHINE>) -> ::windows_core::Result<()>
1578where
1579 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1580{
1581 ::windows_targets::link!("kernel32.dll" "system" fn IsWow64Process2(hprocess : super::super::Foundation:: HANDLE, pprocessmachine : *mut super::SystemInformation:: IMAGE_FILE_MACHINE, pnativemachine : *mut super::SystemInformation:: IMAGE_FILE_MACHINE) -> super::super::Foundation:: BOOL);
1582 IsWow64Process2(hprocess.into_param().abi(), pprocessmachine, ::core::mem::transmute(pnativemachine.unwrap_or(::std::ptr::null_mut()))).ok()
1583}
1584#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`"]
1585#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
1586#[inline]
1587pub unsafe fn LeaveCriticalSection(lpcriticalsection: *mut CRITICAL_SECTION) {
1588 ::windows_targets::link!("kernel32.dll" "system" fn LeaveCriticalSection(lpcriticalsection : *mut CRITICAL_SECTION) -> ());
1589 LeaveCriticalSection(lpcriticalsection)
1590}
1591#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`"]
1592#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
1593#[inline]
1594pub unsafe fn LeaveCriticalSectionWhenCallbackReturns<P0>(pci: P0, pcs: *mut CRITICAL_SECTION)
1595where
1596 P0: ::windows_core::IntoParam<PTP_CALLBACK_INSTANCE>,
1597{
1598 ::windows_targets::link!("kernel32.dll" "system" fn LeaveCriticalSectionWhenCallbackReturns(pci : PTP_CALLBACK_INSTANCE, pcs : *mut CRITICAL_SECTION) -> ());
1599 LeaveCriticalSectionWhenCallbackReturns(pci.into_param().abi(), pcs)
1600}
1601#[doc = "Required features: `\"Win32_Foundation\"`"]
1602#[cfg(feature = "Win32_Foundation")]
1603#[inline]
1604pub unsafe fn OpenEventA<P0, P1>(dwdesiredaccess: SYNCHRONIZATION_ACCESS_RIGHTS, binherithandle: P0, lpname: P1) -> ::windows_core::Result<super::super::Foundation::HANDLE>
1605where
1606 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
1607 P1: ::windows_core::IntoParam<::windows_core::PCSTR>,
1608{
1609 ::windows_targets::link!("kernel32.dll" "system" fn OpenEventA(dwdesiredaccess : SYNCHRONIZATION_ACCESS_RIGHTS, binherithandle : super::super::Foundation:: BOOL, lpname : ::windows_core::PCSTR) -> super::super::Foundation:: HANDLE);
1610 let result__: HANDLE = OpenEventA(dwdesiredaccess, binherithandle:binherithandle.into_param().abi(), lpname:lpname.into_param().abi());
1611 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
1612}
1613#[doc = "Required features: `\"Win32_Foundation\"`"]
1614#[cfg(feature = "Win32_Foundation")]
1615#[inline]
1616pub unsafe fn OpenEventW<P0, P1>(dwdesiredaccess: SYNCHRONIZATION_ACCESS_RIGHTS, binherithandle: P0, lpname: P1) -> ::windows_core::Result<super::super::Foundation::HANDLE>
1617where
1618 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
1619 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1620{
1621 ::windows_targets::link!("kernel32.dll" "system" fn OpenEventW(dwdesiredaccess : SYNCHRONIZATION_ACCESS_RIGHTS, binherithandle : super::super::Foundation:: BOOL, lpname : ::windows_core::PCWSTR) -> super::super::Foundation:: HANDLE);
1622 let result__: HANDLE = OpenEventW(dwdesiredaccess, binherithandle:binherithandle.into_param().abi(), lpname:lpname.into_param().abi());
1623 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
1624}
1625#[doc = "Required features: `\"Win32_Foundation\"`"]
1626#[cfg(feature = "Win32_Foundation")]
1627#[inline]
1628pub unsafe fn OpenMutexW<P0, P1>(dwdesiredaccess: SYNCHRONIZATION_ACCESS_RIGHTS, binherithandle: P0, lpname: P1) -> ::windows_core::Result<super::super::Foundation::HANDLE>
1629where
1630 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
1631 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1632{
1633 ::windows_targets::link!("kernel32.dll" "system" fn OpenMutexW(dwdesiredaccess : SYNCHRONIZATION_ACCESS_RIGHTS, binherithandle : super::super::Foundation:: BOOL, lpname : ::windows_core::PCWSTR) -> super::super::Foundation:: HANDLE);
1634 let result__: HANDLE = OpenMutexW(dwdesiredaccess, binherithandle:binherithandle.into_param().abi(), lpname:lpname.into_param().abi());
1635 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
1636}
1637#[doc = "Required features: `\"Win32_Foundation\"`"]
1638#[cfg(feature = "Win32_Foundation")]
1639#[inline]
1640pub unsafe fn OpenPrivateNamespaceA<P0>(lpboundarydescriptor: *const ::core::ffi::c_void, lpaliasprefix: P0) -> super::super::Foundation::HANDLE
1641where
1642 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
1643{
1644 ::windows_targets::link!("kernel32.dll" "system" fn OpenPrivateNamespaceA(lpboundarydescriptor : *const ::core::ffi::c_void, lpaliasprefix : ::windows_core::PCSTR) -> super::super::Foundation:: HANDLE);
1645 OpenPrivateNamespaceA(lpboundarydescriptor, lpaliasprefix:lpaliasprefix.into_param().abi())
1646}
1647#[doc = "Required features: `\"Win32_Foundation\"`"]
1648#[cfg(feature = "Win32_Foundation")]
1649#[inline]
1650pub unsafe fn OpenPrivateNamespaceW<P0>(lpboundarydescriptor: *const ::core::ffi::c_void, lpaliasprefix: P0) -> super::super::Foundation::HANDLE
1651where
1652 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1653{
1654 ::windows_targets::link!("kernel32.dll" "system" fn OpenPrivateNamespaceW(lpboundarydescriptor : *const ::core::ffi::c_void, lpaliasprefix : ::windows_core::PCWSTR) -> super::super::Foundation:: HANDLE);
1655 OpenPrivateNamespaceW(lpboundarydescriptor, lpaliasprefix:lpaliasprefix.into_param().abi())
1656}
1657#[doc = "Required features: `\"Win32_Foundation\"`"]
1658#[cfg(feature = "Win32_Foundation")]
1659#[inline]
1660pub unsafe fn OpenProcess<P0>(dwdesiredaccess: PROCESS_ACCESS_RIGHTS, binherithandle: P0, dwprocessid: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
1661where
1662 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
1663{
1664 ::windows_targets::link!("kernel32.dll" "system" fn OpenProcess(dwdesiredaccess : PROCESS_ACCESS_RIGHTS, binherithandle : super::super::Foundation:: BOOL, dwprocessid : u32) -> super::super::Foundation:: HANDLE);
1665 let result__: HANDLE = OpenProcess(dwdesiredaccess, binherithandle:binherithandle.into_param().abi(), dwprocessid);
1666 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
1667}
1668#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
1669#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1670#[inline]
1671pub unsafe fn OpenProcessToken<P0>(processhandle: P0, desiredaccess: super::super::Security::TOKEN_ACCESS_MASK, tokenhandle: *mut super::super::Foundation::HANDLE) -> ::windows_core::Result<()>
1672where
1673 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1674{
1675 ::windows_targets::link!("advapi32.dll" "system" fn OpenProcessToken(processhandle : super::super::Foundation:: HANDLE, desiredaccess : super::super::Security:: TOKEN_ACCESS_MASK, tokenhandle : *mut super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL);
1676 OpenProcessToken(processhandle:processhandle.into_param().abi(), desiredaccess, tokenhandle).ok()
1677}
1678#[doc = "Required features: `\"Win32_Foundation\"`"]
1679#[cfg(feature = "Win32_Foundation")]
1680#[inline]
1681pub unsafe fn OpenSemaphoreW<P0, P1>(dwdesiredaccess: SYNCHRONIZATION_ACCESS_RIGHTS, binherithandle: P0, lpname: P1) -> ::windows_core::Result<super::super::Foundation::HANDLE>
1682where
1683 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
1684 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1685{
1686 ::windows_targets::link!("kernel32.dll" "system" fn OpenSemaphoreW(dwdesiredaccess : SYNCHRONIZATION_ACCESS_RIGHTS, binherithandle : super::super::Foundation:: BOOL, lpname : ::windows_core::PCWSTR) -> super::super::Foundation:: HANDLE);
1687 let result__: HANDLE = OpenSemaphoreW(dwdesiredaccess, binherithandle:binherithandle.into_param().abi(), lpname:lpname.into_param().abi());
1688 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
1689}
1690#[doc = "Required features: `\"Win32_Foundation\"`"]
1691#[cfg(feature = "Win32_Foundation")]
1692#[inline]
1693pub unsafe fn OpenThread<P0>(dwdesiredaccess: THREAD_ACCESS_RIGHTS, binherithandle: P0, dwthreadid: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
1694where
1695 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
1696{
1697 ::windows_targets::link!("kernel32.dll" "system" fn OpenThread(dwdesiredaccess : THREAD_ACCESS_RIGHTS, binherithandle : super::super::Foundation:: BOOL, dwthreadid : u32) -> super::super::Foundation:: HANDLE);
1698 let result__: HANDLE = OpenThread(dwdesiredaccess, binherithandle:binherithandle.into_param().abi(), dwthreadid);
1699 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
1700}
1701#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
1702#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1703#[inline]
1704pub unsafe fn OpenThreadToken<P0, P1>(threadhandle: P0, desiredaccess: super::super::Security::TOKEN_ACCESS_MASK, openasself: P1, tokenhandle: *mut super::super::Foundation::HANDLE) -> ::windows_core::Result<()>
1705where
1706 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1707 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
1708{
1709 ::windows_targets::link!("advapi32.dll" "system" fn OpenThreadToken(threadhandle : super::super::Foundation:: HANDLE, desiredaccess : super::super::Security:: TOKEN_ACCESS_MASK, openasself : super::super::Foundation:: BOOL, tokenhandle : *mut super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL);
1710 OpenThreadToken(threadhandle:threadhandle.into_param().abi(), desiredaccess, openasself:openasself.into_param().abi(), tokenhandle).ok()
1711}
1712#[doc = "Required features: `\"Win32_Foundation\"`"]
1713#[cfg(feature = "Win32_Foundation")]
1714#[inline]
1715pub unsafe fn OpenWaitableTimerA<P0, P1>(dwdesiredaccess: u32, binherithandle: P0, lptimername: P1) -> super::super::Foundation::HANDLE
1716where
1717 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
1718 P1: ::windows_core::IntoParam<::windows_core::PCSTR>,
1719{
1720 ::windows_targets::link!("kernel32.dll" "system" fn OpenWaitableTimerA(dwdesiredaccess : u32, binherithandle : super::super::Foundation:: BOOL, lptimername : ::windows_core::PCSTR) -> super::super::Foundation:: HANDLE);
1721 OpenWaitableTimerA(dwdesiredaccess, binherithandle:binherithandle.into_param().abi(), lptimername:lptimername.into_param().abi())
1722}
1723#[doc = "Required features: `\"Win32_Foundation\"`"]
1724#[cfg(feature = "Win32_Foundation")]
1725#[inline]
1726pub unsafe fn OpenWaitableTimerW<P0, P1>(dwdesiredaccess: SYNCHRONIZATION_ACCESS_RIGHTS, binherithandle: P0, lptimername: P1) -> ::windows_core::Result<super::super::Foundation::HANDLE>
1727where
1728 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
1729 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1730{
1731 ::windows_targets::link!("kernel32.dll" "system" fn OpenWaitableTimerW(dwdesiredaccess : SYNCHRONIZATION_ACCESS_RIGHTS, binherithandle : super::super::Foundation:: BOOL, lptimername : ::windows_core::PCWSTR) -> super::super::Foundation:: HANDLE);
1732 let result__: HANDLE = OpenWaitableTimerW(dwdesiredaccess, binherithandle:binherithandle.into_param().abi(), lptimername:lptimername.into_param().abi());
1733 (!result__.is_invalid()).then(|| result__).ok_or_else(::windows_core::Error::from_win32)
1734}
1735#[doc = "Required features: `\"Win32_Foundation\"`"]
1736#[cfg(feature = "Win32_Foundation")]
1737#[inline]
1738pub unsafe fn PulseEvent<P0>(hevent: P0) -> ::windows_core::Result<()>
1739where
1740 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1741{
1742 ::windows_targets::link!("kernel32.dll" "system" fn PulseEvent(hevent : super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL);
1743 PulseEvent(hevent:hevent.into_param().abi()).ok()
1744}
1745#[doc = "Required features: `\"Win32_System_Kernel\"`"]
1746#[cfg(feature = "Win32_System_Kernel")]
1747#[inline]
1748pub unsafe fn QueryDepthSList(listhead: *const super::Kernel::SLIST_HEADER) -> u16 {
1749 ::windows_targets::link!("kernel32.dll" "system" fn QueryDepthSList(listhead : *const super::Kernel:: SLIST_HEADER) -> u16);
1750 QueryDepthSList(listhead)
1751}
1752#[doc = "Required features: `\"Win32_Foundation\"`"]
1753#[cfg(feature = "Win32_Foundation")]
1754#[inline]
1755pub unsafe fn QueryFullProcessImageNameA<P0>(hprocess: P0, dwflags: PROCESS_NAME_FORMAT, lpexename: ::windows_core::PSTR, lpdwsize: *mut u32) -> ::windows_core::Result<()>
1756where
1757 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1758{
1759 ::windows_targets::link!("kernel32.dll" "system" fn QueryFullProcessImageNameA(hprocess : super::super::Foundation:: HANDLE, dwflags : PROCESS_NAME_FORMAT, lpexename : ::windows_core::PSTR, lpdwsize : *mut u32) -> super::super::Foundation:: BOOL);
1760 QueryFullProcessImageNameA(hprocess:hprocess.into_param().abi(), dwflags, ::core::mem::transmute(src:lpexename), lpdwsize).ok()
1761}
1762#[doc = "Required features: `\"Win32_Foundation\"`"]
1763#[cfg(feature = "Win32_Foundation")]
1764#[inline]
1765pub unsafe fn QueryFullProcessImageNameW<P0>(hprocess: P0, dwflags: PROCESS_NAME_FORMAT, lpexename: ::windows_core::PWSTR, lpdwsize: *mut u32) -> ::windows_core::Result<()>
1766where
1767 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1768{
1769 ::windows_targets::link!("kernel32.dll" "system" fn QueryFullProcessImageNameW(hprocess : super::super::Foundation:: HANDLE, dwflags : PROCESS_NAME_FORMAT, lpexename : ::windows_core::PWSTR, lpdwsize : *mut u32) -> super::super::Foundation:: BOOL);
1770 QueryFullProcessImageNameW(hprocess:hprocess.into_param().abi(), dwflags, ::core::mem::transmute(src:lpexename), lpdwsize).ok()
1771}
1772#[doc = "Required features: `\"Win32_Foundation\"`"]
1773#[cfg(feature = "Win32_Foundation")]
1774#[inline]
1775pub unsafe fn QueryProcessAffinityUpdateMode<P0>(hprocess: P0, lpdwflags: ::core::option::Option<*mut PROCESS_AFFINITY_AUTO_UPDATE_FLAGS>) -> ::windows_core::Result<()>
1776where
1777 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1778{
1779 ::windows_targets::link!("kernel32.dll" "system" fn QueryProcessAffinityUpdateMode(hprocess : super::super::Foundation:: HANDLE, lpdwflags : *mut PROCESS_AFFINITY_AUTO_UPDATE_FLAGS) -> super::super::Foundation:: BOOL);
1780 QueryProcessAffinityUpdateMode(hprocess:hprocess.into_param().abi(), ::core::mem::transmute(src:lpdwflags.unwrap_or(::std::ptr::null_mut()))).ok()
1781}
1782#[doc = "Required features: `\"Win32_Foundation\"`"]
1783#[cfg(feature = "Win32_Foundation")]
1784#[inline]
1785pub unsafe fn QueryProtectedPolicy(policyguid: *const ::windows_core::GUID, policyvalue: *mut usize) -> super::super::Foundation::BOOL {
1786 ::windows_targets::link!("kernel32.dll" "system" fn QueryProtectedPolicy(policyguid : *const ::windows_core::GUID, policyvalue : *mut usize) -> super::super::Foundation:: BOOL);
1787 QueryProtectedPolicy(policyguid, policyvalue)
1788}
1789#[doc = "Required features: `\"Win32_Foundation\"`"]
1790#[cfg(feature = "Win32_Foundation")]
1791#[inline]
1792pub unsafe fn QueryThreadpoolStackInformation<P0>(ptpp: P0, ptpsi: *mut TP_POOL_STACK_INFORMATION) -> ::windows_core::Result<()>
1793where
1794 P0: ::windows_core::IntoParam<PTP_POOL>,
1795{
1796 ::windows_targets::link!("kernel32.dll" "system" fn QueryThreadpoolStackInformation(ptpp : PTP_POOL, ptpsi : *mut TP_POOL_STACK_INFORMATION) -> super::super::Foundation:: BOOL);
1797 QueryThreadpoolStackInformation(ptpp:ptpp.into_param().abi(), ptpsi).ok()
1798}
1799#[doc = "Required features: `\"Win32_Foundation\"`"]
1800#[cfg(feature = "Win32_Foundation")]
1801#[inline]
1802pub unsafe fn QueryUmsThreadInformation(umsthread: *const ::core::ffi::c_void, umsthreadinfoclass: UMS_THREAD_INFO_CLASS, umsthreadinformation: *mut ::core::ffi::c_void, umsthreadinformationlength: u32, returnlength: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> {
1803 ::windows_targets::link!("kernel32.dll" "system" fn QueryUmsThreadInformation(umsthread : *const ::core::ffi::c_void, umsthreadinfoclass : UMS_THREAD_INFO_CLASS, umsthreadinformation : *mut ::core::ffi::c_void, umsthreadinformationlength : u32, returnlength : *mut u32) -> super::super::Foundation:: BOOL);
1804 QueryUmsThreadInformation(umsthread, umsthreadinfoclass, umsthreadinformation, umsthreadinformationlength, ::core::mem::transmute(src:returnlength.unwrap_or(::std::ptr::null_mut()))).ok()
1805}
1806#[doc = "Required features: `\"Win32_Foundation\"`"]
1807#[cfg(feature = "Win32_Foundation")]
1808#[inline]
1809pub unsafe fn QueueUserAPC<P0>(pfnapc: super::super::Foundation::PAPCFUNC, hthread: P0, dwdata: usize) -> u32
1810where
1811 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1812{
1813 ::windows_targets::link!("kernel32.dll" "system" fn QueueUserAPC(pfnapc : super::super::Foundation:: PAPCFUNC, hthread : super::super::Foundation:: HANDLE, dwdata : usize) -> u32);
1814 QueueUserAPC(pfnapc, hthread:hthread.into_param().abi(), dwdata)
1815}
1816#[doc = "Required features: `\"Win32_Foundation\"`"]
1817#[cfg(feature = "Win32_Foundation")]
1818#[inline]
1819pub unsafe fn QueueUserAPC2<P0>(apcroutine: super::super::Foundation::PAPCFUNC, thread: P0, data: usize, flags: QUEUE_USER_APC_FLAGS) -> super::super::Foundation::BOOL
1820where
1821 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1822{
1823 ::windows_targets::link!("kernel32.dll" "system" fn QueueUserAPC2(apcroutine : super::super::Foundation:: PAPCFUNC, thread : super::super::Foundation:: HANDLE, data : usize, flags : QUEUE_USER_APC_FLAGS) -> super::super::Foundation:: BOOL);
1824 QueueUserAPC2(apcroutine, thread:thread.into_param().abi(), data, flags)
1825}
1826#[doc = "Required features: `\"Win32_Foundation\"`"]
1827#[cfg(feature = "Win32_Foundation")]
1828#[inline]
1829pub unsafe fn QueueUserWorkItem(function: LPTHREAD_START_ROUTINE, context: ::core::option::Option<*const ::core::ffi::c_void>, flags: WORKER_THREAD_FLAGS) -> ::windows_core::Result<()> {
1830 ::windows_targets::link!("kernel32.dll" "system" fn QueueUserWorkItem(function : LPTHREAD_START_ROUTINE, context : *const ::core::ffi::c_void, flags : WORKER_THREAD_FLAGS) -> super::super::Foundation:: BOOL);
1831 QueueUserWorkItem(function, ::core::mem::transmute(src:context.unwrap_or(::std::ptr::null())), flags).ok()
1832}
1833#[doc = "Required features: `\"Win32_Foundation\"`"]
1834#[cfg(feature = "Win32_Foundation")]
1835#[inline]
1836pub unsafe fn RegisterWaitForSingleObject<P0>(phnewwaitobject: *mut super::super::Foundation::HANDLE, hobject: P0, callback: WAITORTIMERCALLBACK, context: ::core::option::Option<*const ::core::ffi::c_void>, dwmilliseconds: u32, dwflags: WORKER_THREAD_FLAGS) -> ::windows_core::Result<()>
1837where
1838 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1839{
1840 ::windows_targets::link!("kernel32.dll" "system" fn RegisterWaitForSingleObject(phnewwaitobject : *mut super::super::Foundation:: HANDLE, hobject : super::super::Foundation:: HANDLE, callback : WAITORTIMERCALLBACK, context : *const ::core::ffi::c_void, dwmilliseconds : u32, dwflags : WORKER_THREAD_FLAGS) -> super::super::Foundation:: BOOL);
1841 RegisterWaitForSingleObject(phnewwaitobject, hobject:hobject.into_param().abi(), callback, ::core::mem::transmute(src:context.unwrap_or(::std::ptr::null())), dwmilliseconds, dwflags).ok()
1842}
1843#[doc = "Required features: `\"Win32_Foundation\"`"]
1844#[cfg(feature = "Win32_Foundation")]
1845#[inline]
1846pub unsafe fn ReleaseMutex<P0>(hmutex: P0) -> ::windows_core::Result<()>
1847where
1848 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1849{
1850 ::windows_targets::link!("kernel32.dll" "system" fn ReleaseMutex(hmutex : super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL);
1851 ReleaseMutex(hmutex:hmutex.into_param().abi()).ok()
1852}
1853#[doc = "Required features: `\"Win32_Foundation\"`"]
1854#[cfg(feature = "Win32_Foundation")]
1855#[inline]
1856pub unsafe fn ReleaseMutexWhenCallbackReturns<P0, P1>(pci: P0, r#mut: P1)
1857where
1858 P0: ::windows_core::IntoParam<PTP_CALLBACK_INSTANCE>,
1859 P1: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1860{
1861 ::windows_targets::link!("kernel32.dll" "system" fn ReleaseMutexWhenCallbackReturns(pci : PTP_CALLBACK_INSTANCE, r#mut : super::super::Foundation:: HANDLE) -> ());
1862 ReleaseMutexWhenCallbackReturns(pci:pci.into_param().abi(), r#mut:r#mut.into_param().abi())
1863}
1864#[inline]
1865pub unsafe fn ReleaseSRWLockExclusive(srwlock: *mut SRWLOCK) {
1866 ::windows_targets::link!("kernel32.dll" "system" fn ReleaseSRWLockExclusive(srwlock : *mut SRWLOCK) -> ());
1867 ReleaseSRWLockExclusive(srwlock)
1868}
1869#[inline]
1870pub unsafe fn ReleaseSRWLockShared(srwlock: *mut SRWLOCK) {
1871 ::windows_targets::link!("kernel32.dll" "system" fn ReleaseSRWLockShared(srwlock : *mut SRWLOCK) -> ());
1872 ReleaseSRWLockShared(srwlock)
1873}
1874#[doc = "Required features: `\"Win32_Foundation\"`"]
1875#[cfg(feature = "Win32_Foundation")]
1876#[inline]
1877pub unsafe fn ReleaseSemaphore<P0>(hsemaphore: P0, lreleasecount: i32, lppreviouscount: ::core::option::Option<*mut i32>) -> ::windows_core::Result<()>
1878where
1879 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1880{
1881 ::windows_targets::link!("kernel32.dll" "system" fn ReleaseSemaphore(hsemaphore : super::super::Foundation:: HANDLE, lreleasecount : i32, lppreviouscount : *mut i32) -> super::super::Foundation:: BOOL);
1882 ReleaseSemaphore(hsemaphore:hsemaphore.into_param().abi(), lreleasecount, ::core::mem::transmute(src:lppreviouscount.unwrap_or(::std::ptr::null_mut()))).ok()
1883}
1884#[doc = "Required features: `\"Win32_Foundation\"`"]
1885#[cfg(feature = "Win32_Foundation")]
1886#[inline]
1887pub unsafe fn ReleaseSemaphoreWhenCallbackReturns<P0, P1>(pci: P0, sem: P1, crel: u32)
1888where
1889 P0: ::windows_core::IntoParam<PTP_CALLBACK_INSTANCE>,
1890 P1: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1891{
1892 ::windows_targets::link!("kernel32.dll" "system" fn ReleaseSemaphoreWhenCallbackReturns(pci : PTP_CALLBACK_INSTANCE, sem : super::super::Foundation:: HANDLE, crel : u32) -> ());
1893 ReleaseSemaphoreWhenCallbackReturns(pci:pci.into_param().abi(), sem:sem.into_param().abi(), crel)
1894}
1895#[doc = "Required features: `\"Win32_Foundation\"`"]
1896#[cfg(feature = "Win32_Foundation")]
1897#[inline]
1898pub unsafe fn ResetEvent<P0>(hevent: P0) -> ::windows_core::Result<()>
1899where
1900 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1901{
1902 ::windows_targets::link!("kernel32.dll" "system" fn ResetEvent(hevent : super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL);
1903 ResetEvent(hevent:hevent.into_param().abi()).ok()
1904}
1905#[doc = "Required features: `\"Win32_Foundation\"`"]
1906#[cfg(feature = "Win32_Foundation")]
1907#[inline]
1908pub unsafe fn ResumeThread<P0>(hthread: P0) -> u32
1909where
1910 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1911{
1912 ::windows_targets::link!("kernel32.dll" "system" fn ResumeThread(hthread : super::super::Foundation:: HANDLE) -> u32);
1913 ResumeThread(hthread:hthread.into_param().abi())
1914}
1915#[inline]
1916pub unsafe fn RtwqAddPeriodicCallback<P0>(callback: RTWQPERIODICCALLBACK, context: P0, key: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()>
1917where
1918 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
1919{
1920 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqAddPeriodicCallback(callback : RTWQPERIODICCALLBACK, context : * mut::core::ffi::c_void, key : *mut u32) -> ::windows_core::HRESULT);
1921 RtwqAddPeriodicCallback(callback, context:context.into_param().abi(), ::core::mem::transmute(src:key.unwrap_or(::std::ptr::null_mut()))).ok()
1922}
1923#[inline]
1924pub unsafe fn RtwqAllocateSerialWorkQueue(workqueueidin: u32) -> ::windows_core::Result<u32> {
1925 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqAllocateSerialWorkQueue(workqueueidin : u32, workqueueidout : *mut u32) -> ::windows_core::HRESULT);
1926 let mut result__: u32 = ::std::mem::zeroed();
1927 RtwqAllocateSerialWorkQueue(workqueueidin, &mut result__).from_abi(result__)
1928}
1929#[inline]
1930pub unsafe fn RtwqAllocateWorkQueue(workqueuetype: RTWQ_WORKQUEUE_TYPE) -> ::windows_core::Result<u32> {
1931 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqAllocateWorkQueue(workqueuetype : RTWQ_WORKQUEUE_TYPE, workqueueid : *mut u32) -> ::windows_core::HRESULT);
1932 let mut result__: u32 = ::std::mem::zeroed();
1933 RtwqAllocateWorkQueue(workqueuetype, &mut result__).from_abi(result__)
1934}
1935#[inline]
1936pub unsafe fn RtwqBeginRegisterWorkQueueWithMMCSS<P0, P1, P2>(workqueueid: u32, usageclass: P0, dwtaskid: u32, lpriority: i32, donecallback: P1, donestate: P2) -> ::windows_core::Result<()>
1937where
1938 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1939 P1: ::windows_core::IntoParam<IRtwqAsyncCallback>,
1940 P2: ::windows_core::IntoParam<::windows_core::IUnknown>,
1941{
1942 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqBeginRegisterWorkQueueWithMMCSS(workqueueid : u32, usageclass : ::windows_core::PCWSTR, dwtaskid : u32, lpriority : i32, donecallback : * mut::core::ffi::c_void, donestate : * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
1943 RtwqBeginRegisterWorkQueueWithMMCSS(workqueueid, usageclass:usageclass.into_param().abi(), dwtaskid, lpriority, donecallback:donecallback.into_param().abi(), donestate:donestate.into_param().abi()).ok()
1944}
1945#[inline]
1946pub unsafe fn RtwqBeginUnregisterWorkQueueWithMMCSS<P0, P1>(workqueueid: u32, donecallback: P0, donestate: P1) -> ::windows_core::Result<()>
1947where
1948 P0: ::windows_core::IntoParam<IRtwqAsyncCallback>,
1949 P1: ::windows_core::IntoParam<::windows_core::IUnknown>,
1950{
1951 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqBeginUnregisterWorkQueueWithMMCSS(workqueueid : u32, donecallback : * mut::core::ffi::c_void, donestate : * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
1952 RtwqBeginUnregisterWorkQueueWithMMCSS(workqueueid, donecallback:donecallback.into_param().abi(), donestate:donestate.into_param().abi()).ok()
1953}
1954#[doc = "Required features: `\"Win32_Foundation\"`"]
1955#[cfg(feature = "Win32_Foundation")]
1956#[inline]
1957pub unsafe fn RtwqCancelDeadline<P0>(prequest: P0) -> ::windows_core::Result<()>
1958where
1959 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1960{
1961 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqCancelDeadline(prequest : super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT);
1962 RtwqCancelDeadline(prequest:prequest.into_param().abi()).ok()
1963}
1964#[inline]
1965pub unsafe fn RtwqCancelWorkItem(key: u64) -> ::windows_core::Result<()> {
1966 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqCancelWorkItem(key : u64) -> ::windows_core::HRESULT);
1967 RtwqCancelWorkItem(key).ok()
1968}
1969#[inline]
1970pub unsafe fn RtwqCreateAsyncResult<P0, P1, P2>(appobject: P0, callback: P1, appstate: P2) -> ::windows_core::Result<IRtwqAsyncResult>
1971where
1972 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
1973 P1: ::windows_core::IntoParam<IRtwqAsyncCallback>,
1974 P2: ::windows_core::IntoParam<::windows_core::IUnknown>,
1975{
1976 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqCreateAsyncResult(appobject : * mut::core::ffi::c_void, callback : * mut::core::ffi::c_void, appstate : * mut::core::ffi::c_void, asyncresult : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
1977 let mut result__: *mut c_void = ::std::mem::zeroed();
1978 RtwqCreateAsyncResult(appobject:appobject.into_param().abi(), callback:callback.into_param().abi(), appstate:appstate.into_param().abi(), &mut result__).from_abi(result__)
1979}
1980#[inline]
1981pub unsafe fn RtwqEndRegisterWorkQueueWithMMCSS<P0>(result: P0) -> ::windows_core::Result<u32>
1982where
1983 P0: ::windows_core::IntoParam<IRtwqAsyncResult>,
1984{
1985 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqEndRegisterWorkQueueWithMMCSS(result : * mut::core::ffi::c_void, taskid : *mut u32) -> ::windows_core::HRESULT);
1986 let mut result__: u32 = ::std::mem::zeroed();
1987 RtwqEndRegisterWorkQueueWithMMCSS(result:result.into_param().abi(), &mut result__).from_abi(result__)
1988}
1989#[inline]
1990pub unsafe fn RtwqGetWorkQueueMMCSSClass(workqueueid: u32, usageclass: ::windows_core::PWSTR, usageclasslength: *mut u32) -> ::windows_core::Result<()> {
1991 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqGetWorkQueueMMCSSClass(workqueueid : u32, usageclass : ::windows_core::PWSTR, usageclasslength : *mut u32) -> ::windows_core::HRESULT);
1992 RtwqGetWorkQueueMMCSSClass(workqueueid, ::core::mem::transmute(src:usageclass), usageclasslength).ok()
1993}
1994#[inline]
1995pub unsafe fn RtwqGetWorkQueueMMCSSPriority(workqueueid: u32) -> ::windows_core::Result<i32> {
1996 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqGetWorkQueueMMCSSPriority(workqueueid : u32, priority : *mut i32) -> ::windows_core::HRESULT);
1997 let mut result__: i32 = ::std::mem::zeroed();
1998 RtwqGetWorkQueueMMCSSPriority(workqueueid, &mut result__).from_abi(result__)
1999}
2000#[inline]
2001pub unsafe fn RtwqGetWorkQueueMMCSSTaskId(workqueueid: u32) -> ::windows_core::Result<u32> {
2002 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqGetWorkQueueMMCSSTaskId(workqueueid : u32, taskid : *mut u32) -> ::windows_core::HRESULT);
2003 let mut result__: u32 = ::std::mem::zeroed();
2004 RtwqGetWorkQueueMMCSSTaskId(workqueueid, &mut result__).from_abi(result__)
2005}
2006#[inline]
2007pub unsafe fn RtwqInvokeCallback<P0>(result: P0) -> ::windows_core::Result<()>
2008where
2009 P0: ::windows_core::IntoParam<IRtwqAsyncResult>,
2010{
2011 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqInvokeCallback(result : * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
2012 RtwqInvokeCallback(result:result.into_param().abi()).ok()
2013}
2014#[doc = "Required features: `\"Win32_Foundation\"`"]
2015#[cfg(feature = "Win32_Foundation")]
2016#[inline]
2017pub unsafe fn RtwqJoinWorkQueue<P0>(workqueueid: u32, hfile: P0) -> ::windows_core::Result<super::super::Foundation::HANDLE>
2018where
2019 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2020{
2021 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqJoinWorkQueue(workqueueid : u32, hfile : super::super::Foundation:: HANDLE, out : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT);
2022 let mut result__: HANDLE = ::std::mem::zeroed();
2023 RtwqJoinWorkQueue(workqueueid, hfile:hfile.into_param().abi(), &mut result__).from_abi(result__)
2024}
2025#[inline]
2026pub unsafe fn RtwqLockPlatform() -> ::windows_core::Result<()> {
2027 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqLockPlatform() -> ::windows_core::HRESULT);
2028 RtwqLockPlatform().ok()
2029}
2030#[inline]
2031pub unsafe fn RtwqLockSharedWorkQueue<P0>(usageclass: P0, basepriority: i32, taskid: *mut u32, id: *mut u32) -> ::windows_core::Result<()>
2032where
2033 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
2034{
2035 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqLockSharedWorkQueue(usageclass : ::windows_core::PCWSTR, basepriority : i32, taskid : *mut u32, id : *mut u32) -> ::windows_core::HRESULT);
2036 RtwqLockSharedWorkQueue(usageclass:usageclass.into_param().abi(), basepriority, taskid, id).ok()
2037}
2038#[inline]
2039pub unsafe fn RtwqLockWorkQueue(workqueueid: u32) -> ::windows_core::Result<()> {
2040 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqLockWorkQueue(workqueueid : u32) -> ::windows_core::HRESULT);
2041 RtwqLockWorkQueue(workqueueid).ok()
2042}
2043#[doc = "Required features: `\"Win32_Foundation\"`"]
2044#[cfg(feature = "Win32_Foundation")]
2045#[inline]
2046pub unsafe fn RtwqPutWaitingWorkItem<P0, P1>(hevent: P0, lpriority: i32, result: P1, key: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()>
2047where
2048 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2049 P1: ::windows_core::IntoParam<IRtwqAsyncResult>,
2050{
2051 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqPutWaitingWorkItem(hevent : super::super::Foundation:: HANDLE, lpriority : i32, result : * mut::core::ffi::c_void, key : *mut u64) -> ::windows_core::HRESULT);
2052 RtwqPutWaitingWorkItem(hevent:hevent.into_param().abi(), lpriority, result:result.into_param().abi(), ::core::mem::transmute(src:key.unwrap_or(::std::ptr::null_mut()))).ok()
2053}
2054#[inline]
2055pub unsafe fn RtwqPutWorkItem<P0>(dwqueue: u32, lpriority: i32, result: P0) -> ::windows_core::Result<()>
2056where
2057 P0: ::windows_core::IntoParam<IRtwqAsyncResult>,
2058{
2059 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqPutWorkItem(dwqueue : u32, lpriority : i32, result : * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
2060 RtwqPutWorkItem(dwqueue, lpriority, result:result.into_param().abi()).ok()
2061}
2062#[inline]
2063pub unsafe fn RtwqRegisterPlatformEvents<P0>(platformevents: P0) -> ::windows_core::Result<()>
2064where
2065 P0: ::windows_core::IntoParam<IRtwqPlatformEvents>,
2066{
2067 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqRegisterPlatformEvents(platformevents : * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
2068 RtwqRegisterPlatformEvents(platformevents:platformevents.into_param().abi()).ok()
2069}
2070#[inline]
2071pub unsafe fn RtwqRegisterPlatformWithMMCSS<P0>(usageclass: P0, taskid: *mut u32, lpriority: i32) -> ::windows_core::Result<()>
2072where
2073 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
2074{
2075 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqRegisterPlatformWithMMCSS(usageclass : ::windows_core::PCWSTR, taskid : *mut u32, lpriority : i32) -> ::windows_core::HRESULT);
2076 RtwqRegisterPlatformWithMMCSS(usageclass:usageclass.into_param().abi(), taskid, lpriority).ok()
2077}
2078#[inline]
2079pub unsafe fn RtwqRemovePeriodicCallback(dwkey: u32) -> ::windows_core::Result<()> {
2080 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqRemovePeriodicCallback(dwkey : u32) -> ::windows_core::HRESULT);
2081 RtwqRemovePeriodicCallback(dwkey).ok()
2082}
2083#[inline]
2084pub unsafe fn RtwqScheduleWorkItem<P0>(result: P0, timeout: i64, key: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()>
2085where
2086 P0: ::windows_core::IntoParam<IRtwqAsyncResult>,
2087{
2088 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqScheduleWorkItem(result : * mut::core::ffi::c_void, timeout : i64, key : *mut u64) -> ::windows_core::HRESULT);
2089 RtwqScheduleWorkItem(result:result.into_param().abi(), timeout, ::core::mem::transmute(src:key.unwrap_or(::std::ptr::null_mut()))).ok()
2090}
2091#[doc = "Required features: `\"Win32_Foundation\"`"]
2092#[cfg(feature = "Win32_Foundation")]
2093#[inline]
2094pub unsafe fn RtwqSetDeadline(workqueueid: u32, deadlineinhns: i64) -> ::windows_core::Result<super::super::Foundation::HANDLE> {
2095 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqSetDeadline(workqueueid : u32, deadlineinhns : i64, prequest : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT);
2096 let mut result__: HANDLE = ::std::mem::zeroed();
2097 RtwqSetDeadline(workqueueid, deadlineinhns, &mut result__).from_abi(result__)
2098}
2099#[doc = "Required features: `\"Win32_Foundation\"`"]
2100#[cfg(feature = "Win32_Foundation")]
2101#[inline]
2102pub unsafe fn RtwqSetDeadline2(workqueueid: u32, deadlineinhns: i64, predeadlineinhns: i64) -> ::windows_core::Result<super::super::Foundation::HANDLE> {
2103 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqSetDeadline2(workqueueid : u32, deadlineinhns : i64, predeadlineinhns : i64, prequest : *mut super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT);
2104 let mut result__: HANDLE = ::std::mem::zeroed();
2105 RtwqSetDeadline2(workqueueid, deadlineinhns, predeadlineinhns, &mut result__).from_abi(result__)
2106}
2107#[doc = "Required features: `\"Win32_Foundation\"`"]
2108#[cfg(feature = "Win32_Foundation")]
2109#[inline]
2110pub unsafe fn RtwqSetLongRunning<P0>(workqueueid: u32, enable: P0) -> ::windows_core::Result<()>
2111where
2112 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
2113{
2114 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqSetLongRunning(workqueueid : u32, enable : super::super::Foundation:: BOOL) -> ::windows_core::HRESULT);
2115 RtwqSetLongRunning(workqueueid, enable:enable.into_param().abi()).ok()
2116}
2117#[inline]
2118pub unsafe fn RtwqShutdown() -> ::windows_core::Result<()> {
2119 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqShutdown() -> ::windows_core::HRESULT);
2120 RtwqShutdown().ok()
2121}
2122#[inline]
2123pub unsafe fn RtwqStartup() -> ::windows_core::Result<()> {
2124 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqStartup() -> ::windows_core::HRESULT);
2125 RtwqStartup().ok()
2126}
2127#[doc = "Required features: `\"Win32_Foundation\"`"]
2128#[cfg(feature = "Win32_Foundation")]
2129#[inline]
2130pub unsafe fn RtwqUnjoinWorkQueue<P0>(workqueueid: u32, hfile: P0) -> ::windows_core::Result<()>
2131where
2132 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2133{
2134 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqUnjoinWorkQueue(workqueueid : u32, hfile : super::super::Foundation:: HANDLE) -> ::windows_core::HRESULT);
2135 RtwqUnjoinWorkQueue(workqueueid, hfile:hfile.into_param().abi()).ok()
2136}
2137#[inline]
2138pub unsafe fn RtwqUnlockPlatform() -> ::windows_core::Result<()> {
2139 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqUnlockPlatform() -> ::windows_core::HRESULT);
2140 RtwqUnlockPlatform().ok()
2141}
2142#[inline]
2143pub unsafe fn RtwqUnlockWorkQueue(workqueueid: u32) -> ::windows_core::Result<()> {
2144 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqUnlockWorkQueue(workqueueid : u32) -> ::windows_core::HRESULT);
2145 RtwqUnlockWorkQueue(workqueueid).ok()
2146}
2147#[inline]
2148pub unsafe fn RtwqUnregisterPlatformEvents<P0>(platformevents: P0) -> ::windows_core::Result<()>
2149where
2150 P0: ::windows_core::IntoParam<IRtwqPlatformEvents>,
2151{
2152 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqUnregisterPlatformEvents(platformevents : * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
2153 RtwqUnregisterPlatformEvents(platformevents:platformevents.into_param().abi()).ok()
2154}
2155#[inline]
2156pub unsafe fn RtwqUnregisterPlatformFromMMCSS() -> ::windows_core::Result<()> {
2157 ::windows_targets::link!("rtworkq.dll" "system" fn RtwqUnregisterPlatformFromMMCSS() -> ::windows_core::HRESULT);
2158 RtwqUnregisterPlatformFromMMCSS().ok()
2159}
2160#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`"]
2161#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
2162#[inline]
2163pub unsafe fn SetCriticalSectionSpinCount(lpcriticalsection: *mut CRITICAL_SECTION, dwspincount: u32) -> u32 {
2164 ::windows_targets::link!("kernel32.dll" "system" fn SetCriticalSectionSpinCount(lpcriticalsection : *mut CRITICAL_SECTION, dwspincount : u32) -> u32);
2165 SetCriticalSectionSpinCount(lpcriticalsection, dwspincount)
2166}
2167#[doc = "Required features: `\"Win32_Foundation\"`"]
2168#[cfg(feature = "Win32_Foundation")]
2169#[inline]
2170pub unsafe fn SetEvent<P0>(hevent: P0) -> ::windows_core::Result<()>
2171where
2172 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2173{
2174 ::windows_targets::link!("kernel32.dll" "system" fn SetEvent(hevent : super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL);
2175 SetEvent(hevent:hevent.into_param().abi()).ok()
2176}
2177#[doc = "Required features: `\"Win32_Foundation\"`"]
2178#[cfg(feature = "Win32_Foundation")]
2179#[inline]
2180pub unsafe fn SetEventWhenCallbackReturns<P0, P1>(pci: P0, evt: P1)
2181where
2182 P0: ::windows_core::IntoParam<PTP_CALLBACK_INSTANCE>,
2183 P1: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2184{
2185 ::windows_targets::link!("kernel32.dll" "system" fn SetEventWhenCallbackReturns(pci : PTP_CALLBACK_INSTANCE, evt : super::super::Foundation:: HANDLE) -> ());
2186 SetEventWhenCallbackReturns(pci:pci.into_param().abi(), evt:evt.into_param().abi())
2187}
2188#[doc = "Required features: `\"Win32_Foundation\"`"]
2189#[cfg(feature = "Win32_Foundation")]
2190#[inline]
2191pub unsafe fn SetPriorityClass<P0>(hprocess: P0, dwpriorityclass: PROCESS_CREATION_FLAGS) -> ::windows_core::Result<()>
2192where
2193 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2194{
2195 ::windows_targets::link!("kernel32.dll" "system" fn SetPriorityClass(hprocess : super::super::Foundation:: HANDLE, dwpriorityclass : PROCESS_CREATION_FLAGS) -> super::super::Foundation:: BOOL);
2196 SetPriorityClass(hprocess:hprocess.into_param().abi(), dwpriorityclass).ok()
2197}
2198#[doc = "Required features: `\"Win32_Foundation\"`"]
2199#[cfg(feature = "Win32_Foundation")]
2200#[inline]
2201pub unsafe fn SetProcessAffinityMask<P0>(hprocess: P0, dwprocessaffinitymask: usize) -> ::windows_core::Result<()>
2202where
2203 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2204{
2205 ::windows_targets::link!("kernel32.dll" "system" fn SetProcessAffinityMask(hprocess : super::super::Foundation:: HANDLE, dwprocessaffinitymask : usize) -> super::super::Foundation:: BOOL);
2206 SetProcessAffinityMask(hprocess:hprocess.into_param().abi(), dwprocessaffinitymask).ok()
2207}
2208#[doc = "Required features: `\"Win32_Foundation\"`"]
2209#[cfg(feature = "Win32_Foundation")]
2210#[inline]
2211pub unsafe fn SetProcessAffinityUpdateMode<P0>(hprocess: P0, dwflags: PROCESS_AFFINITY_AUTO_UPDATE_FLAGS) -> ::windows_core::Result<()>
2212where
2213 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2214{
2215 ::windows_targets::link!("kernel32.dll" "system" fn SetProcessAffinityUpdateMode(hprocess : super::super::Foundation:: HANDLE, dwflags : PROCESS_AFFINITY_AUTO_UPDATE_FLAGS) -> super::super::Foundation:: BOOL);
2216 SetProcessAffinityUpdateMode(hprocess:hprocess.into_param().abi(), dwflags).ok()
2217}
2218#[doc = "Required features: `\"Win32_Foundation\"`"]
2219#[cfg(feature = "Win32_Foundation")]
2220#[inline]
2221pub unsafe fn SetProcessDEPPolicy(dwflags: PROCESS_DEP_FLAGS) -> ::windows_core::Result<()> {
2222 ::windows_targets::link!("kernel32.dll" "system" fn SetProcessDEPPolicy(dwflags : PROCESS_DEP_FLAGS) -> super::super::Foundation:: BOOL);
2223 SetProcessDEPPolicy(dwflags).ok()
2224}
2225#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_SystemInformation\"`"]
2226#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_SystemInformation"))]
2227#[inline]
2228pub unsafe fn SetProcessDefaultCpuSetMasks<P0>(process: P0, cpusetmasks: ::core::option::Option<&[super::SystemInformation::GROUP_AFFINITY]>) -> super::super::Foundation::BOOL
2229where
2230 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2231{
2232 ::windows_targets::link!("kernel32.dll" "system" fn SetProcessDefaultCpuSetMasks(process : super::super::Foundation:: HANDLE, cpusetmasks : *const super::SystemInformation:: GROUP_AFFINITY, cpusetmaskcount : u16) -> super::super::Foundation:: BOOL);
2233 SetProcessDefaultCpuSetMasks(process.into_param().abi(), ::core::mem::transmute(cpusetmasks.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), cpusetmasks.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()))
2234}
2235#[doc = "Required features: `\"Win32_Foundation\"`"]
2236#[cfg(feature = "Win32_Foundation")]
2237#[inline]
2238pub unsafe fn SetProcessDefaultCpuSets<P0>(process: P0, cpusetids: ::core::option::Option<&[u32]>) -> super::super::Foundation::BOOL
2239where
2240 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2241{
2242 ::windows_targets::link!("kernel32.dll" "system" fn SetProcessDefaultCpuSets(process : super::super::Foundation:: HANDLE, cpusetids : *const u32, cpusetidcount : u32) -> super::super::Foundation:: BOOL);
2243 SetProcessDefaultCpuSets(process:process.into_param().abi(), ::core::mem::transmute(cpusetids.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), cpusetidcount:cpusetids.as_deref().map_or(default:0, |slice: &[u32]| slice.len().try_into().unwrap()))
2244}
2245#[doc = "Required features: `\"Win32_Foundation\"`"]
2246#[cfg(feature = "Win32_Foundation")]
2247#[inline]
2248pub unsafe fn SetProcessDynamicEHContinuationTargets<P0>(process: P0, targets: &mut [PROCESS_DYNAMIC_EH_CONTINUATION_TARGET]) -> ::windows_core::Result<()>
2249where
2250 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2251{
2252 ::windows_targets::link!("kernel32.dll" "system" fn SetProcessDynamicEHContinuationTargets(process : super::super::Foundation:: HANDLE, numberoftargets : u16, targets : *mut PROCESS_DYNAMIC_EH_CONTINUATION_TARGET) -> super::super::Foundation:: BOOL);
2253 SetProcessDynamicEHContinuationTargets(process:process.into_param().abi(), numberoftargets:targets.len().try_into().unwrap(), ::core::mem::transmute(src:targets.as_ptr())).ok()
2254}
2255#[doc = "Required features: `\"Win32_Foundation\"`"]
2256#[cfg(feature = "Win32_Foundation")]
2257#[inline]
2258pub unsafe fn SetProcessDynamicEnforcedCetCompatibleRanges<P0>(process: P0, ranges: &mut [PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE]) -> super::super::Foundation::BOOL
2259where
2260 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2261{
2262 ::windows_targets::link!("kernel32.dll" "system" fn SetProcessDynamicEnforcedCetCompatibleRanges(process : super::super::Foundation:: HANDLE, numberofranges : u16, ranges : *mut PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE) -> super::super::Foundation:: BOOL);
2263 SetProcessDynamicEnforcedCetCompatibleRanges(process:process.into_param().abi(), numberofranges:ranges.len().try_into().unwrap(), ::core::mem::transmute(src:ranges.as_ptr()))
2264}
2265#[doc = "Required features: `\"Win32_Foundation\"`"]
2266#[cfg(feature = "Win32_Foundation")]
2267#[inline]
2268pub unsafe fn SetProcessInformation<P0>(hprocess: P0, processinformationclass: PROCESS_INFORMATION_CLASS, processinformation: *const ::core::ffi::c_void, processinformationsize: u32) -> ::windows_core::Result<()>
2269where
2270 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2271{
2272 ::windows_targets::link!("kernel32.dll" "system" fn SetProcessInformation(hprocess : super::super::Foundation:: HANDLE, processinformationclass : PROCESS_INFORMATION_CLASS, processinformation : *const ::core::ffi::c_void, processinformationsize : u32) -> super::super::Foundation:: BOOL);
2273 SetProcessInformation(hprocess:hprocess.into_param().abi(), processinformationclass, processinformation, processinformationsize).ok()
2274}
2275#[doc = "Required features: `\"Win32_Foundation\"`"]
2276#[cfg(feature = "Win32_Foundation")]
2277#[inline]
2278pub unsafe fn SetProcessMitigationPolicy(mitigationpolicy: PROCESS_MITIGATION_POLICY, lpbuffer: *const ::core::ffi::c_void, dwlength: usize) -> ::windows_core::Result<()> {
2279 ::windows_targets::link!("kernel32.dll" "system" fn SetProcessMitigationPolicy(mitigationpolicy : PROCESS_MITIGATION_POLICY, lpbuffer : *const ::core::ffi::c_void, dwlength : usize) -> super::super::Foundation:: BOOL);
2280 SetProcessMitigationPolicy(mitigationpolicy, lpbuffer, dwlength).ok()
2281}
2282#[doc = "Required features: `\"Win32_Foundation\"`"]
2283#[cfg(feature = "Win32_Foundation")]
2284#[inline]
2285pub unsafe fn SetProcessPriorityBoost<P0, P1>(hprocess: P0, bdisablepriorityboost: P1) -> ::windows_core::Result<()>
2286where
2287 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2288 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
2289{
2290 ::windows_targets::link!("kernel32.dll" "system" fn SetProcessPriorityBoost(hprocess : super::super::Foundation:: HANDLE, bdisablepriorityboost : super::super::Foundation:: BOOL) -> super::super::Foundation:: BOOL);
2291 SetProcessPriorityBoost(hprocess:hprocess.into_param().abi(), bdisablepriorityboost:bdisablepriorityboost.into_param().abi()).ok()
2292}
2293#[doc = "Required features: `\"Win32_Foundation\"`"]
2294#[cfg(feature = "Win32_Foundation")]
2295#[inline]
2296pub unsafe fn SetProcessRestrictionExemption<P0>(fenableexemption: P0) -> ::windows_core::Result<()>
2297where
2298 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
2299{
2300 ::windows_targets::link!("user32.dll" "system" fn SetProcessRestrictionExemption(fenableexemption : super::super::Foundation:: BOOL) -> super::super::Foundation:: BOOL);
2301 SetProcessRestrictionExemption(fenableexemption:fenableexemption.into_param().abi()).ok()
2302}
2303#[doc = "Required features: `\"Win32_Foundation\"`"]
2304#[cfg(feature = "Win32_Foundation")]
2305#[inline]
2306pub unsafe fn SetProcessShutdownParameters(dwlevel: u32, dwflags: u32) -> ::windows_core::Result<()> {
2307 ::windows_targets::link!("kernel32.dll" "system" fn SetProcessShutdownParameters(dwlevel : u32, dwflags : u32) -> super::super::Foundation:: BOOL);
2308 SetProcessShutdownParameters(dwlevel, dwflags).ok()
2309}
2310#[doc = "Required features: `\"Win32_Foundation\"`"]
2311#[cfg(feature = "Win32_Foundation")]
2312#[inline]
2313pub unsafe fn SetProcessWorkingSetSize<P0>(hprocess: P0, dwminimumworkingsetsize: usize, dwmaximumworkingsetsize: usize) -> ::windows_core::Result<()>
2314where
2315 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2316{
2317 ::windows_targets::link!("kernel32.dll" "system" fn SetProcessWorkingSetSize(hprocess : super::super::Foundation:: HANDLE, dwminimumworkingsetsize : usize, dwmaximumworkingsetsize : usize) -> super::super::Foundation:: BOOL);
2318 SetProcessWorkingSetSize(hprocess:hprocess.into_param().abi(), dwminimumworkingsetsize, dwmaximumworkingsetsize).ok()
2319}
2320#[doc = "Required features: `\"Win32_Foundation\"`"]
2321#[cfg(feature = "Win32_Foundation")]
2322#[inline]
2323pub unsafe fn SetProtectedPolicy(policyguid: *const ::windows_core::GUID, policyvalue: usize, oldpolicyvalue: ::core::option::Option<*mut usize>) -> ::windows_core::Result<()> {
2324 ::windows_targets::link!("kernel32.dll" "system" fn SetProtectedPolicy(policyguid : *const ::windows_core::GUID, policyvalue : usize, oldpolicyvalue : *mut usize) -> super::super::Foundation:: BOOL);
2325 SetProtectedPolicy(policyguid, policyvalue, ::core::mem::transmute(src:oldpolicyvalue.unwrap_or(::std::ptr::null_mut()))).ok()
2326}
2327#[doc = "Required features: `\"Win32_Foundation\"`"]
2328#[cfg(feature = "Win32_Foundation")]
2329#[inline]
2330pub unsafe fn SetThreadAffinityMask<P0>(hthread: P0, dwthreadaffinitymask: usize) -> usize
2331where
2332 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2333{
2334 ::windows_targets::link!("kernel32.dll" "system" fn SetThreadAffinityMask(hthread : super::super::Foundation:: HANDLE, dwthreadaffinitymask : usize) -> usize);
2335 SetThreadAffinityMask(hthread:hthread.into_param().abi(), dwthreadaffinitymask)
2336}
2337#[doc = "Required features: `\"Win32_Foundation\"`"]
2338#[cfg(feature = "Win32_Foundation")]
2339#[inline]
2340pub unsafe fn SetThreadDescription<P0, P1>(hthread: P0, lpthreaddescription: P1) -> ::windows_core::Result<()>
2341where
2342 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2343 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
2344{
2345 ::windows_targets::link!("kernel32.dll" "system" fn SetThreadDescription(hthread : super::super::Foundation:: HANDLE, lpthreaddescription : ::windows_core::PCWSTR) -> ::windows_core::HRESULT);
2346 SetThreadDescription(hthread:hthread.into_param().abi(), lpthreaddescription:lpthreaddescription.into_param().abi()).ok()
2347}
2348#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_SystemInformation\"`"]
2349#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_SystemInformation"))]
2350#[inline]
2351pub unsafe fn SetThreadGroupAffinity<P0>(hthread: P0, groupaffinity: *const super::SystemInformation::GROUP_AFFINITY, previousgroupaffinity: ::core::option::Option<*mut super::SystemInformation::GROUP_AFFINITY>) -> super::super::Foundation::BOOL
2352where
2353 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2354{
2355 ::windows_targets::link!("kernel32.dll" "system" fn SetThreadGroupAffinity(hthread : super::super::Foundation:: HANDLE, groupaffinity : *const super::SystemInformation:: GROUP_AFFINITY, previousgroupaffinity : *mut super::SystemInformation:: GROUP_AFFINITY) -> super::super::Foundation:: BOOL);
2356 SetThreadGroupAffinity(hthread.into_param().abi(), groupaffinity, ::core::mem::transmute(previousgroupaffinity.unwrap_or(::std::ptr::null_mut())))
2357}
2358#[doc = "Required features: `\"Win32_Foundation\"`"]
2359#[cfg(feature = "Win32_Foundation")]
2360#[inline]
2361pub unsafe fn SetThreadIdealProcessor<P0>(hthread: P0, dwidealprocessor: u32) -> u32
2362where
2363 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2364{
2365 ::windows_targets::link!("kernel32.dll" "system" fn SetThreadIdealProcessor(hthread : super::super::Foundation:: HANDLE, dwidealprocessor : u32) -> u32);
2366 SetThreadIdealProcessor(hthread:hthread.into_param().abi(), dwidealprocessor)
2367}
2368#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`"]
2369#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
2370#[inline]
2371pub unsafe fn SetThreadIdealProcessorEx<P0>(hthread: P0, lpidealprocessor: *const super::Kernel::PROCESSOR_NUMBER, lppreviousidealprocessor: ::core::option::Option<*mut super::Kernel::PROCESSOR_NUMBER>) -> ::windows_core::Result<()>
2372where
2373 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2374{
2375 ::windows_targets::link!("kernel32.dll" "system" fn SetThreadIdealProcessorEx(hthread : super::super::Foundation:: HANDLE, lpidealprocessor : *const super::Kernel:: PROCESSOR_NUMBER, lppreviousidealprocessor : *mut super::Kernel:: PROCESSOR_NUMBER) -> super::super::Foundation:: BOOL);
2376 SetThreadIdealProcessorEx(hthread.into_param().abi(), lpidealprocessor, ::core::mem::transmute(lppreviousidealprocessor.unwrap_or(::std::ptr::null_mut()))).ok()
2377}
2378#[doc = "Required features: `\"Win32_Foundation\"`"]
2379#[cfg(feature = "Win32_Foundation")]
2380#[inline]
2381pub unsafe fn SetThreadInformation<P0>(hthread: P0, threadinformationclass: THREAD_INFORMATION_CLASS, threadinformation: *const ::core::ffi::c_void, threadinformationsize: u32) -> ::windows_core::Result<()>
2382where
2383 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2384{
2385 ::windows_targets::link!("kernel32.dll" "system" fn SetThreadInformation(hthread : super::super::Foundation:: HANDLE, threadinformationclass : THREAD_INFORMATION_CLASS, threadinformation : *const ::core::ffi::c_void, threadinformationsize : u32) -> super::super::Foundation:: BOOL);
2386 SetThreadInformation(hthread:hthread.into_param().abi(), threadinformationclass, threadinformation, threadinformationsize).ok()
2387}
2388#[doc = "Required features: `\"Win32_Foundation\"`"]
2389#[cfg(feature = "Win32_Foundation")]
2390#[inline]
2391pub unsafe fn SetThreadPriority<P0>(hthread: P0, npriority: THREAD_PRIORITY) -> ::windows_core::Result<()>
2392where
2393 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2394{
2395 ::windows_targets::link!("kernel32.dll" "system" fn SetThreadPriority(hthread : super::super::Foundation:: HANDLE, npriority : THREAD_PRIORITY) -> super::super::Foundation:: BOOL);
2396 SetThreadPriority(hthread:hthread.into_param().abi(), npriority).ok()
2397}
2398#[doc = "Required features: `\"Win32_Foundation\"`"]
2399#[cfg(feature = "Win32_Foundation")]
2400#[inline]
2401pub unsafe fn SetThreadPriorityBoost<P0, P1>(hthread: P0, bdisablepriorityboost: P1) -> ::windows_core::Result<()>
2402where
2403 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2404 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
2405{
2406 ::windows_targets::link!("kernel32.dll" "system" fn SetThreadPriorityBoost(hthread : super::super::Foundation:: HANDLE, bdisablepriorityboost : super::super::Foundation:: BOOL) -> super::super::Foundation:: BOOL);
2407 SetThreadPriorityBoost(hthread:hthread.into_param().abi(), bdisablepriorityboost:bdisablepriorityboost.into_param().abi()).ok()
2408}
2409#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_SystemInformation\"`"]
2410#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_SystemInformation"))]
2411#[inline]
2412pub unsafe fn SetThreadSelectedCpuSetMasks<P0>(thread: P0, cpusetmasks: ::core::option::Option<&[super::SystemInformation::GROUP_AFFINITY]>) -> super::super::Foundation::BOOL
2413where
2414 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2415{
2416 ::windows_targets::link!("kernel32.dll" "system" fn SetThreadSelectedCpuSetMasks(thread : super::super::Foundation:: HANDLE, cpusetmasks : *const super::SystemInformation:: GROUP_AFFINITY, cpusetmaskcount : u16) -> super::super::Foundation:: BOOL);
2417 SetThreadSelectedCpuSetMasks(thread.into_param().abi(), ::core::mem::transmute(cpusetmasks.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), cpusetmasks.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()))
2418}
2419#[doc = "Required features: `\"Win32_Foundation\"`"]
2420#[cfg(feature = "Win32_Foundation")]
2421#[inline]
2422pub unsafe fn SetThreadSelectedCpuSets<P0>(thread: P0, cpusetids: &[u32]) -> super::super::Foundation::BOOL
2423where
2424 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2425{
2426 ::windows_targets::link!("kernel32.dll" "system" fn SetThreadSelectedCpuSets(thread : super::super::Foundation:: HANDLE, cpusetids : *const u32, cpusetidcount : u32) -> super::super::Foundation:: BOOL);
2427 SetThreadSelectedCpuSets(thread:thread.into_param().abi(), ::core::mem::transmute(cpusetids.as_ptr()), cpusetidcount:cpusetids.len().try_into().unwrap())
2428}
2429#[doc = "Required features: `\"Win32_Foundation\"`"]
2430#[cfg(feature = "Win32_Foundation")]
2431#[inline]
2432pub unsafe fn SetThreadStackGuarantee(stacksizeinbytes: *mut u32) -> ::windows_core::Result<()> {
2433 ::windows_targets::link!("kernel32.dll" "system" fn SetThreadStackGuarantee(stacksizeinbytes : *mut u32) -> super::super::Foundation:: BOOL);
2434 SetThreadStackGuarantee(stacksizeinbytes).ok()
2435}
2436#[doc = "Required features: `\"Win32_Foundation\"`"]
2437#[cfg(feature = "Win32_Foundation")]
2438#[inline]
2439pub unsafe fn SetThreadToken<P0>(thread: ::core::option::Option<*const super::super::Foundation::HANDLE>, token: P0) -> ::windows_core::Result<()>
2440where
2441 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2442{
2443 ::windows_targets::link!("advapi32.dll" "system" fn SetThreadToken(thread : *const super::super::Foundation:: HANDLE, token : super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL);
2444 SetThreadToken(::core::mem::transmute(thread.unwrap_or(::std::ptr::null())), token:token.into_param().abi()).ok()
2445}
2446#[doc = "Required features: `\"Win32_Foundation\"`"]
2447#[cfg(feature = "Win32_Foundation")]
2448#[inline]
2449pub unsafe fn SetThreadpoolStackInformation<P0>(ptpp: P0, ptpsi: *const TP_POOL_STACK_INFORMATION) -> ::windows_core::Result<()>
2450where
2451 P0: ::windows_core::IntoParam<PTP_POOL>,
2452{
2453 ::windows_targets::link!("kernel32.dll" "system" fn SetThreadpoolStackInformation(ptpp : PTP_POOL, ptpsi : *const TP_POOL_STACK_INFORMATION) -> super::super::Foundation:: BOOL);
2454 SetThreadpoolStackInformation(ptpp:ptpp.into_param().abi(), ptpsi).ok()
2455}
2456#[inline]
2457pub unsafe fn SetThreadpoolThreadMaximum<P0>(ptpp: P0, cthrdmost: u32)
2458where
2459 P0: ::windows_core::IntoParam<PTP_POOL>,
2460{
2461 ::windows_targets::link!("kernel32.dll" "system" fn SetThreadpoolThreadMaximum(ptpp : PTP_POOL, cthrdmost : u32) -> ());
2462 SetThreadpoolThreadMaximum(ptpp:ptpp.into_param().abi(), cthrdmost)
2463}
2464#[doc = "Required features: `\"Win32_Foundation\"`"]
2465#[cfg(feature = "Win32_Foundation")]
2466#[inline]
2467pub unsafe fn SetThreadpoolThreadMinimum<P0>(ptpp: P0, cthrdmic: u32) -> ::windows_core::Result<()>
2468where
2469 P0: ::windows_core::IntoParam<PTP_POOL>,
2470{
2471 ::windows_targets::link!("kernel32.dll" "system" fn SetThreadpoolThreadMinimum(ptpp : PTP_POOL, cthrdmic : u32) -> super::super::Foundation:: BOOL);
2472 SetThreadpoolThreadMinimum(ptpp:ptpp.into_param().abi(), cthrdmic).ok()
2473}
2474#[doc = "Required features: `\"Win32_Foundation\"`"]
2475#[cfg(feature = "Win32_Foundation")]
2476#[inline]
2477pub unsafe fn SetThreadpoolTimer<P0>(pti: P0, pftduetime: ::core::option::Option<*const super::super::Foundation::FILETIME>, msperiod: u32, mswindowlength: u32)
2478where
2479 P0: ::windows_core::IntoParam<PTP_TIMER>,
2480{
2481 ::windows_targets::link!("kernel32.dll" "system" fn SetThreadpoolTimer(pti : PTP_TIMER, pftduetime : *const super::super::Foundation:: FILETIME, msperiod : u32, mswindowlength : u32) -> ());
2482 SetThreadpoolTimer(pti:pti.into_param().abi(), ::core::mem::transmute(src:pftduetime.unwrap_or(::std::ptr::null())), msperiod, mswindowlength)
2483}
2484#[doc = "Required features: `\"Win32_Foundation\"`"]
2485#[cfg(feature = "Win32_Foundation")]
2486#[inline]
2487pub unsafe fn SetThreadpoolTimerEx<P0>(pti: P0, pftduetime: ::core::option::Option<*const super::super::Foundation::FILETIME>, msperiod: u32, mswindowlength: u32) -> super::super::Foundation::BOOL
2488where
2489 P0: ::windows_core::IntoParam<PTP_TIMER>,
2490{
2491 ::windows_targets::link!("kernel32.dll" "system" fn SetThreadpoolTimerEx(pti : PTP_TIMER, pftduetime : *const super::super::Foundation:: FILETIME, msperiod : u32, mswindowlength : u32) -> super::super::Foundation:: BOOL);
2492 SetThreadpoolTimerEx(pti:pti.into_param().abi(), ::core::mem::transmute(src:pftduetime.unwrap_or(::std::ptr::null())), msperiod, mswindowlength)
2493}
2494#[doc = "Required features: `\"Win32_Foundation\"`"]
2495#[cfg(feature = "Win32_Foundation")]
2496#[inline]
2497pub unsafe fn SetThreadpoolWait<P0, P1>(pwa: P0, h: P1, pfttimeout: ::core::option::Option<*const super::super::Foundation::FILETIME>)
2498where
2499 P0: ::windows_core::IntoParam<PTP_WAIT>,
2500 P1: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2501{
2502 ::windows_targets::link!("kernel32.dll" "system" fn SetThreadpoolWait(pwa : PTP_WAIT, h : super::super::Foundation:: HANDLE, pfttimeout : *const super::super::Foundation:: FILETIME) -> ());
2503 SetThreadpoolWait(pwa:pwa.into_param().abi(), h:h.into_param().abi(), ::core::mem::transmute(src:pfttimeout.unwrap_or(::std::ptr::null())))
2504}
2505#[doc = "Required features: `\"Win32_Foundation\"`"]
2506#[cfg(feature = "Win32_Foundation")]
2507#[inline]
2508pub unsafe fn SetThreadpoolWaitEx<P0, P1>(pwa: P0, h: P1, pfttimeout: ::core::option::Option<*const super::super::Foundation::FILETIME>, reserved: ::core::option::Option<*const ::core::ffi::c_void>) -> super::super::Foundation::BOOL
2509where
2510 P0: ::windows_core::IntoParam<PTP_WAIT>,
2511 P1: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2512{
2513 ::windows_targets::link!("kernel32.dll" "system" fn SetThreadpoolWaitEx(pwa : PTP_WAIT, h : super::super::Foundation:: HANDLE, pfttimeout : *const super::super::Foundation:: FILETIME, reserved : *const ::core::ffi::c_void) -> super::super::Foundation:: BOOL);
2514 SetThreadpoolWaitEx(pwa:pwa.into_param().abi(), h:h.into_param().abi(), ::core::mem::transmute(pfttimeout.unwrap_or(::std::ptr::null())), ::core::mem::transmute(src:reserved.unwrap_or(::std::ptr::null())))
2515}
2516#[doc = "Required features: `\"Win32_Foundation\"`"]
2517#[cfg(feature = "Win32_Foundation")]
2518#[inline]
2519pub unsafe fn SetTimerQueueTimer<P0, P1>(timerqueue: P0, callback: WAITORTIMERCALLBACK, parameter: ::core::option::Option<*const ::core::ffi::c_void>, duetime: u32, period: u32, preferio: P1) -> super::super::Foundation::HANDLE
2520where
2521 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2522 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
2523{
2524 ::windows_targets::link!("kernel32.dll" "system" fn SetTimerQueueTimer(timerqueue : super::super::Foundation:: HANDLE, callback : WAITORTIMERCALLBACK, parameter : *const ::core::ffi::c_void, duetime : u32, period : u32, preferio : super::super::Foundation:: BOOL) -> super::super::Foundation:: HANDLE);
2525 SetTimerQueueTimer(timerqueue:timerqueue.into_param().abi(), callback, ::core::mem::transmute(parameter.unwrap_or(::std::ptr::null())), duetime, period, preferio:preferio.into_param().abi())
2526}
2527#[doc = "Required features: `\"Win32_Foundation\"`"]
2528#[cfg(feature = "Win32_Foundation")]
2529#[inline]
2530pub unsafe fn SetUmsThreadInformation(umsthread: *const ::core::ffi::c_void, umsthreadinfoclass: UMS_THREAD_INFO_CLASS, umsthreadinformation: *const ::core::ffi::c_void, umsthreadinformationlength: u32) -> ::windows_core::Result<()> {
2531 ::windows_targets::link!("kernel32.dll" "system" fn SetUmsThreadInformation(umsthread : *const ::core::ffi::c_void, umsthreadinfoclass : UMS_THREAD_INFO_CLASS, umsthreadinformation : *const ::core::ffi::c_void, umsthreadinformationlength : u32) -> super::super::Foundation:: BOOL);
2532 SetUmsThreadInformation(umsthread, umsthreadinfoclass, umsthreadinformation, umsthreadinformationlength).ok()
2533}
2534#[doc = "Required features: `\"Win32_Foundation\"`"]
2535#[cfg(feature = "Win32_Foundation")]
2536#[inline]
2537pub unsafe fn SetWaitableTimer<P0, P1>(htimer: P0, lpduetime: *const i64, lperiod: i32, pfncompletionroutine: PTIMERAPCROUTINE, lpargtocompletionroutine: ::core::option::Option<*const ::core::ffi::c_void>, fresume: P1) -> ::windows_core::Result<()>
2538where
2539 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2540 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
2541{
2542 ::windows_targets::link!("kernel32.dll" "system" fn SetWaitableTimer(htimer : super::super::Foundation:: HANDLE, lpduetime : *const i64, lperiod : i32, pfncompletionroutine : PTIMERAPCROUTINE, lpargtocompletionroutine : *const ::core::ffi::c_void, fresume : super::super::Foundation:: BOOL) -> super::super::Foundation:: BOOL);
2543 SetWaitableTimer(htimer:htimer.into_param().abi(), lpduetime, lperiod, pfncompletionroutine, ::core::mem::transmute(lpargtocompletionroutine.unwrap_or(::std::ptr::null())), fresume:fresume.into_param().abi()).ok()
2544}
2545#[doc = "Required features: `\"Win32_Foundation\"`"]
2546#[cfg(feature = "Win32_Foundation")]
2547#[inline]
2548pub unsafe fn SetWaitableTimerEx<P0>(htimer: P0, lpduetime: *const i64, lperiod: i32, pfncompletionroutine: PTIMERAPCROUTINE, lpargtocompletionroutine: ::core::option::Option<*const ::core::ffi::c_void>, wakecontext: ::core::option::Option<*const REASON_CONTEXT>, tolerabledelay: u32) -> ::windows_core::Result<()>
2549where
2550 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2551{
2552 ::windows_targets::link!("kernel32.dll" "system" fn SetWaitableTimerEx(htimer : super::super::Foundation:: HANDLE, lpduetime : *const i64, lperiod : i32, pfncompletionroutine : PTIMERAPCROUTINE, lpargtocompletionroutine : *const ::core::ffi::c_void, wakecontext : *const REASON_CONTEXT, tolerabledelay : u32) -> super::super::Foundation:: BOOL);
2553 SetWaitableTimerEx(htimer:htimer.into_param().abi(), lpduetime, lperiod, pfncompletionroutine, ::core::mem::transmute(lpargtocompletionroutine.unwrap_or(::std::ptr::null())), ::core::mem::transmute(src:wakecontext.unwrap_or(::std::ptr::null())), tolerabledelay).ok()
2554}
2555#[doc = "Required features: `\"Win32_Foundation\"`"]
2556#[cfg(feature = "Win32_Foundation")]
2557#[inline]
2558pub unsafe fn SignalObjectAndWait<P0, P1, P2>(hobjecttosignal: P0, hobjecttowaiton: P1, dwmilliseconds: u32, balertable: P2) -> super::super::Foundation::WAIT_EVENT
2559where
2560 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2561 P1: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2562 P2: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
2563{
2564 ::windows_targets::link!("kernel32.dll" "system" fn SignalObjectAndWait(hobjecttosignal : super::super::Foundation:: HANDLE, hobjecttowaiton : super::super::Foundation:: HANDLE, dwmilliseconds : u32, balertable : super::super::Foundation:: BOOL) -> super::super::Foundation:: WAIT_EVENT);
2565 SignalObjectAndWait(hobjecttosignal:hobjecttosignal.into_param().abi(), hobjecttowaiton:hobjecttowaiton.into_param().abi(), dwmilliseconds, balertable:balertable.into_param().abi())
2566}
2567#[inline]
2568pub unsafe fn Sleep(dwmilliseconds: u32) {
2569 ::windows_targets::link!("kernel32.dll" "system" fn Sleep(dwmilliseconds : u32) -> ());
2570 Sleep(dwmilliseconds)
2571}
2572#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`"]
2573#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
2574#[inline]
2575pub unsafe fn SleepConditionVariableCS(conditionvariable: *mut CONDITION_VARIABLE, criticalsection: *mut CRITICAL_SECTION, dwmilliseconds: u32) -> ::windows_core::Result<()> {
2576 ::windows_targets::link!("kernel32.dll" "system" fn SleepConditionVariableCS(conditionvariable : *mut CONDITION_VARIABLE, criticalsection : *mut CRITICAL_SECTION, dwmilliseconds : u32) -> super::super::Foundation:: BOOL);
2577 SleepConditionVariableCS(conditionvariable, criticalsection, dwmilliseconds).ok()
2578}
2579#[doc = "Required features: `\"Win32_Foundation\"`"]
2580#[cfg(feature = "Win32_Foundation")]
2581#[inline]
2582pub unsafe fn SleepConditionVariableSRW(conditionvariable: *mut CONDITION_VARIABLE, srwlock: *mut SRWLOCK, dwmilliseconds: u32, flags: u32) -> ::windows_core::Result<()> {
2583 ::windows_targets::link!("kernel32.dll" "system" fn SleepConditionVariableSRW(conditionvariable : *mut CONDITION_VARIABLE, srwlock : *mut SRWLOCK, dwmilliseconds : u32, flags : u32) -> super::super::Foundation:: BOOL);
2584 SleepConditionVariableSRW(conditionvariable, srwlock, dwmilliseconds, flags).ok()
2585}
2586#[doc = "Required features: `\"Win32_Foundation\"`"]
2587#[cfg(feature = "Win32_Foundation")]
2588#[inline]
2589pub unsafe fn SleepEx<P0>(dwmilliseconds: u32, balertable: P0) -> u32
2590where
2591 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
2592{
2593 ::windows_targets::link!("kernel32.dll" "system" fn SleepEx(dwmilliseconds : u32, balertable : super::super::Foundation:: BOOL) -> u32);
2594 SleepEx(dwmilliseconds, balertable:balertable.into_param().abi())
2595}
2596#[inline]
2597pub unsafe fn StartThreadpoolIo<P0>(pio: P0)
2598where
2599 P0: ::windows_core::IntoParam<PTP_IO>,
2600{
2601 ::windows_targets::link!("kernel32.dll" "system" fn StartThreadpoolIo(pio : PTP_IO) -> ());
2602 StartThreadpoolIo(pio:pio.into_param().abi())
2603}
2604#[inline]
2605pub unsafe fn SubmitThreadpoolWork<P0>(pwk: P0)
2606where
2607 P0: ::windows_core::IntoParam<PTP_WORK>,
2608{
2609 ::windows_targets::link!("kernel32.dll" "system" fn SubmitThreadpoolWork(pwk : PTP_WORK) -> ());
2610 SubmitThreadpoolWork(pwk:pwk.into_param().abi())
2611}
2612#[doc = "Required features: `\"Win32_Foundation\"`"]
2613#[cfg(feature = "Win32_Foundation")]
2614#[inline]
2615pub unsafe fn SuspendThread<P0>(hthread: P0) -> u32
2616where
2617 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2618{
2619 ::windows_targets::link!("kernel32.dll" "system" fn SuspendThread(hthread : super::super::Foundation:: HANDLE) -> u32);
2620 SuspendThread(hthread:hthread.into_param().abi())
2621}
2622#[inline]
2623pub unsafe fn SwitchToFiber(lpfiber: *const ::core::ffi::c_void) {
2624 ::windows_targets::link!("kernel32.dll" "system" fn SwitchToFiber(lpfiber : *const ::core::ffi::c_void) -> ());
2625 SwitchToFiber(lpfiber)
2626}
2627#[doc = "Required features: `\"Win32_Foundation\"`"]
2628#[cfg(feature = "Win32_Foundation")]
2629#[inline]
2630pub unsafe fn SwitchToThread() -> super::super::Foundation::BOOL {
2631 ::windows_targets::link!("kernel32.dll" "system" fn SwitchToThread() -> super::super::Foundation:: BOOL);
2632 SwitchToThread()
2633}
2634#[doc = "Required features: `\"Win32_Foundation\"`"]
2635#[cfg(feature = "Win32_Foundation")]
2636#[inline]
2637pub unsafe fn TerminateProcess<P0>(hprocess: P0, uexitcode: u32) -> ::windows_core::Result<()>
2638where
2639 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2640{
2641 ::windows_targets::link!("kernel32.dll" "system" fn TerminateProcess(hprocess : super::super::Foundation:: HANDLE, uexitcode : u32) -> super::super::Foundation:: BOOL);
2642 TerminateProcess(hprocess:hprocess.into_param().abi(), uexitcode).ok()
2643}
2644#[doc = "Required features: `\"Win32_Foundation\"`"]
2645#[cfg(feature = "Win32_Foundation")]
2646#[inline]
2647pub unsafe fn TerminateThread<P0>(hthread: P0, dwexitcode: u32) -> ::windows_core::Result<()>
2648where
2649 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2650{
2651 ::windows_targets::link!("kernel32.dll" "system" fn TerminateThread(hthread : super::super::Foundation:: HANDLE, dwexitcode : u32) -> super::super::Foundation:: BOOL);
2652 TerminateThread(hthread:hthread.into_param().abi(), dwexitcode).ok()
2653}
2654#[inline]
2655pub unsafe fn TlsAlloc() -> u32 {
2656 ::windows_targets::link!("kernel32.dll" "system" fn TlsAlloc() -> u32);
2657 TlsAlloc()
2658}
2659#[doc = "Required features: `\"Win32_Foundation\"`"]
2660#[cfg(feature = "Win32_Foundation")]
2661#[inline]
2662pub unsafe fn TlsFree(dwtlsindex: u32) -> ::windows_core::Result<()> {
2663 ::windows_targets::link!("kernel32.dll" "system" fn TlsFree(dwtlsindex : u32) -> super::super::Foundation:: BOOL);
2664 TlsFree(dwtlsindex).ok()
2665}
2666#[inline]
2667pub unsafe fn TlsGetValue(dwtlsindex: u32) -> *mut ::core::ffi::c_void {
2668 ::windows_targets::link!("kernel32.dll" "system" fn TlsGetValue(dwtlsindex : u32) -> *mut ::core::ffi::c_void);
2669 TlsGetValue(dwtlsindex)
2670}
2671#[doc = "Required features: `\"Win32_Foundation\"`"]
2672#[cfg(feature = "Win32_Foundation")]
2673#[inline]
2674pub unsafe fn TlsSetValue(dwtlsindex: u32, lptlsvalue: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
2675 ::windows_targets::link!("kernel32.dll" "system" fn TlsSetValue(dwtlsindex : u32, lptlsvalue : *const ::core::ffi::c_void) -> super::super::Foundation:: BOOL);
2676 TlsSetValue(dwtlsindex, ::core::mem::transmute(src:lptlsvalue.unwrap_or(::std::ptr::null()))).ok()
2677}
2678#[doc = "Required features: `\"Win32_Foundation\"`"]
2679#[cfg(feature = "Win32_Foundation")]
2680#[inline]
2681pub unsafe fn TryAcquireSRWLockExclusive(srwlock: *mut SRWLOCK) -> super::super::Foundation::BOOLEAN {
2682 ::windows_targets::link!("kernel32.dll" "system" fn TryAcquireSRWLockExclusive(srwlock : *mut SRWLOCK) -> super::super::Foundation:: BOOLEAN);
2683 TryAcquireSRWLockExclusive(srwlock)
2684}
2685#[doc = "Required features: `\"Win32_Foundation\"`"]
2686#[cfg(feature = "Win32_Foundation")]
2687#[inline]
2688pub unsafe fn TryAcquireSRWLockShared(srwlock: *mut SRWLOCK) -> super::super::Foundation::BOOLEAN {
2689 ::windows_targets::link!("kernel32.dll" "system" fn TryAcquireSRWLockShared(srwlock : *mut SRWLOCK) -> super::super::Foundation:: BOOLEAN);
2690 TryAcquireSRWLockShared(srwlock)
2691}
2692#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`"]
2693#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
2694#[inline]
2695pub unsafe fn TryEnterCriticalSection(lpcriticalsection: *mut CRITICAL_SECTION) -> super::super::Foundation::BOOL {
2696 ::windows_targets::link!("kernel32.dll" "system" fn TryEnterCriticalSection(lpcriticalsection : *mut CRITICAL_SECTION) -> super::super::Foundation:: BOOL);
2697 TryEnterCriticalSection(lpcriticalsection)
2698}
2699#[doc = "Required features: `\"Win32_Foundation\"`"]
2700#[cfg(feature = "Win32_Foundation")]
2701#[inline]
2702pub unsafe fn TrySubmitThreadpoolCallback(pfns: PTP_SIMPLE_CALLBACK, pv: ::core::option::Option<*mut ::core::ffi::c_void>, pcbe: ::core::option::Option<*const TP_CALLBACK_ENVIRON_V3>) -> ::windows_core::Result<()> {
2703 ::windows_targets::link!("kernel32.dll" "system" fn TrySubmitThreadpoolCallback(pfns : PTP_SIMPLE_CALLBACK, pv : *mut ::core::ffi::c_void, pcbe : *const TP_CALLBACK_ENVIRON_V3) -> super::super::Foundation:: BOOL);
2704 TrySubmitThreadpoolCallback(pfns, ::core::mem::transmute(pv.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(src:pcbe.unwrap_or(::std::ptr::null()))).ok()
2705}
2706#[doc = "Required features: `\"Win32_Foundation\"`"]
2707#[cfg(feature = "Win32_Foundation")]
2708#[inline]
2709pub unsafe fn UmsThreadYield(schedulerparam: *const ::core::ffi::c_void) -> ::windows_core::Result<()> {
2710 ::windows_targets::link!("kernel32.dll" "system" fn UmsThreadYield(schedulerparam : *const ::core::ffi::c_void) -> super::super::Foundation:: BOOL);
2711 UmsThreadYield(schedulerparam).ok()
2712}
2713#[doc = "Required features: `\"Win32_Foundation\"`"]
2714#[cfg(feature = "Win32_Foundation")]
2715#[inline]
2716pub unsafe fn UnregisterWait<P0>(waithandle: P0) -> ::windows_core::Result<()>
2717where
2718 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2719{
2720 ::windows_targets::link!("kernel32.dll" "system" fn UnregisterWait(waithandle : super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL);
2721 UnregisterWait(waithandle:waithandle.into_param().abi()).ok()
2722}
2723#[doc = "Required features: `\"Win32_Foundation\"`"]
2724#[cfg(feature = "Win32_Foundation")]
2725#[inline]
2726pub unsafe fn UnregisterWaitEx<P0, P1>(waithandle: P0, completionevent: P1) -> ::windows_core::Result<()>
2727where
2728 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2729 P1: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2730{
2731 ::windows_targets::link!("kernel32.dll" "system" fn UnregisterWaitEx(waithandle : super::super::Foundation:: HANDLE, completionevent : super::super::Foundation:: HANDLE) -> super::super::Foundation:: BOOL);
2732 UnregisterWaitEx(waithandle:waithandle.into_param().abi(), completionevent:completionevent.into_param().abi()).ok()
2733}
2734#[doc = "Required features: `\"Win32_Foundation\"`"]
2735#[cfg(feature = "Win32_Foundation")]
2736#[inline]
2737pub unsafe fn UpdateProcThreadAttribute(lpattributelist: LPPROC_THREAD_ATTRIBUTE_LIST, dwflags: u32, attribute: usize, lpvalue: ::core::option::Option<*const ::core::ffi::c_void>, cbsize: usize, lppreviousvalue: ::core::option::Option<*mut ::core::ffi::c_void>, lpreturnsize: ::core::option::Option<*const usize>) -> ::windows_core::Result<()> {
2738 ::windows_targets::link!("kernel32.dll" "system" fn UpdateProcThreadAttribute(lpattributelist : LPPROC_THREAD_ATTRIBUTE_LIST, dwflags : u32, attribute : usize, lpvalue : *const ::core::ffi::c_void, cbsize : usize, lppreviousvalue : *mut ::core::ffi::c_void, lpreturnsize : *const usize) -> super::super::Foundation:: BOOL);
2739 UpdateProcThreadAttribute(lpattributelist, dwflags, attribute, ::core::mem::transmute(lpvalue.unwrap_or(::std::ptr::null())), cbsize, ::core::mem::transmute(lppreviousvalue.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(src:lpreturnsize.unwrap_or(::std::ptr::null()))).ok()
2740}
2741#[doc = "Required features: `\"Win32_Foundation\"`"]
2742#[cfg(feature = "Win32_Foundation")]
2743#[inline]
2744pub unsafe fn WaitForInputIdle<P0>(hprocess: P0, dwmilliseconds: u32) -> u32
2745where
2746 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2747{
2748 ::windows_targets::link!("user32.dll" "system" fn WaitForInputIdle(hprocess : super::super::Foundation:: HANDLE, dwmilliseconds : u32) -> u32);
2749 WaitForInputIdle(hprocess:hprocess.into_param().abi(), dwmilliseconds)
2750}
2751#[doc = "Required features: `\"Win32_Foundation\"`"]
2752#[cfg(feature = "Win32_Foundation")]
2753#[inline]
2754pub unsafe fn WaitForMultipleObjects<P0>(lphandles: &[super::super::Foundation::HANDLE], bwaitall: P0, dwmilliseconds: u32) -> super::super::Foundation::WAIT_EVENT
2755where
2756 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
2757{
2758 ::windows_targets::link!("kernel32.dll" "system" fn WaitForMultipleObjects(ncount : u32, lphandles : *const super::super::Foundation:: HANDLE, bwaitall : super::super::Foundation:: BOOL, dwmilliseconds : u32) -> super::super::Foundation:: WAIT_EVENT);
2759 WaitForMultipleObjects(ncount:lphandles.len().try_into().unwrap(), ::core::mem::transmute(lphandles.as_ptr()), bwaitall:bwaitall.into_param().abi(), dwmilliseconds)
2760}
2761#[doc = "Required features: `\"Win32_Foundation\"`"]
2762#[cfg(feature = "Win32_Foundation")]
2763#[inline]
2764pub unsafe fn WaitForMultipleObjectsEx<P0, P1>(lphandles: &[super::super::Foundation::HANDLE], bwaitall: P0, dwmilliseconds: u32, balertable: P1) -> super::super::Foundation::WAIT_EVENT
2765where
2766 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
2767 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
2768{
2769 ::windows_targets::link!("kernel32.dll" "system" fn WaitForMultipleObjectsEx(ncount : u32, lphandles : *const super::super::Foundation:: HANDLE, bwaitall : super::super::Foundation:: BOOL, dwmilliseconds : u32, balertable : super::super::Foundation:: BOOL) -> super::super::Foundation:: WAIT_EVENT);
2770 WaitForMultipleObjectsEx(ncount:lphandles.len().try_into().unwrap(), ::core::mem::transmute(lphandles.as_ptr()), bwaitall:bwaitall.into_param().abi(), dwmilliseconds, balertable:balertable.into_param().abi())
2771}
2772#[doc = "Required features: `\"Win32_Foundation\"`"]
2773#[cfg(feature = "Win32_Foundation")]
2774#[inline]
2775pub unsafe fn WaitForSingleObject<P0>(hhandle: P0, dwmilliseconds: u32) -> super::super::Foundation::WAIT_EVENT
2776where
2777 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2778{
2779 ::windows_targets::link!("kernel32.dll" "system" fn WaitForSingleObject(hhandle : super::super::Foundation:: HANDLE, dwmilliseconds : u32) -> super::super::Foundation:: WAIT_EVENT);
2780 WaitForSingleObject(hhandle:hhandle.into_param().abi(), dwmilliseconds)
2781}
2782#[doc = "Required features: `\"Win32_Foundation\"`"]
2783#[cfg(feature = "Win32_Foundation")]
2784#[inline]
2785pub unsafe fn WaitForSingleObjectEx<P0, P1>(hhandle: P0, dwmilliseconds: u32, balertable: P1) -> super::super::Foundation::WAIT_EVENT
2786where
2787 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2788 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
2789{
2790 ::windows_targets::link!("kernel32.dll" "system" fn WaitForSingleObjectEx(hhandle : super::super::Foundation:: HANDLE, dwmilliseconds : u32, balertable : super::super::Foundation:: BOOL) -> super::super::Foundation:: WAIT_EVENT);
2791 WaitForSingleObjectEx(hhandle:hhandle.into_param().abi(), dwmilliseconds, balertable:balertable.into_param().abi())
2792}
2793#[doc = "Required features: `\"Win32_Foundation\"`"]
2794#[cfg(feature = "Win32_Foundation")]
2795#[inline]
2796pub unsafe fn WaitForThreadpoolIoCallbacks<P0, P1>(pio: P0, fcancelpendingcallbacks: P1)
2797where
2798 P0: ::windows_core::IntoParam<PTP_IO>,
2799 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
2800{
2801 ::windows_targets::link!("kernel32.dll" "system" fn WaitForThreadpoolIoCallbacks(pio : PTP_IO, fcancelpendingcallbacks : super::super::Foundation:: BOOL) -> ());
2802 WaitForThreadpoolIoCallbacks(pio:pio.into_param().abi(), fcancelpendingcallbacks:fcancelpendingcallbacks.into_param().abi())
2803}
2804#[doc = "Required features: `\"Win32_Foundation\"`"]
2805#[cfg(feature = "Win32_Foundation")]
2806#[inline]
2807pub unsafe fn WaitForThreadpoolTimerCallbacks<P0, P1>(pti: P0, fcancelpendingcallbacks: P1)
2808where
2809 P0: ::windows_core::IntoParam<PTP_TIMER>,
2810 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
2811{
2812 ::windows_targets::link!("kernel32.dll" "system" fn WaitForThreadpoolTimerCallbacks(pti : PTP_TIMER, fcancelpendingcallbacks : super::super::Foundation:: BOOL) -> ());
2813 WaitForThreadpoolTimerCallbacks(pti:pti.into_param().abi(), fcancelpendingcallbacks:fcancelpendingcallbacks.into_param().abi())
2814}
2815#[doc = "Required features: `\"Win32_Foundation\"`"]
2816#[cfg(feature = "Win32_Foundation")]
2817#[inline]
2818pub unsafe fn WaitForThreadpoolWaitCallbacks<P0, P1>(pwa: P0, fcancelpendingcallbacks: P1)
2819where
2820 P0: ::windows_core::IntoParam<PTP_WAIT>,
2821 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
2822{
2823 ::windows_targets::link!("kernel32.dll" "system" fn WaitForThreadpoolWaitCallbacks(pwa : PTP_WAIT, fcancelpendingcallbacks : super::super::Foundation:: BOOL) -> ());
2824 WaitForThreadpoolWaitCallbacks(pwa:pwa.into_param().abi(), fcancelpendingcallbacks:fcancelpendingcallbacks.into_param().abi())
2825}
2826#[doc = "Required features: `\"Win32_Foundation\"`"]
2827#[cfg(feature = "Win32_Foundation")]
2828#[inline]
2829pub unsafe fn WaitForThreadpoolWorkCallbacks<P0, P1>(pwk: P0, fcancelpendingcallbacks: P1)
2830where
2831 P0: ::windows_core::IntoParam<PTP_WORK>,
2832 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
2833{
2834 ::windows_targets::link!("kernel32.dll" "system" fn WaitForThreadpoolWorkCallbacks(pwk : PTP_WORK, fcancelpendingcallbacks : super::super::Foundation:: BOOL) -> ());
2835 WaitForThreadpoolWorkCallbacks(pwk:pwk.into_param().abi(), fcancelpendingcallbacks:fcancelpendingcallbacks.into_param().abi())
2836}
2837#[doc = "Required features: `\"Win32_Foundation\"`"]
2838#[cfg(feature = "Win32_Foundation")]
2839#[inline]
2840pub unsafe fn WaitOnAddress(address: *const ::core::ffi::c_void, compareaddress: *const ::core::ffi::c_void, addresssize: usize, dwmilliseconds: u32) -> ::windows_core::Result<()> {
2841 ::windows_targets::link!("api-ms-win-core-synch-l1-2-0.dll" "system" fn WaitOnAddress(address : *const ::core::ffi::c_void, compareaddress : *const ::core::ffi::c_void, addresssize : usize, dwmilliseconds : u32) -> super::super::Foundation:: BOOL);
2842 WaitOnAddress(address, compareaddress, addresssize, dwmilliseconds).ok()
2843}
2844#[inline]
2845pub unsafe fn WakeAllConditionVariable(conditionvariable: *mut CONDITION_VARIABLE) {
2846 ::windows_targets::link!("kernel32.dll" "system" fn WakeAllConditionVariable(conditionvariable : *mut CONDITION_VARIABLE) -> ());
2847 WakeAllConditionVariable(conditionvariable)
2848}
2849#[inline]
2850pub unsafe fn WakeByAddressAll(address: *const ::core::ffi::c_void) {
2851 ::windows_targets::link!("api-ms-win-core-synch-l1-2-0.dll" "system" fn WakeByAddressAll(address : *const ::core::ffi::c_void) -> ());
2852 WakeByAddressAll(address)
2853}
2854#[inline]
2855pub unsafe fn WakeByAddressSingle(address: *const ::core::ffi::c_void) {
2856 ::windows_targets::link!("api-ms-win-core-synch-l1-2-0.dll" "system" fn WakeByAddressSingle(address : *const ::core::ffi::c_void) -> ());
2857 WakeByAddressSingle(address)
2858}
2859#[inline]
2860pub unsafe fn WakeConditionVariable(conditionvariable: *mut CONDITION_VARIABLE) {
2861 ::windows_targets::link!("kernel32.dll" "system" fn WakeConditionVariable(conditionvariable : *mut CONDITION_VARIABLE) -> ());
2862 WakeConditionVariable(conditionvariable)
2863}
2864#[inline]
2865pub unsafe fn WinExec<P0>(lpcmdline: P0, ucmdshow: u32) -> u32
2866where
2867 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
2868{
2869 ::windows_targets::link!("kernel32.dll" "system" fn WinExec(lpcmdline : ::windows_core::PCSTR, ucmdshow : u32) -> u32);
2870 WinExec(lpcmdline:lpcmdline.into_param().abi(), ucmdshow)
2871}
2872#[inline]
2873pub unsafe fn Wow64SetThreadDefaultGuestMachine(machine: u16) -> u16 {
2874 ::windows_targets::link!("api-ms-win-core-wow64-l1-1-1.dll" "system" fn Wow64SetThreadDefaultGuestMachine(machine : u16) -> u16);
2875 Wow64SetThreadDefaultGuestMachine(machine)
2876}
2877#[doc = "Required features: `\"Win32_Foundation\"`"]
2878#[cfg(feature = "Win32_Foundation")]
2879#[inline]
2880pub unsafe fn Wow64SuspendThread<P0>(hthread: P0) -> u32
2881where
2882 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2883{
2884 ::windows_targets::link!("kernel32.dll" "system" fn Wow64SuspendThread(hthread : super::super::Foundation:: HANDLE) -> u32);
2885 Wow64SuspendThread(hthread:hthread.into_param().abi())
2886}
2887#[repr(transparent)]
2888#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2889pub struct IRtwqAsyncCallback(::windows_core::IUnknown);
2890impl IRtwqAsyncCallback {
2891 pub unsafe fn GetParameters(&self, pdwflags: *mut u32, pdwqueue: *mut u32) -> ::windows_core::Result<()> {
2892 (::windows_core::Interface::vtable(self).GetParameters)(::windows_core::Interface::as_raw(self), pdwflags, pdwqueue).ok()
2893 }
2894 pub unsafe fn Invoke<P0>(&self, pasyncresult: P0) -> ::windows_core::Result<()>
2895 where
2896 P0: ::windows_core::IntoParam<IRtwqAsyncResult>,
2897 {
2898 (::windows_core::Interface::vtable(self).Invoke)(::windows_core::Interface::as_raw(self), pasyncresult.into_param().abi()).ok()
2899 }
2900}
2901::windows_core::imp::interface_hierarchy!(IRtwqAsyncCallback, ::windows_core::IUnknown);
2902unsafe impl ::windows_core::Interface for IRtwqAsyncCallback {
2903 type Vtable = IRtwqAsyncCallback_Vtbl;
2904}
2905unsafe impl ::windows_core::ComInterface for IRtwqAsyncCallback {
2906 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xa27003cf_2354_4f2a_8d6a_ab7cff15437e);
2907}
2908#[repr(C)]
2909#[doc(hidden)]
2910pub struct IRtwqAsyncCallback_Vtbl {
2911 pub base__: ::windows_core::IUnknown_Vtbl,
2912 pub GetParameters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwflags: *mut u32, pdwqueue: *mut u32) -> ::windows_core::HRESULT,
2913 pub Invoke: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pasyncresult: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2914}
2915#[repr(transparent)]
2916#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2917pub struct IRtwqAsyncResult(::windows_core::IUnknown);
2918impl IRtwqAsyncResult {
2919 pub unsafe fn GetState(&self) -> ::windows_core::Result<::windows_core::IUnknown> {
2920 let mut result__: *mut c_void = ::std::mem::zeroed();
2921 (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2922 }
2923 pub unsafe fn GetStatus(&self) -> ::windows_core::Result<()> {
2924 (::windows_core::Interface::vtable(self).GetStatus)(::windows_core::Interface::as_raw(self)).ok()
2925 }
2926 pub unsafe fn SetStatus(&self, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> {
2927 (::windows_core::Interface::vtable(self).SetStatus)(::windows_core::Interface::as_raw(self), hrstatus).ok()
2928 }
2929 pub unsafe fn GetObject(&self) -> ::windows_core::Result<::windows_core::IUnknown> {
2930 let mut result__: *mut c_void = ::std::mem::zeroed();
2931 (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2932 }
2933 pub unsafe fn GetStateNoAddRef(&self) -> ::core::option::Option<::windows_core::IUnknown> {
2934 (::windows_core::Interface::vtable(self).GetStateNoAddRef)(::windows_core::Interface::as_raw(self))
2935 }
2936}
2937::windows_core::imp::interface_hierarchy!(IRtwqAsyncResult, ::windows_core::IUnknown);
2938unsafe impl ::windows_core::Interface for IRtwqAsyncResult {
2939 type Vtable = IRtwqAsyncResult_Vtbl;
2940}
2941unsafe impl ::windows_core::ComInterface for IRtwqAsyncResult {
2942 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xac6b7889_0740_4d51_8619_905994a55cc6);
2943}
2944#[repr(C)]
2945#[doc(hidden)]
2946pub struct IRtwqAsyncResult_Vtbl {
2947 pub base__: ::windows_core::IUnknown_Vtbl,
2948 pub GetState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppunkstate: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2949 pub GetStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2950 pub SetStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hrstatus: ::windows_core::HRESULT) -> ::windows_core::HRESULT,
2951 pub GetObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppobject: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2952 pub GetStateNoAddRef: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::core::option::Option<::windows_core::IUnknown>,
2953}
2954#[repr(transparent)]
2955#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2956pub struct IRtwqPlatformEvents(::windows_core::IUnknown);
2957impl IRtwqPlatformEvents {
2958 pub unsafe fn InitializationComplete(&self) -> ::windows_core::Result<()> {
2959 (::windows_core::Interface::vtable(self).InitializationComplete)(::windows_core::Interface::as_raw(self)).ok()
2960 }
2961 pub unsafe fn ShutdownStart(&self) -> ::windows_core::Result<()> {
2962 (::windows_core::Interface::vtable(self).ShutdownStart)(::windows_core::Interface::as_raw(self)).ok()
2963 }
2964 pub unsafe fn ShutdownComplete(&self) -> ::windows_core::Result<()> {
2965 (::windows_core::Interface::vtable(self).ShutdownComplete)(::windows_core::Interface::as_raw(self)).ok()
2966 }
2967}
2968::windows_core::imp::interface_hierarchy!(IRtwqPlatformEvents, ::windows_core::IUnknown);
2969unsafe impl ::windows_core::Interface for IRtwqPlatformEvents {
2970 type Vtable = IRtwqPlatformEvents_Vtbl;
2971}
2972unsafe impl ::windows_core::ComInterface for IRtwqPlatformEvents {
2973 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x63d9255a_7ff1_4b61_8faf_ed6460dacf2b);
2974}
2975#[repr(C)]
2976#[doc(hidden)]
2977pub struct IRtwqPlatformEvents_Vtbl {
2978 pub base__: ::windows_core::IUnknown_Vtbl,
2979 pub InitializationComplete: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2980 pub ShutdownStart: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2981 pub ShutdownComplete: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2982}
2983#[repr(transparent)]
2984#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2985pub struct RTWQASYNCRESULT(::windows_core::IUnknown);
2986impl RTWQASYNCRESULT {
2987 pub unsafe fn GetState(&self) -> ::windows_core::Result<::windows_core::IUnknown> {
2988 let mut result__: *mut c_void = ::std::mem::zeroed();
2989 (::windows_core::Interface::vtable(self).base__.GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2990 }
2991 pub unsafe fn GetStatus(&self) -> ::windows_core::Result<()> {
2992 (::windows_core::Interface::vtable(self).base__.GetStatus)(::windows_core::Interface::as_raw(self)).ok()
2993 }
2994 pub unsafe fn SetStatus(&self, hrstatus: ::windows_core::HRESULT) -> ::windows_core::Result<()> {
2995 (::windows_core::Interface::vtable(self).base__.SetStatus)(::windows_core::Interface::as_raw(self), hrstatus).ok()
2996 }
2997 pub unsafe fn GetObject(&self) -> ::windows_core::Result<::windows_core::IUnknown> {
2998 let mut result__: *mut c_void = ::std::mem::zeroed();
2999 (::windows_core::Interface::vtable(self).base__.GetObject)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
3000 }
3001 pub unsafe fn GetStateNoAddRef(&self) -> ::core::option::Option<::windows_core::IUnknown> {
3002 (::windows_core::Interface::vtable(self).base__.GetStateNoAddRef)(::windows_core::Interface::as_raw(self))
3003 }
3004}
3005::windows_core::imp::interface_hierarchy!(RTWQASYNCRESULT, ::windows_core::IUnknown, IRtwqAsyncResult);
3006unsafe impl ::windows_core::Interface for RTWQASYNCRESULT {
3007 type Vtable = RTWQASYNCRESULT_Vtbl;
3008}
3009unsafe impl ::windows_core::ComInterface for RTWQASYNCRESULT {
3010 const IID: ::windows_core::GUID = ::windows_core::GUID::zeroed();
3011}
3012#[repr(C)]
3013#[doc(hidden)]
3014pub struct RTWQASYNCRESULT_Vtbl {
3015 pub base__: IRtwqAsyncResult_Vtbl,
3016}
3017pub const ABOVE_NORMAL_PRIORITY_CLASS: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(32768u32);
3018pub const ALL_PROCESSOR_GROUPS: u16 = 65535u16;
3019pub const AVRT_PRIORITY_CRITICAL: AVRT_PRIORITY = AVRT_PRIORITY(2i32);
3020pub const AVRT_PRIORITY_HIGH: AVRT_PRIORITY = AVRT_PRIORITY(1i32);
3021pub const AVRT_PRIORITY_LOW: AVRT_PRIORITY = AVRT_PRIORITY(-1i32);
3022pub const AVRT_PRIORITY_NORMAL: AVRT_PRIORITY = AVRT_PRIORITY(0i32);
3023pub const AVRT_PRIORITY_VERYLOW: AVRT_PRIORITY = AVRT_PRIORITY(-2i32);
3024pub const BELOW_NORMAL_PRIORITY_CLASS: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(16384u32);
3025pub const CONDITION_VARIABLE_LOCKMODE_SHARED: u32 = 1u32;
3026pub const CREATE_BREAKAWAY_FROM_JOB: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(16777216u32);
3027pub const CREATE_DEFAULT_ERROR_MODE: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(67108864u32);
3028pub const CREATE_EVENT_INITIAL_SET: CREATE_EVENT = CREATE_EVENT(2u32);
3029pub const CREATE_EVENT_MANUAL_RESET: CREATE_EVENT = CREATE_EVENT(1u32);
3030pub const CREATE_FORCEDOS: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(8192u32);
3031pub const CREATE_IGNORE_SYSTEM_DEFAULT: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(2147483648u32);
3032pub const CREATE_MUTEX_INITIAL_OWNER: u32 = 1u32;
3033pub const CREATE_NEW_CONSOLE: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(16u32);
3034pub const CREATE_NEW_PROCESS_GROUP: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(512u32);
3035pub const CREATE_NO_WINDOW: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(134217728u32);
3036pub const CREATE_PRESERVE_CODE_AUTHZ_LEVEL: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(33554432u32);
3037pub const CREATE_PROTECTED_PROCESS: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(262144u32);
3038pub const CREATE_SECURE_PROCESS: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(4194304u32);
3039pub const CREATE_SEPARATE_WOW_VDM: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(2048u32);
3040pub const CREATE_SHARED_WOW_VDM: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(4096u32);
3041pub const CREATE_SUSPENDED: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(4u32);
3042pub const CREATE_UNICODE_ENVIRONMENT: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(1024u32);
3043pub const CREATE_WAITABLE_TIMER_HIGH_RESOLUTION: u32 = 2u32;
3044pub const CREATE_WAITABLE_TIMER_MANUAL_RESET: u32 = 1u32;
3045pub const DEBUG_ONLY_THIS_PROCESS: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(2u32);
3046pub const DEBUG_PROCESS: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(1u32);
3047pub const DETACHED_PROCESS: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(8u32);
3048pub const EVENT_ALL_ACCESS: SYNCHRONIZATION_ACCESS_RIGHTS = SYNCHRONIZATION_ACCESS_RIGHTS(2031619u32);
3049pub const EVENT_MODIFY_STATE: SYNCHRONIZATION_ACCESS_RIGHTS = SYNCHRONIZATION_ACCESS_RIGHTS(2u32);
3050pub const EXTENDED_STARTUPINFO_PRESENT: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(524288u32);
3051pub const FLS_OUT_OF_INDEXES: u32 = 4294967295u32;
3052pub const GR_GDIOBJECTS: GET_GUI_RESOURCES_FLAGS = GET_GUI_RESOURCES_FLAGS(0u32);
3053pub const GR_GDIOBJECTS_PEAK: GET_GUI_RESOURCES_FLAGS = GET_GUI_RESOURCES_FLAGS(2u32);
3054pub const GR_USEROBJECTS: GET_GUI_RESOURCES_FLAGS = GET_GUI_RESOURCES_FLAGS(1u32);
3055pub const GR_USEROBJECTS_PEAK: GET_GUI_RESOURCES_FLAGS = GET_GUI_RESOURCES_FLAGS(4u32);
3056pub const HIGH_PRIORITY_CLASS: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(128u32);
3057pub const IDLE_PRIORITY_CLASS: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(64u32);
3058pub const INFINITE: u32 = 4294967295u32;
3059pub const INHERIT_CALLER_PRIORITY: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(131072u32);
3060pub const INHERIT_PARENT_AFFINITY: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(65536u32);
3061pub const INIT_ONCE_ASYNC: u32 = 2u32;
3062pub const INIT_ONCE_CHECK_ONLY: u32 = 1u32;
3063pub const INIT_ONCE_CTX_RESERVED_BITS: u32 = 2u32;
3064pub const INIT_ONCE_INIT_FAILED: u32 = 4u32;
3065pub const KernelEnabled: MACHINE_ATTRIBUTES = MACHINE_ATTRIBUTES(2i32);
3066pub const LOGON_NETCREDENTIALS_ONLY: CREATE_PROCESS_LOGON_FLAGS = CREATE_PROCESS_LOGON_FLAGS(2u32);
3067pub const LOGON_WITH_PROFILE: CREATE_PROCESS_LOGON_FLAGS = CREATE_PROCESS_LOGON_FLAGS(1u32);
3068pub const MEMORY_PRIORITY_BELOW_NORMAL: MEMORY_PRIORITY = MEMORY_PRIORITY(4u32);
3069pub const MEMORY_PRIORITY_LOW: MEMORY_PRIORITY = MEMORY_PRIORITY(2u32);
3070pub const MEMORY_PRIORITY_MEDIUM: MEMORY_PRIORITY = MEMORY_PRIORITY(3u32);
3071pub const MEMORY_PRIORITY_NORMAL: MEMORY_PRIORITY = MEMORY_PRIORITY(5u32);
3072pub const MEMORY_PRIORITY_VERY_LOW: MEMORY_PRIORITY = MEMORY_PRIORITY(1u32);
3073pub const MUTEX_ALL_ACCESS: SYNCHRONIZATION_ACCESS_RIGHTS = SYNCHRONIZATION_ACCESS_RIGHTS(2031617u32);
3074pub const MUTEX_MODIFY_STATE: SYNCHRONIZATION_ACCESS_RIGHTS = SYNCHRONIZATION_ACCESS_RIGHTS(1u32);
3075pub const MaxProcessMitigationPolicy: PROCESS_MITIGATION_POLICY = PROCESS_MITIGATION_POLICY(19i32);
3076pub const NORMAL_PRIORITY_CLASS: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(32u32);
3077pub const PF_3DNOW_INSTRUCTIONS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(7u32);
3078pub const PF_ALPHA_BYTE_INSTRUCTIONS: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(5u32);
3079pub const PF_ARM_64BIT_LOADSTORE_ATOMIC: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(25u32);
3080pub const PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(24u32);
3081pub const PF_ARM_EXTERNAL_CACHE_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(26u32);
3082pub const PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(27u32);
3083pub const PF_ARM_NEON_INSTRUCTIONS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(19u32);
3084pub const PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(34u32);
3085pub const PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(43u32);
3086pub const PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(44u32);
3087pub const PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(45u32);
3088pub const PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(31u32);
3089pub const PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(30u32);
3090pub const PF_ARM_V8_INSTRUCTIONS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(29u32);
3091pub const PF_ARM_VFP_32_REGISTERS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(18u32);
3092pub const PF_AVX2_INSTRUCTIONS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(40u32);
3093pub const PF_AVX512F_INSTRUCTIONS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(41u32);
3094pub const PF_AVX_INSTRUCTIONS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(39u32);
3095pub const PF_CHANNELS_ENABLED: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(16u32);
3096pub const PF_COMPARE64_EXCHANGE128: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(15u32);
3097pub const PF_COMPARE_EXCHANGE128: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(14u32);
3098pub const PF_COMPARE_EXCHANGE_DOUBLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(2u32);
3099pub const PF_ERMS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(42u32);
3100pub const PF_FASTFAIL_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(23u32);
3101pub const PF_FLOATING_POINT_EMULATED: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(1u32);
3102pub const PF_FLOATING_POINT_PRECISION_ERRATA: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(0u32);
3103pub const PF_MMX_INSTRUCTIONS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(3u32);
3104pub const PF_MONITORX_INSTRUCTION_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(35u32);
3105pub const PF_NX_ENABLED: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(12u32);
3106pub const PF_PAE_ENABLED: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(9u32);
3107pub const PF_PPC_MOVEMEM_64BIT_OK: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(4u32);
3108pub const PF_RDPID_INSTRUCTION_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(33u32);
3109pub const PF_RDRAND_INSTRUCTION_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(28u32);
3110pub const PF_RDTSCP_INSTRUCTION_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(32u32);
3111pub const PF_RDTSC_INSTRUCTION_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(8u32);
3112pub const PF_RDWRFSGSBASE_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(22u32);
3113pub const PF_SECOND_LEVEL_ADDRESS_TRANSLATION: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(20u32);
3114pub const PF_SSE3_INSTRUCTIONS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(13u32);
3115pub const PF_SSE4_1_INSTRUCTIONS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(37u32);
3116pub const PF_SSE4_2_INSTRUCTIONS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(38u32);
3117pub const PF_SSE_DAZ_MODE_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(11u32);
3118pub const PF_SSSE3_INSTRUCTIONS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(36u32);
3119pub const PF_VIRT_FIRMWARE_ENABLED: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(21u32);
3120pub const PF_XMMI64_INSTRUCTIONS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(10u32);
3121pub const PF_XMMI_INSTRUCTIONS_AVAILABLE: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(6u32);
3122pub const PF_XSAVE_ENABLED: PROCESSOR_FEATURE_ID = PROCESSOR_FEATURE_ID(17u32);
3123pub const PMETypeFailFastOnCommitFailure: PROCESS_MEMORY_EXHAUSTION_TYPE = PROCESS_MEMORY_EXHAUSTION_TYPE(0i32);
3124pub const PMETypeMax: PROCESS_MEMORY_EXHAUSTION_TYPE = PROCESS_MEMORY_EXHAUSTION_TYPE(1i32);
3125pub const PME_CURRENT_VERSION: u32 = 1u32;
3126pub const PME_FAILFAST_ON_COMMIT_FAIL_DISABLE: u32 = 0u32;
3127pub const PME_FAILFAST_ON_COMMIT_FAIL_ENABLE: u32 = 1u32;
3128pub const POWER_REQUEST_CONTEXT_DETAILED_STRING: POWER_REQUEST_CONTEXT_FLAGS = POWER_REQUEST_CONTEXT_FLAGS(2u32);
3129pub const POWER_REQUEST_CONTEXT_SIMPLE_STRING: POWER_REQUEST_CONTEXT_FLAGS = POWER_REQUEST_CONTEXT_FLAGS(1u32);
3130pub const PRIVATE_NAMESPACE_FLAG_DESTROY: u32 = 1u32;
3131pub const PROCESS_AFFINITY_DISABLE_AUTO_UPDATE: PROCESS_AFFINITY_AUTO_UPDATE_FLAGS = PROCESS_AFFINITY_AUTO_UPDATE_FLAGS(0u32);
3132pub const PROCESS_AFFINITY_ENABLE_AUTO_UPDATE: PROCESS_AFFINITY_AUTO_UPDATE_FLAGS = PROCESS_AFFINITY_AUTO_UPDATE_FLAGS(1u32);
3133pub const PROCESS_ALL_ACCESS: PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS(2097151u32);
3134pub const PROCESS_CREATE_PROCESS: PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS(128u32);
3135pub const PROCESS_CREATE_THREAD: PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS(2u32);
3136pub const PROCESS_DELETE: PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS(65536u32);
3137pub const PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION: PROCESS_DEP_FLAGS = PROCESS_DEP_FLAGS(2u32);
3138pub const PROCESS_DEP_ENABLE: PROCESS_DEP_FLAGS = PROCESS_DEP_FLAGS(1u32);
3139pub const PROCESS_DEP_NONE: PROCESS_DEP_FLAGS = PROCESS_DEP_FLAGS(0u32);
3140pub const PROCESS_DUP_HANDLE: PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS(64u32);
3141pub const PROCESS_LEAP_SECOND_INFO_FLAG_ENABLE_SIXTY_SECOND: u32 = 1u32;
3142pub const PROCESS_LEAP_SECOND_INFO_VALID_FLAGS: u32 = 1u32;
3143pub const PROCESS_MODE_BACKGROUND_BEGIN: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(1048576u32);
3144pub const PROCESS_MODE_BACKGROUND_END: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(2097152u32);
3145pub const PROCESS_NAME_NATIVE: PROCESS_NAME_FORMAT = PROCESS_NAME_FORMAT(1u32);
3146pub const PROCESS_NAME_WIN32: PROCESS_NAME_FORMAT = PROCESS_NAME_FORMAT(0u32);
3147pub const PROCESS_POWER_THROTTLING_CURRENT_VERSION: u32 = 1u32;
3148pub const PROCESS_POWER_THROTTLING_EXECUTION_SPEED: u32 = 1u32;
3149pub const PROCESS_POWER_THROTTLING_IGNORE_TIMER_RESOLUTION: u32 = 4u32;
3150pub const PROCESS_QUERY_INFORMATION: PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS(1024u32);
3151pub const PROCESS_QUERY_LIMITED_INFORMATION: PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS(4096u32);
3152pub const PROCESS_READ_CONTROL: PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS(131072u32);
3153pub const PROCESS_SET_INFORMATION: PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS(512u32);
3154pub const PROCESS_SET_LIMITED_INFORMATION: PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS(8192u32);
3155pub const PROCESS_SET_QUOTA: PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS(256u32);
3156pub const PROCESS_SET_SESSIONID: PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS(4u32);
3157pub const PROCESS_STANDARD_RIGHTS_REQUIRED: PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS(983040u32);
3158pub const PROCESS_SUSPEND_RESUME: PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS(2048u32);
3159pub const PROCESS_SYNCHRONIZE: PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS(1048576u32);
3160pub const PROCESS_TERMINATE: PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS(1u32);
3161pub const PROCESS_VM_OPERATION: PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS(8u32);
3162pub const PROCESS_VM_READ: PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS(16u32);
3163pub const PROCESS_VM_WRITE: PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS(32u32);
3164pub const PROCESS_WRITE_DAC: PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS(262144u32);
3165pub const PROCESS_WRITE_OWNER: PROCESS_ACCESS_RIGHTS = PROCESS_ACCESS_RIGHTS(524288u32);
3166pub const PROC_THREAD_ATTRIBUTE_ALL_APPLICATION_PACKAGES_POLICY: u32 = 131087u32;
3167pub const PROC_THREAD_ATTRIBUTE_CHILD_PROCESS_POLICY: u32 = 131086u32;
3168pub const PROC_THREAD_ATTRIBUTE_COMPONENT_FILTER: u32 = 131098u32;
3169pub const PROC_THREAD_ATTRIBUTE_DESKTOP_APP_POLICY: u32 = 131090u32;
3170pub const PROC_THREAD_ATTRIBUTE_ENABLE_OPTIONAL_XSTATE_FEATURES: u32 = 196635u32;
3171pub const PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY: u32 = 196611u32;
3172pub const PROC_THREAD_ATTRIBUTE_HANDLE_LIST: u32 = 131074u32;
3173pub const PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR: u32 = 196613u32;
3174pub const PROC_THREAD_ATTRIBUTE_JOB_LIST: u32 = 131085u32;
3175pub const PROC_THREAD_ATTRIBUTE_MACHINE_TYPE: u32 = 131097u32;
3176pub const PROC_THREAD_ATTRIBUTE_MITIGATION_AUDIT_POLICY: u32 = 131096u32;
3177pub const PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY: u32 = 131079u32;
3178pub const PROC_THREAD_ATTRIBUTE_PARENT_PROCESS: u32 = 131072u32;
3179pub const PROC_THREAD_ATTRIBUTE_PREFERRED_NODE: u32 = 131076u32;
3180pub const PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL: u32 = 131083u32;
3181pub const PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE: u32 = 131094u32;
3182pub const PROC_THREAD_ATTRIBUTE_REPLACE_VALUE: u32 = 1u32;
3183pub const PROC_THREAD_ATTRIBUTE_SECURITY_CAPABILITIES: u32 = 131081u32;
3184pub const PROC_THREAD_ATTRIBUTE_UMS_THREAD: u32 = 196614u32;
3185pub const PROC_THREAD_ATTRIBUTE_WIN32K_FILTER: u32 = 131088u32;
3186pub const PROFILE_KERNEL: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(536870912u32);
3187pub const PROFILE_SERVER: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(1073741824u32);
3188pub const PROFILE_USER: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(268435456u32);
3189pub const PROTECTION_LEVEL_ANTIMALWARE_LIGHT: PROCESS_PROTECTION_LEVEL = PROCESS_PROTECTION_LEVEL(3u32);
3190pub const PROTECTION_LEVEL_AUTHENTICODE: PROCESS_PROTECTION_LEVEL = PROCESS_PROTECTION_LEVEL(7u32);
3191pub const PROTECTION_LEVEL_CODEGEN_LIGHT: PROCESS_PROTECTION_LEVEL = PROCESS_PROTECTION_LEVEL(6u32);
3192pub const PROTECTION_LEVEL_LSA_LIGHT: PROCESS_PROTECTION_LEVEL = PROCESS_PROTECTION_LEVEL(4u32);
3193pub const PROTECTION_LEVEL_NONE: PROCESS_PROTECTION_LEVEL = PROCESS_PROTECTION_LEVEL(4294967294u32);
3194pub const PROTECTION_LEVEL_PPL_APP: PROCESS_PROTECTION_LEVEL = PROCESS_PROTECTION_LEVEL(8u32);
3195pub const PROTECTION_LEVEL_WINDOWS: PROCESS_PROTECTION_LEVEL = PROCESS_PROTECTION_LEVEL(1u32);
3196pub const PROTECTION_LEVEL_WINDOWS_LIGHT: PROCESS_PROTECTION_LEVEL = PROCESS_PROTECTION_LEVEL(2u32);
3197pub const PROTECTION_LEVEL_WINTCB: PROCESS_PROTECTION_LEVEL = PROCESS_PROTECTION_LEVEL(5u32);
3198pub const PROTECTION_LEVEL_WINTCB_LIGHT: PROCESS_PROTECTION_LEVEL = PROCESS_PROTECTION_LEVEL(0u32);
3199pub const ProcThreadAttributeAllApplicationPackagesPolicy: PROC_THREAD_ATTRIBUTE_NUM = PROC_THREAD_ATTRIBUTE_NUM(15u32);
3200pub const ProcThreadAttributeChildProcessPolicy: PROC_THREAD_ATTRIBUTE_NUM = PROC_THREAD_ATTRIBUTE_NUM(14u32);
3201pub const ProcThreadAttributeComponentFilter: PROC_THREAD_ATTRIBUTE_NUM = PROC_THREAD_ATTRIBUTE_NUM(26u32);
3202pub const ProcThreadAttributeDesktopAppPolicy: PROC_THREAD_ATTRIBUTE_NUM = PROC_THREAD_ATTRIBUTE_NUM(18u32);
3203pub const ProcThreadAttributeEnableOptionalXStateFeatures: PROC_THREAD_ATTRIBUTE_NUM = PROC_THREAD_ATTRIBUTE_NUM(27u32);
3204pub const ProcThreadAttributeGroupAffinity: PROC_THREAD_ATTRIBUTE_NUM = PROC_THREAD_ATTRIBUTE_NUM(3u32);
3205pub const ProcThreadAttributeHandleList: PROC_THREAD_ATTRIBUTE_NUM = PROC_THREAD_ATTRIBUTE_NUM(2u32);
3206pub const ProcThreadAttributeIdealProcessor: PROC_THREAD_ATTRIBUTE_NUM = PROC_THREAD_ATTRIBUTE_NUM(5u32);
3207pub const ProcThreadAttributeJobList: PROC_THREAD_ATTRIBUTE_NUM = PROC_THREAD_ATTRIBUTE_NUM(13u32);
3208pub const ProcThreadAttributeMachineType: PROC_THREAD_ATTRIBUTE_NUM = PROC_THREAD_ATTRIBUTE_NUM(25u32);
3209pub const ProcThreadAttributeMitigationAuditPolicy: PROC_THREAD_ATTRIBUTE_NUM = PROC_THREAD_ATTRIBUTE_NUM(24u32);
3210pub const ProcThreadAttributeMitigationPolicy: PROC_THREAD_ATTRIBUTE_NUM = PROC_THREAD_ATTRIBUTE_NUM(7u32);
3211pub const ProcThreadAttributeParentProcess: PROC_THREAD_ATTRIBUTE_NUM = PROC_THREAD_ATTRIBUTE_NUM(0u32);
3212pub const ProcThreadAttributePreferredNode: PROC_THREAD_ATTRIBUTE_NUM = PROC_THREAD_ATTRIBUTE_NUM(4u32);
3213pub const ProcThreadAttributeProtectionLevel: PROC_THREAD_ATTRIBUTE_NUM = PROC_THREAD_ATTRIBUTE_NUM(11u32);
3214pub const ProcThreadAttributePseudoConsole: PROC_THREAD_ATTRIBUTE_NUM = PROC_THREAD_ATTRIBUTE_NUM(22u32);
3215pub const ProcThreadAttributeSafeOpenPromptOriginClaim: PROC_THREAD_ATTRIBUTE_NUM = PROC_THREAD_ATTRIBUTE_NUM(17u32);
3216pub const ProcThreadAttributeSecurityCapabilities: PROC_THREAD_ATTRIBUTE_NUM = PROC_THREAD_ATTRIBUTE_NUM(9u32);
3217pub const ProcThreadAttributeTrustedApp: PROC_THREAD_ATTRIBUTE_NUM = PROC_THREAD_ATTRIBUTE_NUM(29u32);
3218pub const ProcThreadAttributeUmsThread: PROC_THREAD_ATTRIBUTE_NUM = PROC_THREAD_ATTRIBUTE_NUM(6u32);
3219pub const ProcThreadAttributeWin32kFilter: PROC_THREAD_ATTRIBUTE_NUM = PROC_THREAD_ATTRIBUTE_NUM(16u32);
3220pub const ProcessASLRPolicy: PROCESS_MITIGATION_POLICY = PROCESS_MITIGATION_POLICY(1i32);
3221pub const ProcessAppMemoryInfo: PROCESS_INFORMATION_CLASS = PROCESS_INFORMATION_CLASS(2i32);
3222pub const ProcessChildProcessPolicy: PROCESS_MITIGATION_POLICY = PROCESS_MITIGATION_POLICY(13i32);
3223pub const ProcessControlFlowGuardPolicy: PROCESS_MITIGATION_POLICY = PROCESS_MITIGATION_POLICY(7i32);
3224pub const ProcessDEPPolicy: PROCESS_MITIGATION_POLICY = PROCESS_MITIGATION_POLICY(0i32);
3225pub const ProcessDynamicCodePolicy: PROCESS_MITIGATION_POLICY = PROCESS_MITIGATION_POLICY(2i32);
3226pub const ProcessExtensionPointDisablePolicy: PROCESS_MITIGATION_POLICY = PROCESS_MITIGATION_POLICY(6i32);
3227pub const ProcessFontDisablePolicy: PROCESS_MITIGATION_POLICY = PROCESS_MITIGATION_POLICY(9i32);
3228pub const ProcessImageLoadPolicy: PROCESS_MITIGATION_POLICY = PROCESS_MITIGATION_POLICY(10i32);
3229pub const ProcessInPrivateInfo: PROCESS_INFORMATION_CLASS = PROCESS_INFORMATION_CLASS(3i32);
3230pub const ProcessInformationClassMax: PROCESS_INFORMATION_CLASS = PROCESS_INFORMATION_CLASS(10i32);
3231pub const ProcessLeapSecondInfo: PROCESS_INFORMATION_CLASS = PROCESS_INFORMATION_CLASS(8i32);
3232pub const ProcessMachineTypeInfo: PROCESS_INFORMATION_CLASS = PROCESS_INFORMATION_CLASS(9i32);
3233pub const ProcessMemoryExhaustionInfo: PROCESS_INFORMATION_CLASS = PROCESS_INFORMATION_CLASS(1i32);
3234pub const ProcessMemoryPriority: PROCESS_INFORMATION_CLASS = PROCESS_INFORMATION_CLASS(0i32);
3235pub const ProcessMitigationOptionsMask: PROCESS_MITIGATION_POLICY = PROCESS_MITIGATION_POLICY(5i32);
3236pub const ProcessPayloadRestrictionPolicy: PROCESS_MITIGATION_POLICY = PROCESS_MITIGATION_POLICY(12i32);
3237pub const ProcessPowerThrottling: PROCESS_INFORMATION_CLASS = PROCESS_INFORMATION_CLASS(4i32);
3238pub const ProcessProtectionLevelInfo: PROCESS_INFORMATION_CLASS = PROCESS_INFORMATION_CLASS(7i32);
3239pub const ProcessRedirectionTrustPolicy: PROCESS_MITIGATION_POLICY = PROCESS_MITIGATION_POLICY(16i32);
3240pub const ProcessReservedValue1: PROCESS_INFORMATION_CLASS = PROCESS_INFORMATION_CLASS(5i32);
3241pub const ProcessSEHOPPolicy: PROCESS_MITIGATION_POLICY = PROCESS_MITIGATION_POLICY(18i32);
3242pub const ProcessSideChannelIsolationPolicy: PROCESS_MITIGATION_POLICY = PROCESS_MITIGATION_POLICY(14i32);
3243pub const ProcessSignaturePolicy: PROCESS_MITIGATION_POLICY = PROCESS_MITIGATION_POLICY(8i32);
3244pub const ProcessStrictHandleCheckPolicy: PROCESS_MITIGATION_POLICY = PROCESS_MITIGATION_POLICY(3i32);
3245pub const ProcessSystemCallDisablePolicy: PROCESS_MITIGATION_POLICY = PROCESS_MITIGATION_POLICY(4i32);
3246pub const ProcessSystemCallFilterPolicy: PROCESS_MITIGATION_POLICY = PROCESS_MITIGATION_POLICY(11i32);
3247pub const ProcessTelemetryCoverageInfo: PROCESS_INFORMATION_CLASS = PROCESS_INFORMATION_CLASS(6i32);
3248pub const ProcessUserPointerAuthPolicy: PROCESS_MITIGATION_POLICY = PROCESS_MITIGATION_POLICY(17i32);
3249pub const ProcessUserShadowStackPolicy: PROCESS_MITIGATION_POLICY = PROCESS_MITIGATION_POLICY(15i32);
3250pub const QUEUE_USER_APC_CALLBACK_DATA_CONTEXT: QUEUE_USER_APC_FLAGS = QUEUE_USER_APC_FLAGS(65536i32);
3251pub const QUEUE_USER_APC_FLAGS_NONE: QUEUE_USER_APC_FLAGS = QUEUE_USER_APC_FLAGS(0i32);
3252pub const QUEUE_USER_APC_FLAGS_SPECIAL_USER_APC: QUEUE_USER_APC_FLAGS = QUEUE_USER_APC_FLAGS(1i32);
3253pub const REALTIME_PRIORITY_CLASS: PROCESS_CREATION_FLAGS = PROCESS_CREATION_FLAGS(256u32);
3254pub const RTWQ_MULTITHREADED_WORKQUEUE: RTWQ_WORKQUEUE_TYPE = RTWQ_WORKQUEUE_TYPE(2i32);
3255pub const RTWQ_STANDARD_WORKQUEUE: RTWQ_WORKQUEUE_TYPE = RTWQ_WORKQUEUE_TYPE(0i32);
3256pub const RTWQ_WINDOW_WORKQUEUE: RTWQ_WORKQUEUE_TYPE = RTWQ_WORKQUEUE_TYPE(1i32);
3257pub const SEMAPHORE_ALL_ACCESS: SYNCHRONIZATION_ACCESS_RIGHTS = SYNCHRONIZATION_ACCESS_RIGHTS(2031619u32);
3258pub const SEMAPHORE_MODIFY_STATE: SYNCHRONIZATION_ACCESS_RIGHTS = SYNCHRONIZATION_ACCESS_RIGHTS(2u32);
3259pub const STACK_SIZE_PARAM_IS_A_RESERVATION: THREAD_CREATION_FLAGS = THREAD_CREATION_FLAGS(65536u32);
3260pub const STARTF_FORCEOFFFEEDBACK: STARTUPINFOW_FLAGS = STARTUPINFOW_FLAGS(128u32);
3261pub const STARTF_FORCEONFEEDBACK: STARTUPINFOW_FLAGS = STARTUPINFOW_FLAGS(64u32);
3262pub const STARTF_PREVENTPINNING: STARTUPINFOW_FLAGS = STARTUPINFOW_FLAGS(8192u32);
3263pub const STARTF_RUNFULLSCREEN: STARTUPINFOW_FLAGS = STARTUPINFOW_FLAGS(32u32);
3264pub const STARTF_TITLEISAPPID: STARTUPINFOW_FLAGS = STARTUPINFOW_FLAGS(4096u32);
3265pub const STARTF_TITLEISLINKNAME: STARTUPINFOW_FLAGS = STARTUPINFOW_FLAGS(2048u32);
3266pub const STARTF_UNTRUSTEDSOURCE: STARTUPINFOW_FLAGS = STARTUPINFOW_FLAGS(32768u32);
3267pub const STARTF_USECOUNTCHARS: STARTUPINFOW_FLAGS = STARTUPINFOW_FLAGS(8u32);
3268pub const STARTF_USEFILLATTRIBUTE: STARTUPINFOW_FLAGS = STARTUPINFOW_FLAGS(16u32);
3269pub const STARTF_USEHOTKEY: STARTUPINFOW_FLAGS = STARTUPINFOW_FLAGS(512u32);
3270pub const STARTF_USEPOSITION: STARTUPINFOW_FLAGS = STARTUPINFOW_FLAGS(4u32);
3271pub const STARTF_USESHOWWINDOW: STARTUPINFOW_FLAGS = STARTUPINFOW_FLAGS(1u32);
3272pub const STARTF_USESIZE: STARTUPINFOW_FLAGS = STARTUPINFOW_FLAGS(2u32);
3273pub const STARTF_USESTDHANDLES: STARTUPINFOW_FLAGS = STARTUPINFOW_FLAGS(256u32);
3274pub const SYNCHRONIZATION_BARRIER_FLAGS_BLOCK_ONLY: u32 = 2u32;
3275pub const SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE: u32 = 4u32;
3276pub const SYNCHRONIZATION_BARRIER_FLAGS_SPIN_ONLY: u32 = 1u32;
3277pub const SYNCHRONIZATION_DELETE: SYNCHRONIZATION_ACCESS_RIGHTS = SYNCHRONIZATION_ACCESS_RIGHTS(65536u32);
3278pub const SYNCHRONIZATION_READ_CONTROL: SYNCHRONIZATION_ACCESS_RIGHTS = SYNCHRONIZATION_ACCESS_RIGHTS(131072u32);
3279pub const SYNCHRONIZATION_SYNCHRONIZE: SYNCHRONIZATION_ACCESS_RIGHTS = SYNCHRONIZATION_ACCESS_RIGHTS(1048576u32);
3280pub const SYNCHRONIZATION_WRITE_DAC: SYNCHRONIZATION_ACCESS_RIGHTS = SYNCHRONIZATION_ACCESS_RIGHTS(262144u32);
3281pub const SYNCHRONIZATION_WRITE_OWNER: SYNCHRONIZATION_ACCESS_RIGHTS = SYNCHRONIZATION_ACCESS_RIGHTS(524288u32);
3282pub const THREAD_ALL_ACCESS: THREAD_ACCESS_RIGHTS = THREAD_ACCESS_RIGHTS(2097151u32);
3283pub const THREAD_CREATE_RUN_IMMEDIATELY: THREAD_CREATION_FLAGS = THREAD_CREATION_FLAGS(0u32);
3284pub const THREAD_CREATE_SUSPENDED: THREAD_CREATION_FLAGS = THREAD_CREATION_FLAGS(4u32);
3285pub const THREAD_DELETE: THREAD_ACCESS_RIGHTS = THREAD_ACCESS_RIGHTS(65536u32);
3286pub const THREAD_DIRECT_IMPERSONATION: THREAD_ACCESS_RIGHTS = THREAD_ACCESS_RIGHTS(512u32);
3287pub const THREAD_GET_CONTEXT: THREAD_ACCESS_RIGHTS = THREAD_ACCESS_RIGHTS(8u32);
3288pub const THREAD_IMPERSONATE: THREAD_ACCESS_RIGHTS = THREAD_ACCESS_RIGHTS(256u32);
3289pub const THREAD_MODE_BACKGROUND_BEGIN: THREAD_PRIORITY = THREAD_PRIORITY(65536i32);
3290pub const THREAD_MODE_BACKGROUND_END: THREAD_PRIORITY = THREAD_PRIORITY(131072i32);
3291pub const THREAD_POWER_THROTTLING_CURRENT_VERSION: u32 = 1u32;
3292pub const THREAD_POWER_THROTTLING_EXECUTION_SPEED: u32 = 1u32;
3293pub const THREAD_POWER_THROTTLING_VALID_FLAGS: u32 = 1u32;
3294pub const THREAD_PRIORITY_ABOVE_NORMAL: THREAD_PRIORITY = THREAD_PRIORITY(1i32);
3295pub const THREAD_PRIORITY_BELOW_NORMAL: THREAD_PRIORITY = THREAD_PRIORITY(-1i32);
3296pub const THREAD_PRIORITY_HIGHEST: THREAD_PRIORITY = THREAD_PRIORITY(2i32);
3297pub const THREAD_PRIORITY_IDLE: THREAD_PRIORITY = THREAD_PRIORITY(-15i32);
3298pub const THREAD_PRIORITY_LOWEST: THREAD_PRIORITY = THREAD_PRIORITY(-2i32);
3299pub const THREAD_PRIORITY_MIN: THREAD_PRIORITY = THREAD_PRIORITY(-2i32);
3300pub const THREAD_PRIORITY_NORMAL: THREAD_PRIORITY = THREAD_PRIORITY(0i32);
3301pub const THREAD_PRIORITY_TIME_CRITICAL: THREAD_PRIORITY = THREAD_PRIORITY(15i32);
3302pub const THREAD_QUERY_INFORMATION: THREAD_ACCESS_RIGHTS = THREAD_ACCESS_RIGHTS(64u32);
3303pub const THREAD_QUERY_LIMITED_INFORMATION: THREAD_ACCESS_RIGHTS = THREAD_ACCESS_RIGHTS(2048u32);
3304pub const THREAD_READ_CONTROL: THREAD_ACCESS_RIGHTS = THREAD_ACCESS_RIGHTS(131072u32);
3305pub const THREAD_RESUME: THREAD_ACCESS_RIGHTS = THREAD_ACCESS_RIGHTS(4096u32);
3306pub const THREAD_SET_CONTEXT: THREAD_ACCESS_RIGHTS = THREAD_ACCESS_RIGHTS(16u32);
3307pub const THREAD_SET_INFORMATION: THREAD_ACCESS_RIGHTS = THREAD_ACCESS_RIGHTS(32u32);
3308pub const THREAD_SET_LIMITED_INFORMATION: THREAD_ACCESS_RIGHTS = THREAD_ACCESS_RIGHTS(1024u32);
3309pub const THREAD_SET_THREAD_TOKEN: THREAD_ACCESS_RIGHTS = THREAD_ACCESS_RIGHTS(128u32);
3310pub const THREAD_STANDARD_RIGHTS_REQUIRED: THREAD_ACCESS_RIGHTS = THREAD_ACCESS_RIGHTS(983040u32);
3311pub const THREAD_SUSPEND_RESUME: THREAD_ACCESS_RIGHTS = THREAD_ACCESS_RIGHTS(2u32);
3312pub const THREAD_SYNCHRONIZE: THREAD_ACCESS_RIGHTS = THREAD_ACCESS_RIGHTS(1048576u32);
3313pub const THREAD_TERMINATE: THREAD_ACCESS_RIGHTS = THREAD_ACCESS_RIGHTS(1u32);
3314pub const THREAD_WRITE_DAC: THREAD_ACCESS_RIGHTS = THREAD_ACCESS_RIGHTS(262144u32);
3315pub const THREAD_WRITE_OWNER: THREAD_ACCESS_RIGHTS = THREAD_ACCESS_RIGHTS(524288u32);
3316pub const TIMER_ALL_ACCESS: SYNCHRONIZATION_ACCESS_RIGHTS = SYNCHRONIZATION_ACCESS_RIGHTS(2031619u32);
3317pub const TIMER_MODIFY_STATE: SYNCHRONIZATION_ACCESS_RIGHTS = SYNCHRONIZATION_ACCESS_RIGHTS(2u32);
3318pub const TIMER_QUERY_STATE: SYNCHRONIZATION_ACCESS_RIGHTS = SYNCHRONIZATION_ACCESS_RIGHTS(1u32);
3319pub const TLS_OUT_OF_INDEXES: u32 = 4294967295u32;
3320pub const TP_CALLBACK_PRIORITY_COUNT: TP_CALLBACK_PRIORITY = TP_CALLBACK_PRIORITY(3i32);
3321pub const TP_CALLBACK_PRIORITY_HIGH: TP_CALLBACK_PRIORITY = TP_CALLBACK_PRIORITY(0i32);
3322pub const TP_CALLBACK_PRIORITY_INVALID: TP_CALLBACK_PRIORITY = TP_CALLBACK_PRIORITY(3i32);
3323pub const TP_CALLBACK_PRIORITY_LOW: TP_CALLBACK_PRIORITY = TP_CALLBACK_PRIORITY(2i32);
3324pub const TP_CALLBACK_PRIORITY_NORMAL: TP_CALLBACK_PRIORITY = TP_CALLBACK_PRIORITY(1i32);
3325pub const ThreadAbsoluteCpuPriority: THREAD_INFORMATION_CLASS = THREAD_INFORMATION_CLASS(1i32);
3326pub const ThreadDynamicCodePolicy: THREAD_INFORMATION_CLASS = THREAD_INFORMATION_CLASS(2i32);
3327pub const ThreadInformationClassMax: THREAD_INFORMATION_CLASS = THREAD_INFORMATION_CLASS(4i32);
3328pub const ThreadMemoryPriority: THREAD_INFORMATION_CLASS = THREAD_INFORMATION_CLASS(0i32);
3329pub const ThreadPowerThrottling: THREAD_INFORMATION_CLASS = THREAD_INFORMATION_CLASS(3i32);
3330pub const UmsThreadAffinity: UMS_THREAD_INFO_CLASS = UMS_THREAD_INFO_CLASS(3i32);
3331pub const UmsThreadInvalidInfoClass: UMS_THREAD_INFO_CLASS = UMS_THREAD_INFO_CLASS(0i32);
3332pub const UmsThreadIsSuspended: UMS_THREAD_INFO_CLASS = UMS_THREAD_INFO_CLASS(5i32);
3333pub const UmsThreadIsTerminated: UMS_THREAD_INFO_CLASS = UMS_THREAD_INFO_CLASS(6i32);
3334pub const UmsThreadMaxInfoClass: UMS_THREAD_INFO_CLASS = UMS_THREAD_INFO_CLASS(7i32);
3335pub const UmsThreadPriority: UMS_THREAD_INFO_CLASS = UMS_THREAD_INFO_CLASS(2i32);
3336pub const UmsThreadTeb: UMS_THREAD_INFO_CLASS = UMS_THREAD_INFO_CLASS(4i32);
3337pub const UmsThreadUserContext: UMS_THREAD_INFO_CLASS = UMS_THREAD_INFO_CLASS(1i32);
3338pub const UserEnabled: MACHINE_ATTRIBUTES = MACHINE_ATTRIBUTES(1i32);
3339pub const WT_EXECUTEDEFAULT: WORKER_THREAD_FLAGS = WORKER_THREAD_FLAGS(0u32);
3340pub const WT_EXECUTEINIOTHREAD: WORKER_THREAD_FLAGS = WORKER_THREAD_FLAGS(1u32);
3341pub const WT_EXECUTEINPERSISTENTTHREAD: WORKER_THREAD_FLAGS = WORKER_THREAD_FLAGS(128u32);
3342pub const WT_EXECUTEINTIMERTHREAD: WORKER_THREAD_FLAGS = WORKER_THREAD_FLAGS(32u32);
3343pub const WT_EXECUTEINWAITTHREAD: WORKER_THREAD_FLAGS = WORKER_THREAD_FLAGS(4u32);
3344pub const WT_EXECUTELONGFUNCTION: WORKER_THREAD_FLAGS = WORKER_THREAD_FLAGS(16u32);
3345pub const WT_EXECUTEONLYONCE: WORKER_THREAD_FLAGS = WORKER_THREAD_FLAGS(8u32);
3346pub const WT_TRANSFER_IMPERSONATION: WORKER_THREAD_FLAGS = WORKER_THREAD_FLAGS(256u32);
3347pub const Wow64Container: MACHINE_ATTRIBUTES = MACHINE_ATTRIBUTES(4i32);
3348#[repr(transparent)]
3349#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3350pub struct AVRT_PRIORITY(pub i32);
3351impl ::core::marker::Copy for AVRT_PRIORITY {}
3352impl ::core::clone::Clone for AVRT_PRIORITY {
3353 fn clone(&self) -> Self {
3354 *self
3355 }
3356}
3357impl ::core::default::Default for AVRT_PRIORITY {
3358 fn default() -> Self {
3359 Self(0)
3360 }
3361}
3362impl ::windows_core::TypeKind for AVRT_PRIORITY {
3363 type TypeKind = ::windows_core::CopyType;
3364}
3365impl ::core::fmt::Debug for AVRT_PRIORITY {
3366 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3367 f.debug_tuple(name:"AVRT_PRIORITY").field(&self.0).finish()
3368 }
3369}
3370#[repr(transparent)]
3371#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3372pub struct CREATE_EVENT(pub u32);
3373impl ::core::marker::Copy for CREATE_EVENT {}
3374impl ::core::clone::Clone for CREATE_EVENT {
3375 fn clone(&self) -> Self {
3376 *self
3377 }
3378}
3379impl ::core::default::Default for CREATE_EVENT {
3380 fn default() -> Self {
3381 Self(0)
3382 }
3383}
3384impl ::windows_core::TypeKind for CREATE_EVENT {
3385 type TypeKind = ::windows_core::CopyType;
3386}
3387impl ::core::fmt::Debug for CREATE_EVENT {
3388 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3389 f.debug_tuple(name:"CREATE_EVENT").field(&self.0).finish()
3390 }
3391}
3392impl CREATE_EVENT {
3393 pub const fn contains(&self, other: Self) -> bool {
3394 self.0 & other.0 == other.0
3395 }
3396}
3397impl ::core::ops::BitOr for CREATE_EVENT {
3398 type Output = Self;
3399 fn bitor(self, other: Self) -> Self {
3400 Self(self.0 | other.0)
3401 }
3402}
3403impl ::core::ops::BitAnd for CREATE_EVENT {
3404 type Output = Self;
3405 fn bitand(self, other: Self) -> Self {
3406 Self(self.0 & other.0)
3407 }
3408}
3409impl ::core::ops::BitOrAssign for CREATE_EVENT {
3410 fn bitor_assign(&mut self, other: Self) {
3411 self.0.bitor_assign(other.0)
3412 }
3413}
3414impl ::core::ops::BitAndAssign for CREATE_EVENT {
3415 fn bitand_assign(&mut self, other: Self) {
3416 self.0.bitand_assign(other.0)
3417 }
3418}
3419impl ::core::ops::Not for CREATE_EVENT {
3420 type Output = Self;
3421 fn not(self) -> Self {
3422 Self(self.0.not())
3423 }
3424}
3425#[repr(transparent)]
3426#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3427pub struct CREATE_PROCESS_LOGON_FLAGS(pub u32);
3428impl ::core::marker::Copy for CREATE_PROCESS_LOGON_FLAGS {}
3429impl ::core::clone::Clone for CREATE_PROCESS_LOGON_FLAGS {
3430 fn clone(&self) -> Self {
3431 *self
3432 }
3433}
3434impl ::core::default::Default for CREATE_PROCESS_LOGON_FLAGS {
3435 fn default() -> Self {
3436 Self(0)
3437 }
3438}
3439impl ::windows_core::TypeKind for CREATE_PROCESS_LOGON_FLAGS {
3440 type TypeKind = ::windows_core::CopyType;
3441}
3442impl ::core::fmt::Debug for CREATE_PROCESS_LOGON_FLAGS {
3443 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3444 f.debug_tuple(name:"CREATE_PROCESS_LOGON_FLAGS").field(&self.0).finish()
3445 }
3446}
3447#[repr(transparent)]
3448#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3449pub struct GET_GUI_RESOURCES_FLAGS(pub u32);
3450impl ::core::marker::Copy for GET_GUI_RESOURCES_FLAGS {}
3451impl ::core::clone::Clone for GET_GUI_RESOURCES_FLAGS {
3452 fn clone(&self) -> Self {
3453 *self
3454 }
3455}
3456impl ::core::default::Default for GET_GUI_RESOURCES_FLAGS {
3457 fn default() -> Self {
3458 Self(0)
3459 }
3460}
3461impl ::windows_core::TypeKind for GET_GUI_RESOURCES_FLAGS {
3462 type TypeKind = ::windows_core::CopyType;
3463}
3464impl ::core::fmt::Debug for GET_GUI_RESOURCES_FLAGS {
3465 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3466 f.debug_tuple(name:"GET_GUI_RESOURCES_FLAGS").field(&self.0).finish()
3467 }
3468}
3469#[repr(transparent)]
3470#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3471pub struct MACHINE_ATTRIBUTES(pub i32);
3472impl ::core::marker::Copy for MACHINE_ATTRIBUTES {}
3473impl ::core::clone::Clone for MACHINE_ATTRIBUTES {
3474 fn clone(&self) -> Self {
3475 *self
3476 }
3477}
3478impl ::core::default::Default for MACHINE_ATTRIBUTES {
3479 fn default() -> Self {
3480 Self(0)
3481 }
3482}
3483impl ::windows_core::TypeKind for MACHINE_ATTRIBUTES {
3484 type TypeKind = ::windows_core::CopyType;
3485}
3486impl ::core::fmt::Debug for MACHINE_ATTRIBUTES {
3487 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3488 f.debug_tuple(name:"MACHINE_ATTRIBUTES").field(&self.0).finish()
3489 }
3490}
3491impl MACHINE_ATTRIBUTES {
3492 pub const fn contains(&self, other: Self) -> bool {
3493 self.0 & other.0 == other.0
3494 }
3495}
3496impl ::core::ops::BitOr for MACHINE_ATTRIBUTES {
3497 type Output = Self;
3498 fn bitor(self, other: Self) -> Self {
3499 Self(self.0 | other.0)
3500 }
3501}
3502impl ::core::ops::BitAnd for MACHINE_ATTRIBUTES {
3503 type Output = Self;
3504 fn bitand(self, other: Self) -> Self {
3505 Self(self.0 & other.0)
3506 }
3507}
3508impl ::core::ops::BitOrAssign for MACHINE_ATTRIBUTES {
3509 fn bitor_assign(&mut self, other: Self) {
3510 self.0.bitor_assign(other.0)
3511 }
3512}
3513impl ::core::ops::BitAndAssign for MACHINE_ATTRIBUTES {
3514 fn bitand_assign(&mut self, other: Self) {
3515 self.0.bitand_assign(other.0)
3516 }
3517}
3518impl ::core::ops::Not for MACHINE_ATTRIBUTES {
3519 type Output = Self;
3520 fn not(self) -> Self {
3521 Self(self.0.not())
3522 }
3523}
3524#[repr(transparent)]
3525#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3526pub struct MEMORY_PRIORITY(pub u32);
3527impl ::core::marker::Copy for MEMORY_PRIORITY {}
3528impl ::core::clone::Clone for MEMORY_PRIORITY {
3529 fn clone(&self) -> Self {
3530 *self
3531 }
3532}
3533impl ::core::default::Default for MEMORY_PRIORITY {
3534 fn default() -> Self {
3535 Self(0)
3536 }
3537}
3538impl ::windows_core::TypeKind for MEMORY_PRIORITY {
3539 type TypeKind = ::windows_core::CopyType;
3540}
3541impl ::core::fmt::Debug for MEMORY_PRIORITY {
3542 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3543 f.debug_tuple(name:"MEMORY_PRIORITY").field(&self.0).finish()
3544 }
3545}
3546#[repr(transparent)]
3547#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3548pub struct POWER_REQUEST_CONTEXT_FLAGS(pub u32);
3549impl ::core::marker::Copy for POWER_REQUEST_CONTEXT_FLAGS {}
3550impl ::core::clone::Clone for POWER_REQUEST_CONTEXT_FLAGS {
3551 fn clone(&self) -> Self {
3552 *self
3553 }
3554}
3555impl ::core::default::Default for POWER_REQUEST_CONTEXT_FLAGS {
3556 fn default() -> Self {
3557 Self(0)
3558 }
3559}
3560impl ::windows_core::TypeKind for POWER_REQUEST_CONTEXT_FLAGS {
3561 type TypeKind = ::windows_core::CopyType;
3562}
3563impl ::core::fmt::Debug for POWER_REQUEST_CONTEXT_FLAGS {
3564 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3565 f.debug_tuple(name:"POWER_REQUEST_CONTEXT_FLAGS").field(&self.0).finish()
3566 }
3567}
3568#[repr(transparent)]
3569#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3570pub struct PROCESSOR_FEATURE_ID(pub u32);
3571impl ::core::marker::Copy for PROCESSOR_FEATURE_ID {}
3572impl ::core::clone::Clone for PROCESSOR_FEATURE_ID {
3573 fn clone(&self) -> Self {
3574 *self
3575 }
3576}
3577impl ::core::default::Default for PROCESSOR_FEATURE_ID {
3578 fn default() -> Self {
3579 Self(0)
3580 }
3581}
3582impl ::windows_core::TypeKind for PROCESSOR_FEATURE_ID {
3583 type TypeKind = ::windows_core::CopyType;
3584}
3585impl ::core::fmt::Debug for PROCESSOR_FEATURE_ID {
3586 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3587 f.debug_tuple(name:"PROCESSOR_FEATURE_ID").field(&self.0).finish()
3588 }
3589}
3590#[repr(transparent)]
3591#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3592pub struct PROCESS_ACCESS_RIGHTS(pub u32);
3593impl ::core::marker::Copy for PROCESS_ACCESS_RIGHTS {}
3594impl ::core::clone::Clone for PROCESS_ACCESS_RIGHTS {
3595 fn clone(&self) -> Self {
3596 *self
3597 }
3598}
3599impl ::core::default::Default for PROCESS_ACCESS_RIGHTS {
3600 fn default() -> Self {
3601 Self(0)
3602 }
3603}
3604impl ::windows_core::TypeKind for PROCESS_ACCESS_RIGHTS {
3605 type TypeKind = ::windows_core::CopyType;
3606}
3607impl ::core::fmt::Debug for PROCESS_ACCESS_RIGHTS {
3608 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3609 f.debug_tuple(name:"PROCESS_ACCESS_RIGHTS").field(&self.0).finish()
3610 }
3611}
3612impl PROCESS_ACCESS_RIGHTS {
3613 pub const fn contains(&self, other: Self) -> bool {
3614 self.0 & other.0 == other.0
3615 }
3616}
3617impl ::core::ops::BitOr for PROCESS_ACCESS_RIGHTS {
3618 type Output = Self;
3619 fn bitor(self, other: Self) -> Self {
3620 Self(self.0 | other.0)
3621 }
3622}
3623impl ::core::ops::BitAnd for PROCESS_ACCESS_RIGHTS {
3624 type Output = Self;
3625 fn bitand(self, other: Self) -> Self {
3626 Self(self.0 & other.0)
3627 }
3628}
3629impl ::core::ops::BitOrAssign for PROCESS_ACCESS_RIGHTS {
3630 fn bitor_assign(&mut self, other: Self) {
3631 self.0.bitor_assign(other.0)
3632 }
3633}
3634impl ::core::ops::BitAndAssign for PROCESS_ACCESS_RIGHTS {
3635 fn bitand_assign(&mut self, other: Self) {
3636 self.0.bitand_assign(other.0)
3637 }
3638}
3639impl ::core::ops::Not for PROCESS_ACCESS_RIGHTS {
3640 type Output = Self;
3641 fn not(self) -> Self {
3642 Self(self.0.not())
3643 }
3644}
3645#[repr(transparent)]
3646#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3647pub struct PROCESS_AFFINITY_AUTO_UPDATE_FLAGS(pub u32);
3648impl ::core::marker::Copy for PROCESS_AFFINITY_AUTO_UPDATE_FLAGS {}
3649impl ::core::clone::Clone for PROCESS_AFFINITY_AUTO_UPDATE_FLAGS {
3650 fn clone(&self) -> Self {
3651 *self
3652 }
3653}
3654impl ::core::default::Default for PROCESS_AFFINITY_AUTO_UPDATE_FLAGS {
3655 fn default() -> Self {
3656 Self(0)
3657 }
3658}
3659impl ::windows_core::TypeKind for PROCESS_AFFINITY_AUTO_UPDATE_FLAGS {
3660 type TypeKind = ::windows_core::CopyType;
3661}
3662impl ::core::fmt::Debug for PROCESS_AFFINITY_AUTO_UPDATE_FLAGS {
3663 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3664 f.debug_tuple(name:"PROCESS_AFFINITY_AUTO_UPDATE_FLAGS").field(&self.0).finish()
3665 }
3666}
3667#[repr(transparent)]
3668#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3669pub struct PROCESS_CREATION_FLAGS(pub u32);
3670impl ::core::marker::Copy for PROCESS_CREATION_FLAGS {}
3671impl ::core::clone::Clone for PROCESS_CREATION_FLAGS {
3672 fn clone(&self) -> Self {
3673 *self
3674 }
3675}
3676impl ::core::default::Default for PROCESS_CREATION_FLAGS {
3677 fn default() -> Self {
3678 Self(0)
3679 }
3680}
3681impl ::windows_core::TypeKind for PROCESS_CREATION_FLAGS {
3682 type TypeKind = ::windows_core::CopyType;
3683}
3684impl ::core::fmt::Debug for PROCESS_CREATION_FLAGS {
3685 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3686 f.debug_tuple(name:"PROCESS_CREATION_FLAGS").field(&self.0).finish()
3687 }
3688}
3689impl PROCESS_CREATION_FLAGS {
3690 pub const fn contains(&self, other: Self) -> bool {
3691 self.0 & other.0 == other.0
3692 }
3693}
3694impl ::core::ops::BitOr for PROCESS_CREATION_FLAGS {
3695 type Output = Self;
3696 fn bitor(self, other: Self) -> Self {
3697 Self(self.0 | other.0)
3698 }
3699}
3700impl ::core::ops::BitAnd for PROCESS_CREATION_FLAGS {
3701 type Output = Self;
3702 fn bitand(self, other: Self) -> Self {
3703 Self(self.0 & other.0)
3704 }
3705}
3706impl ::core::ops::BitOrAssign for PROCESS_CREATION_FLAGS {
3707 fn bitor_assign(&mut self, other: Self) {
3708 self.0.bitor_assign(other.0)
3709 }
3710}
3711impl ::core::ops::BitAndAssign for PROCESS_CREATION_FLAGS {
3712 fn bitand_assign(&mut self, other: Self) {
3713 self.0.bitand_assign(other.0)
3714 }
3715}
3716impl ::core::ops::Not for PROCESS_CREATION_FLAGS {
3717 type Output = Self;
3718 fn not(self) -> Self {
3719 Self(self.0.not())
3720 }
3721}
3722#[repr(transparent)]
3723#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3724pub struct PROCESS_DEP_FLAGS(pub u32);
3725impl ::core::marker::Copy for PROCESS_DEP_FLAGS {}
3726impl ::core::clone::Clone for PROCESS_DEP_FLAGS {
3727 fn clone(&self) -> Self {
3728 *self
3729 }
3730}
3731impl ::core::default::Default for PROCESS_DEP_FLAGS {
3732 fn default() -> Self {
3733 Self(0)
3734 }
3735}
3736impl ::windows_core::TypeKind for PROCESS_DEP_FLAGS {
3737 type TypeKind = ::windows_core::CopyType;
3738}
3739impl ::core::fmt::Debug for PROCESS_DEP_FLAGS {
3740 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3741 f.debug_tuple(name:"PROCESS_DEP_FLAGS").field(&self.0).finish()
3742 }
3743}
3744impl PROCESS_DEP_FLAGS {
3745 pub const fn contains(&self, other: Self) -> bool {
3746 self.0 & other.0 == other.0
3747 }
3748}
3749impl ::core::ops::BitOr for PROCESS_DEP_FLAGS {
3750 type Output = Self;
3751 fn bitor(self, other: Self) -> Self {
3752 Self(self.0 | other.0)
3753 }
3754}
3755impl ::core::ops::BitAnd for PROCESS_DEP_FLAGS {
3756 type Output = Self;
3757 fn bitand(self, other: Self) -> Self {
3758 Self(self.0 & other.0)
3759 }
3760}
3761impl ::core::ops::BitOrAssign for PROCESS_DEP_FLAGS {
3762 fn bitor_assign(&mut self, other: Self) {
3763 self.0.bitor_assign(other.0)
3764 }
3765}
3766impl ::core::ops::BitAndAssign for PROCESS_DEP_FLAGS {
3767 fn bitand_assign(&mut self, other: Self) {
3768 self.0.bitand_assign(other.0)
3769 }
3770}
3771impl ::core::ops::Not for PROCESS_DEP_FLAGS {
3772 type Output = Self;
3773 fn not(self) -> Self {
3774 Self(self.0.not())
3775 }
3776}
3777#[repr(transparent)]
3778#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3779pub struct PROCESS_INFORMATION_CLASS(pub i32);
3780impl ::core::marker::Copy for PROCESS_INFORMATION_CLASS {}
3781impl ::core::clone::Clone for PROCESS_INFORMATION_CLASS {
3782 fn clone(&self) -> Self {
3783 *self
3784 }
3785}
3786impl ::core::default::Default for PROCESS_INFORMATION_CLASS {
3787 fn default() -> Self {
3788 Self(0)
3789 }
3790}
3791impl ::windows_core::TypeKind for PROCESS_INFORMATION_CLASS {
3792 type TypeKind = ::windows_core::CopyType;
3793}
3794impl ::core::fmt::Debug for PROCESS_INFORMATION_CLASS {
3795 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3796 f.debug_tuple(name:"PROCESS_INFORMATION_CLASS").field(&self.0).finish()
3797 }
3798}
3799#[repr(transparent)]
3800#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3801pub struct PROCESS_MEMORY_EXHAUSTION_TYPE(pub i32);
3802impl ::core::marker::Copy for PROCESS_MEMORY_EXHAUSTION_TYPE {}
3803impl ::core::clone::Clone for PROCESS_MEMORY_EXHAUSTION_TYPE {
3804 fn clone(&self) -> Self {
3805 *self
3806 }
3807}
3808impl ::core::default::Default for PROCESS_MEMORY_EXHAUSTION_TYPE {
3809 fn default() -> Self {
3810 Self(0)
3811 }
3812}
3813impl ::windows_core::TypeKind for PROCESS_MEMORY_EXHAUSTION_TYPE {
3814 type TypeKind = ::windows_core::CopyType;
3815}
3816impl ::core::fmt::Debug for PROCESS_MEMORY_EXHAUSTION_TYPE {
3817 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3818 f.debug_tuple(name:"PROCESS_MEMORY_EXHAUSTION_TYPE").field(&self.0).finish()
3819 }
3820}
3821#[repr(transparent)]
3822#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3823pub struct PROCESS_MITIGATION_POLICY(pub i32);
3824impl ::core::marker::Copy for PROCESS_MITIGATION_POLICY {}
3825impl ::core::clone::Clone for PROCESS_MITIGATION_POLICY {
3826 fn clone(&self) -> Self {
3827 *self
3828 }
3829}
3830impl ::core::default::Default for PROCESS_MITIGATION_POLICY {
3831 fn default() -> Self {
3832 Self(0)
3833 }
3834}
3835impl ::windows_core::TypeKind for PROCESS_MITIGATION_POLICY {
3836 type TypeKind = ::windows_core::CopyType;
3837}
3838impl ::core::fmt::Debug for PROCESS_MITIGATION_POLICY {
3839 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3840 f.debug_tuple(name:"PROCESS_MITIGATION_POLICY").field(&self.0).finish()
3841 }
3842}
3843#[repr(transparent)]
3844#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3845pub struct PROCESS_NAME_FORMAT(pub u32);
3846impl ::core::marker::Copy for PROCESS_NAME_FORMAT {}
3847impl ::core::clone::Clone for PROCESS_NAME_FORMAT {
3848 fn clone(&self) -> Self {
3849 *self
3850 }
3851}
3852impl ::core::default::Default for PROCESS_NAME_FORMAT {
3853 fn default() -> Self {
3854 Self(0)
3855 }
3856}
3857impl ::windows_core::TypeKind for PROCESS_NAME_FORMAT {
3858 type TypeKind = ::windows_core::CopyType;
3859}
3860impl ::core::fmt::Debug for PROCESS_NAME_FORMAT {
3861 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3862 f.debug_tuple(name:"PROCESS_NAME_FORMAT").field(&self.0).finish()
3863 }
3864}
3865#[repr(transparent)]
3866#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3867pub struct PROCESS_PROTECTION_LEVEL(pub u32);
3868impl ::core::marker::Copy for PROCESS_PROTECTION_LEVEL {}
3869impl ::core::clone::Clone for PROCESS_PROTECTION_LEVEL {
3870 fn clone(&self) -> Self {
3871 *self
3872 }
3873}
3874impl ::core::default::Default for PROCESS_PROTECTION_LEVEL {
3875 fn default() -> Self {
3876 Self(0)
3877 }
3878}
3879impl ::windows_core::TypeKind for PROCESS_PROTECTION_LEVEL {
3880 type TypeKind = ::windows_core::CopyType;
3881}
3882impl ::core::fmt::Debug for PROCESS_PROTECTION_LEVEL {
3883 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3884 f.debug_tuple(name:"PROCESS_PROTECTION_LEVEL").field(&self.0).finish()
3885 }
3886}
3887#[repr(transparent)]
3888#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3889pub struct PROC_THREAD_ATTRIBUTE_NUM(pub u32);
3890impl ::core::marker::Copy for PROC_THREAD_ATTRIBUTE_NUM {}
3891impl ::core::clone::Clone for PROC_THREAD_ATTRIBUTE_NUM {
3892 fn clone(&self) -> Self {
3893 *self
3894 }
3895}
3896impl ::core::default::Default for PROC_THREAD_ATTRIBUTE_NUM {
3897 fn default() -> Self {
3898 Self(0)
3899 }
3900}
3901impl ::windows_core::TypeKind for PROC_THREAD_ATTRIBUTE_NUM {
3902 type TypeKind = ::windows_core::CopyType;
3903}
3904impl ::core::fmt::Debug for PROC_THREAD_ATTRIBUTE_NUM {
3905 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3906 f.debug_tuple(name:"PROC_THREAD_ATTRIBUTE_NUM").field(&self.0).finish()
3907 }
3908}
3909#[repr(transparent)]
3910#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3911pub struct QUEUE_USER_APC_FLAGS(pub i32);
3912impl ::core::marker::Copy for QUEUE_USER_APC_FLAGS {}
3913impl ::core::clone::Clone for QUEUE_USER_APC_FLAGS {
3914 fn clone(&self) -> Self {
3915 *self
3916 }
3917}
3918impl ::core::default::Default for QUEUE_USER_APC_FLAGS {
3919 fn default() -> Self {
3920 Self(0)
3921 }
3922}
3923impl ::windows_core::TypeKind for QUEUE_USER_APC_FLAGS {
3924 type TypeKind = ::windows_core::CopyType;
3925}
3926impl ::core::fmt::Debug for QUEUE_USER_APC_FLAGS {
3927 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3928 f.debug_tuple(name:"QUEUE_USER_APC_FLAGS").field(&self.0).finish()
3929 }
3930}
3931#[repr(transparent)]
3932#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3933pub struct RTWQ_WORKQUEUE_TYPE(pub i32);
3934impl ::core::marker::Copy for RTWQ_WORKQUEUE_TYPE {}
3935impl ::core::clone::Clone for RTWQ_WORKQUEUE_TYPE {
3936 fn clone(&self) -> Self {
3937 *self
3938 }
3939}
3940impl ::core::default::Default for RTWQ_WORKQUEUE_TYPE {
3941 fn default() -> Self {
3942 Self(0)
3943 }
3944}
3945impl ::windows_core::TypeKind for RTWQ_WORKQUEUE_TYPE {
3946 type TypeKind = ::windows_core::CopyType;
3947}
3948impl ::core::fmt::Debug for RTWQ_WORKQUEUE_TYPE {
3949 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3950 f.debug_tuple(name:"RTWQ_WORKQUEUE_TYPE").field(&self.0).finish()
3951 }
3952}
3953#[repr(transparent)]
3954#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3955pub struct STARTUPINFOW_FLAGS(pub u32);
3956impl ::core::marker::Copy for STARTUPINFOW_FLAGS {}
3957impl ::core::clone::Clone for STARTUPINFOW_FLAGS {
3958 fn clone(&self) -> Self {
3959 *self
3960 }
3961}
3962impl ::core::default::Default for STARTUPINFOW_FLAGS {
3963 fn default() -> Self {
3964 Self(0)
3965 }
3966}
3967impl ::windows_core::TypeKind for STARTUPINFOW_FLAGS {
3968 type TypeKind = ::windows_core::CopyType;
3969}
3970impl ::core::fmt::Debug for STARTUPINFOW_FLAGS {
3971 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3972 f.debug_tuple(name:"STARTUPINFOW_FLAGS").field(&self.0).finish()
3973 }
3974}
3975impl STARTUPINFOW_FLAGS {
3976 pub const fn contains(&self, other: Self) -> bool {
3977 self.0 & other.0 == other.0
3978 }
3979}
3980impl ::core::ops::BitOr for STARTUPINFOW_FLAGS {
3981 type Output = Self;
3982 fn bitor(self, other: Self) -> Self {
3983 Self(self.0 | other.0)
3984 }
3985}
3986impl ::core::ops::BitAnd for STARTUPINFOW_FLAGS {
3987 type Output = Self;
3988 fn bitand(self, other: Self) -> Self {
3989 Self(self.0 & other.0)
3990 }
3991}
3992impl ::core::ops::BitOrAssign for STARTUPINFOW_FLAGS {
3993 fn bitor_assign(&mut self, other: Self) {
3994 self.0.bitor_assign(other.0)
3995 }
3996}
3997impl ::core::ops::BitAndAssign for STARTUPINFOW_FLAGS {
3998 fn bitand_assign(&mut self, other: Self) {
3999 self.0.bitand_assign(other.0)
4000 }
4001}
4002impl ::core::ops::Not for STARTUPINFOW_FLAGS {
4003 type Output = Self;
4004 fn not(self) -> Self {
4005 Self(self.0.not())
4006 }
4007}
4008#[repr(transparent)]
4009#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
4010pub struct SYNCHRONIZATION_ACCESS_RIGHTS(pub u32);
4011impl ::core::marker::Copy for SYNCHRONIZATION_ACCESS_RIGHTS {}
4012impl ::core::clone::Clone for SYNCHRONIZATION_ACCESS_RIGHTS {
4013 fn clone(&self) -> Self {
4014 *self
4015 }
4016}
4017impl ::core::default::Default for SYNCHRONIZATION_ACCESS_RIGHTS {
4018 fn default() -> Self {
4019 Self(0)
4020 }
4021}
4022impl ::windows_core::TypeKind for SYNCHRONIZATION_ACCESS_RIGHTS {
4023 type TypeKind = ::windows_core::CopyType;
4024}
4025impl ::core::fmt::Debug for SYNCHRONIZATION_ACCESS_RIGHTS {
4026 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4027 f.debug_tuple(name:"SYNCHRONIZATION_ACCESS_RIGHTS").field(&self.0).finish()
4028 }
4029}
4030impl SYNCHRONIZATION_ACCESS_RIGHTS {
4031 pub const fn contains(&self, other: Self) -> bool {
4032 self.0 & other.0 == other.0
4033 }
4034}
4035impl ::core::ops::BitOr for SYNCHRONIZATION_ACCESS_RIGHTS {
4036 type Output = Self;
4037 fn bitor(self, other: Self) -> Self {
4038 Self(self.0 | other.0)
4039 }
4040}
4041impl ::core::ops::BitAnd for SYNCHRONIZATION_ACCESS_RIGHTS {
4042 type Output = Self;
4043 fn bitand(self, other: Self) -> Self {
4044 Self(self.0 & other.0)
4045 }
4046}
4047impl ::core::ops::BitOrAssign for SYNCHRONIZATION_ACCESS_RIGHTS {
4048 fn bitor_assign(&mut self, other: Self) {
4049 self.0.bitor_assign(other.0)
4050 }
4051}
4052impl ::core::ops::BitAndAssign for SYNCHRONIZATION_ACCESS_RIGHTS {
4053 fn bitand_assign(&mut self, other: Self) {
4054 self.0.bitand_assign(other.0)
4055 }
4056}
4057impl ::core::ops::Not for SYNCHRONIZATION_ACCESS_RIGHTS {
4058 type Output = Self;
4059 fn not(self) -> Self {
4060 Self(self.0.not())
4061 }
4062}
4063#[repr(transparent)]
4064#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
4065pub struct THREAD_ACCESS_RIGHTS(pub u32);
4066impl ::core::marker::Copy for THREAD_ACCESS_RIGHTS {}
4067impl ::core::clone::Clone for THREAD_ACCESS_RIGHTS {
4068 fn clone(&self) -> Self {
4069 *self
4070 }
4071}
4072impl ::core::default::Default for THREAD_ACCESS_RIGHTS {
4073 fn default() -> Self {
4074 Self(0)
4075 }
4076}
4077impl ::windows_core::TypeKind for THREAD_ACCESS_RIGHTS {
4078 type TypeKind = ::windows_core::CopyType;
4079}
4080impl ::core::fmt::Debug for THREAD_ACCESS_RIGHTS {
4081 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4082 f.debug_tuple(name:"THREAD_ACCESS_RIGHTS").field(&self.0).finish()
4083 }
4084}
4085impl THREAD_ACCESS_RIGHTS {
4086 pub const fn contains(&self, other: Self) -> bool {
4087 self.0 & other.0 == other.0
4088 }
4089}
4090impl ::core::ops::BitOr for THREAD_ACCESS_RIGHTS {
4091 type Output = Self;
4092 fn bitor(self, other: Self) -> Self {
4093 Self(self.0 | other.0)
4094 }
4095}
4096impl ::core::ops::BitAnd for THREAD_ACCESS_RIGHTS {
4097 type Output = Self;
4098 fn bitand(self, other: Self) -> Self {
4099 Self(self.0 & other.0)
4100 }
4101}
4102impl ::core::ops::BitOrAssign for THREAD_ACCESS_RIGHTS {
4103 fn bitor_assign(&mut self, other: Self) {
4104 self.0.bitor_assign(other.0)
4105 }
4106}
4107impl ::core::ops::BitAndAssign for THREAD_ACCESS_RIGHTS {
4108 fn bitand_assign(&mut self, other: Self) {
4109 self.0.bitand_assign(other.0)
4110 }
4111}
4112impl ::core::ops::Not for THREAD_ACCESS_RIGHTS {
4113 type Output = Self;
4114 fn not(self) -> Self {
4115 Self(self.0.not())
4116 }
4117}
4118#[repr(transparent)]
4119#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
4120pub struct THREAD_CREATION_FLAGS(pub u32);
4121impl ::core::marker::Copy for THREAD_CREATION_FLAGS {}
4122impl ::core::clone::Clone for THREAD_CREATION_FLAGS {
4123 fn clone(&self) -> Self {
4124 *self
4125 }
4126}
4127impl ::core::default::Default for THREAD_CREATION_FLAGS {
4128 fn default() -> Self {
4129 Self(0)
4130 }
4131}
4132impl ::windows_core::TypeKind for THREAD_CREATION_FLAGS {
4133 type TypeKind = ::windows_core::CopyType;
4134}
4135impl ::core::fmt::Debug for THREAD_CREATION_FLAGS {
4136 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4137 f.debug_tuple(name:"THREAD_CREATION_FLAGS").field(&self.0).finish()
4138 }
4139}
4140impl THREAD_CREATION_FLAGS {
4141 pub const fn contains(&self, other: Self) -> bool {
4142 self.0 & other.0 == other.0
4143 }
4144}
4145impl ::core::ops::BitOr for THREAD_CREATION_FLAGS {
4146 type Output = Self;
4147 fn bitor(self, other: Self) -> Self {
4148 Self(self.0 | other.0)
4149 }
4150}
4151impl ::core::ops::BitAnd for THREAD_CREATION_FLAGS {
4152 type Output = Self;
4153 fn bitand(self, other: Self) -> Self {
4154 Self(self.0 & other.0)
4155 }
4156}
4157impl ::core::ops::BitOrAssign for THREAD_CREATION_FLAGS {
4158 fn bitor_assign(&mut self, other: Self) {
4159 self.0.bitor_assign(other.0)
4160 }
4161}
4162impl ::core::ops::BitAndAssign for THREAD_CREATION_FLAGS {
4163 fn bitand_assign(&mut self, other: Self) {
4164 self.0.bitand_assign(other.0)
4165 }
4166}
4167impl ::core::ops::Not for THREAD_CREATION_FLAGS {
4168 type Output = Self;
4169 fn not(self) -> Self {
4170 Self(self.0.not())
4171 }
4172}
4173#[repr(transparent)]
4174#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
4175pub struct THREAD_INFORMATION_CLASS(pub i32);
4176impl ::core::marker::Copy for THREAD_INFORMATION_CLASS {}
4177impl ::core::clone::Clone for THREAD_INFORMATION_CLASS {
4178 fn clone(&self) -> Self {
4179 *self
4180 }
4181}
4182impl ::core::default::Default for THREAD_INFORMATION_CLASS {
4183 fn default() -> Self {
4184 Self(0)
4185 }
4186}
4187impl ::windows_core::TypeKind for THREAD_INFORMATION_CLASS {
4188 type TypeKind = ::windows_core::CopyType;
4189}
4190impl ::core::fmt::Debug for THREAD_INFORMATION_CLASS {
4191 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4192 f.debug_tuple(name:"THREAD_INFORMATION_CLASS").field(&self.0).finish()
4193 }
4194}
4195#[repr(transparent)]
4196#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
4197pub struct THREAD_PRIORITY(pub i32);
4198impl ::core::marker::Copy for THREAD_PRIORITY {}
4199impl ::core::clone::Clone for THREAD_PRIORITY {
4200 fn clone(&self) -> Self {
4201 *self
4202 }
4203}
4204impl ::core::default::Default for THREAD_PRIORITY {
4205 fn default() -> Self {
4206 Self(0)
4207 }
4208}
4209impl ::windows_core::TypeKind for THREAD_PRIORITY {
4210 type TypeKind = ::windows_core::CopyType;
4211}
4212impl ::core::fmt::Debug for THREAD_PRIORITY {
4213 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4214 f.debug_tuple(name:"THREAD_PRIORITY").field(&self.0).finish()
4215 }
4216}
4217#[repr(transparent)]
4218#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
4219pub struct TP_CALLBACK_PRIORITY(pub i32);
4220impl ::core::marker::Copy for TP_CALLBACK_PRIORITY {}
4221impl ::core::clone::Clone for TP_CALLBACK_PRIORITY {
4222 fn clone(&self) -> Self {
4223 *self
4224 }
4225}
4226impl ::core::default::Default for TP_CALLBACK_PRIORITY {
4227 fn default() -> Self {
4228 Self(0)
4229 }
4230}
4231impl ::windows_core::TypeKind for TP_CALLBACK_PRIORITY {
4232 type TypeKind = ::windows_core::CopyType;
4233}
4234impl ::core::fmt::Debug for TP_CALLBACK_PRIORITY {
4235 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4236 f.debug_tuple(name:"TP_CALLBACK_PRIORITY").field(&self.0).finish()
4237 }
4238}
4239#[repr(transparent)]
4240#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
4241pub struct UMS_THREAD_INFO_CLASS(pub i32);
4242impl ::core::marker::Copy for UMS_THREAD_INFO_CLASS {}
4243impl ::core::clone::Clone for UMS_THREAD_INFO_CLASS {
4244 fn clone(&self) -> Self {
4245 *self
4246 }
4247}
4248impl ::core::default::Default for UMS_THREAD_INFO_CLASS {
4249 fn default() -> Self {
4250 Self(0)
4251 }
4252}
4253impl ::windows_core::TypeKind for UMS_THREAD_INFO_CLASS {
4254 type TypeKind = ::windows_core::CopyType;
4255}
4256impl ::core::fmt::Debug for UMS_THREAD_INFO_CLASS {
4257 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4258 f.debug_tuple(name:"UMS_THREAD_INFO_CLASS").field(&self.0).finish()
4259 }
4260}
4261#[repr(transparent)]
4262#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
4263pub struct WORKER_THREAD_FLAGS(pub u32);
4264impl ::core::marker::Copy for WORKER_THREAD_FLAGS {}
4265impl ::core::clone::Clone for WORKER_THREAD_FLAGS {
4266 fn clone(&self) -> Self {
4267 *self
4268 }
4269}
4270impl ::core::default::Default for WORKER_THREAD_FLAGS {
4271 fn default() -> Self {
4272 Self(0)
4273 }
4274}
4275impl ::windows_core::TypeKind for WORKER_THREAD_FLAGS {
4276 type TypeKind = ::windows_core::CopyType;
4277}
4278impl ::core::fmt::Debug for WORKER_THREAD_FLAGS {
4279 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4280 f.debug_tuple(name:"WORKER_THREAD_FLAGS").field(&self.0).finish()
4281 }
4282}
4283impl WORKER_THREAD_FLAGS {
4284 pub const fn contains(&self, other: Self) -> bool {
4285 self.0 & other.0 == other.0
4286 }
4287}
4288impl ::core::ops::BitOr for WORKER_THREAD_FLAGS {
4289 type Output = Self;
4290 fn bitor(self, other: Self) -> Self {
4291 Self(self.0 | other.0)
4292 }
4293}
4294impl ::core::ops::BitAnd for WORKER_THREAD_FLAGS {
4295 type Output = Self;
4296 fn bitand(self, other: Self) -> Self {
4297 Self(self.0 & other.0)
4298 }
4299}
4300impl ::core::ops::BitOrAssign for WORKER_THREAD_FLAGS {
4301 fn bitor_assign(&mut self, other: Self) {
4302 self.0.bitor_assign(other.0)
4303 }
4304}
4305impl ::core::ops::BitAndAssign for WORKER_THREAD_FLAGS {
4306 fn bitand_assign(&mut self, other: Self) {
4307 self.0.bitand_assign(other.0)
4308 }
4309}
4310impl ::core::ops::Not for WORKER_THREAD_FLAGS {
4311 type Output = Self;
4312 fn not(self) -> Self {
4313 Self(self.0.not())
4314 }
4315}
4316#[repr(C)]
4317pub struct APP_MEMORY_INFORMATION {
4318 pub AvailableCommit: u64,
4319 pub PrivateCommitUsage: u64,
4320 pub PeakPrivateCommitUsage: u64,
4321 pub TotalCommitUsage: u64,
4322}
4323impl ::core::marker::Copy for APP_MEMORY_INFORMATION {}
4324impl ::core::clone::Clone for APP_MEMORY_INFORMATION {
4325 fn clone(&self) -> Self {
4326 *self
4327 }
4328}
4329impl ::core::fmt::Debug for APP_MEMORY_INFORMATION {
4330 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4331 f.debug_struct("APP_MEMORY_INFORMATION").field("AvailableCommit", &self.AvailableCommit).field("PrivateCommitUsage", &self.PrivateCommitUsage).field("PeakPrivateCommitUsage", &self.PeakPrivateCommitUsage).field(name:"TotalCommitUsage", &self.TotalCommitUsage).finish()
4332 }
4333}
4334impl ::windows_core::TypeKind for APP_MEMORY_INFORMATION {
4335 type TypeKind = ::windows_core::CopyType;
4336}
4337impl ::core::cmp::PartialEq for APP_MEMORY_INFORMATION {
4338 fn eq(&self, other: &Self) -> bool {
4339 self.AvailableCommit == other.AvailableCommit && self.PrivateCommitUsage == other.PrivateCommitUsage && self.PeakPrivateCommitUsage == other.PeakPrivateCommitUsage && self.TotalCommitUsage == other.TotalCommitUsage
4340 }
4341}
4342impl ::core::cmp::Eq for APP_MEMORY_INFORMATION {}
4343impl ::core::default::Default for APP_MEMORY_INFORMATION {
4344 fn default() -> Self {
4345 unsafe { ::core::mem::zeroed() }
4346 }
4347}
4348#[repr(C)]
4349pub struct CONDITION_VARIABLE {
4350 pub Ptr: *mut ::core::ffi::c_void,
4351}
4352impl ::core::marker::Copy for CONDITION_VARIABLE {}
4353impl ::core::clone::Clone for CONDITION_VARIABLE {
4354 fn clone(&self) -> Self {
4355 *self
4356 }
4357}
4358impl ::core::fmt::Debug for CONDITION_VARIABLE {
4359 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4360 f.debug_struct("CONDITION_VARIABLE").field(name:"Ptr", &self.Ptr).finish()
4361 }
4362}
4363impl ::windows_core::TypeKind for CONDITION_VARIABLE {
4364 type TypeKind = ::windows_core::CopyType;
4365}
4366impl ::core::cmp::PartialEq for CONDITION_VARIABLE {
4367 fn eq(&self, other: &Self) -> bool {
4368 self.Ptr == other.Ptr
4369 }
4370}
4371impl ::core::cmp::Eq for CONDITION_VARIABLE {}
4372impl ::core::default::Default for CONDITION_VARIABLE {
4373 fn default() -> Self {
4374 unsafe { ::core::mem::zeroed() }
4375 }
4376}
4377#[repr(C)]
4378#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`"]
4379#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4380pub struct CRITICAL_SECTION {
4381 pub DebugInfo: *mut CRITICAL_SECTION_DEBUG,
4382 pub LockCount: i32,
4383 pub RecursionCount: i32,
4384 pub OwningThread: super::super::Foundation::HANDLE,
4385 pub LockSemaphore: super::super::Foundation::HANDLE,
4386 pub SpinCount: usize,
4387}
4388#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4389impl ::core::marker::Copy for CRITICAL_SECTION {}
4390#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4391impl ::core::clone::Clone for CRITICAL_SECTION {
4392 fn clone(&self) -> Self {
4393 *self
4394 }
4395}
4396#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4397impl ::core::fmt::Debug for CRITICAL_SECTION {
4398 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4399 f.debug_struct("CRITICAL_SECTION").field("DebugInfo", &self.DebugInfo).field("LockCount", &self.LockCount).field("RecursionCount", &self.RecursionCount).field("OwningThread", &self.OwningThread).field("LockSemaphore", &self.LockSemaphore).field("SpinCount", &self.SpinCount).finish()
4400 }
4401}
4402#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4403impl ::windows_core::TypeKind for CRITICAL_SECTION {
4404 type TypeKind = ::windows_core::CopyType;
4405}
4406#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4407impl ::core::cmp::PartialEq for CRITICAL_SECTION {
4408 fn eq(&self, other: &Self) -> bool {
4409 self.DebugInfo == other.DebugInfo && self.LockCount == other.LockCount && self.RecursionCount == other.RecursionCount && self.OwningThread == other.OwningThread && self.LockSemaphore == other.LockSemaphore && self.SpinCount == other.SpinCount
4410 }
4411}
4412#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4413impl ::core::cmp::Eq for CRITICAL_SECTION {}
4414#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4415impl ::core::default::Default for CRITICAL_SECTION {
4416 fn default() -> Self {
4417 unsafe { ::core::mem::zeroed() }
4418 }
4419}
4420#[repr(C)]
4421#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`"]
4422#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4423pub struct CRITICAL_SECTION_DEBUG {
4424 pub Type: u16,
4425 pub CreatorBackTraceIndex: u16,
4426 pub CriticalSection: *mut CRITICAL_SECTION,
4427 pub ProcessLocksList: super::Kernel::LIST_ENTRY,
4428 pub EntryCount: u32,
4429 pub ContentionCount: u32,
4430 pub Flags: u32,
4431 pub CreatorBackTraceIndexHigh: u16,
4432 pub Identifier: u16,
4433}
4434#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4435impl ::core::marker::Copy for CRITICAL_SECTION_DEBUG {}
4436#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4437impl ::core::clone::Clone for CRITICAL_SECTION_DEBUG {
4438 fn clone(&self) -> Self {
4439 *self
4440 }
4441}
4442#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4443impl ::core::fmt::Debug for CRITICAL_SECTION_DEBUG {
4444 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4445 f.debug_struct("CRITICAL_SECTION_DEBUG").field("Type", &self.Type).field("CreatorBackTraceIndex", &self.CreatorBackTraceIndex).field("CriticalSection", &self.CriticalSection).field("ProcessLocksList", &self.ProcessLocksList).field("EntryCount", &self.EntryCount).field("ContentionCount", &self.ContentionCount).field("Flags", &self.Flags).field("CreatorBackTraceIndexHigh", &self.CreatorBackTraceIndexHigh).field("Identifier", &self.Identifier).finish()
4446 }
4447}
4448#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4449impl ::windows_core::TypeKind for CRITICAL_SECTION_DEBUG {
4450 type TypeKind = ::windows_core::CopyType;
4451}
4452#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4453impl ::core::cmp::PartialEq for CRITICAL_SECTION_DEBUG {
4454 fn eq(&self, other: &Self) -> bool {
4455 self.Type == other.Type && self.CreatorBackTraceIndex == other.CreatorBackTraceIndex && self.CriticalSection == other.CriticalSection && self.ProcessLocksList == other.ProcessLocksList && self.EntryCount == other.EntryCount && self.ContentionCount == other.ContentionCount && self.Flags == other.Flags && self.CreatorBackTraceIndexHigh == other.CreatorBackTraceIndexHigh && self.Identifier == other.Identifier
4456 }
4457}
4458#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4459impl ::core::cmp::Eq for CRITICAL_SECTION_DEBUG {}
4460#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4461impl ::core::default::Default for CRITICAL_SECTION_DEBUG {
4462 fn default() -> Self {
4463 unsafe { ::core::mem::zeroed() }
4464 }
4465}
4466#[repr(C)]
4467pub union INIT_ONCE {
4468 pub Ptr: *mut ::core::ffi::c_void,
4469}
4470impl ::core::marker::Copy for INIT_ONCE {}
4471impl ::core::clone::Clone for INIT_ONCE {
4472 fn clone(&self) -> Self {
4473 *self
4474 }
4475}
4476impl ::windows_core::TypeKind for INIT_ONCE {
4477 type TypeKind = ::windows_core::CopyType;
4478}
4479impl ::core::default::Default for INIT_ONCE {
4480 fn default() -> Self {
4481 unsafe { ::core::mem::zeroed() }
4482 }
4483}
4484#[repr(C)]
4485pub struct IO_COUNTERS {
4486 pub ReadOperationCount: u64,
4487 pub WriteOperationCount: u64,
4488 pub OtherOperationCount: u64,
4489 pub ReadTransferCount: u64,
4490 pub WriteTransferCount: u64,
4491 pub OtherTransferCount: u64,
4492}
4493impl ::core::marker::Copy for IO_COUNTERS {}
4494impl ::core::clone::Clone for IO_COUNTERS {
4495 fn clone(&self) -> Self {
4496 *self
4497 }
4498}
4499impl ::core::fmt::Debug for IO_COUNTERS {
4500 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4501 f.debug_struct("IO_COUNTERS").field("ReadOperationCount", &self.ReadOperationCount).field("WriteOperationCount", &self.WriteOperationCount).field("OtherOperationCount", &self.OtherOperationCount).field("ReadTransferCount", &self.ReadTransferCount).field("WriteTransferCount", &self.WriteTransferCount).field(name:"OtherTransferCount", &self.OtherTransferCount).finish()
4502 }
4503}
4504impl ::windows_core::TypeKind for IO_COUNTERS {
4505 type TypeKind = ::windows_core::CopyType;
4506}
4507impl ::core::cmp::PartialEq for IO_COUNTERS {
4508 fn eq(&self, other: &Self) -> bool {
4509 self.ReadOperationCount == other.ReadOperationCount && self.WriteOperationCount == other.WriteOperationCount && self.OtherOperationCount == other.OtherOperationCount && self.ReadTransferCount == other.ReadTransferCount && self.WriteTransferCount == other.WriteTransferCount && self.OtherTransferCount == other.OtherTransferCount
4510 }
4511}
4512impl ::core::cmp::Eq for IO_COUNTERS {}
4513impl ::core::default::Default for IO_COUNTERS {
4514 fn default() -> Self {
4515 unsafe { ::core::mem::zeroed() }
4516 }
4517}
4518#[repr(transparent)]
4519#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
4520pub struct LPPROC_THREAD_ATTRIBUTE_LIST(pub *mut ::core::ffi::c_void);
4521impl LPPROC_THREAD_ATTRIBUTE_LIST {
4522 pub fn is_invalid(&self) -> bool {
4523 self.0.is_null()
4524 }
4525}
4526impl ::core::default::Default for LPPROC_THREAD_ATTRIBUTE_LIST {
4527 fn default() -> Self {
4528 unsafe { ::core::mem::zeroed() }
4529 }
4530}
4531impl ::core::clone::Clone for LPPROC_THREAD_ATTRIBUTE_LIST {
4532 fn clone(&self) -> Self {
4533 *self
4534 }
4535}
4536impl ::core::marker::Copy for LPPROC_THREAD_ATTRIBUTE_LIST {}
4537impl ::core::fmt::Debug for LPPROC_THREAD_ATTRIBUTE_LIST {
4538 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4539 f.debug_tuple(name:"LPPROC_THREAD_ATTRIBUTE_LIST").field(&self.0).finish()
4540 }
4541}
4542impl ::windows_core::TypeKind for LPPROC_THREAD_ATTRIBUTE_LIST {
4543 type TypeKind = ::windows_core::CopyType;
4544}
4545#[repr(C)]
4546pub struct MEMORY_PRIORITY_INFORMATION {
4547 pub MemoryPriority: MEMORY_PRIORITY,
4548}
4549impl ::core::marker::Copy for MEMORY_PRIORITY_INFORMATION {}
4550impl ::core::clone::Clone for MEMORY_PRIORITY_INFORMATION {
4551 fn clone(&self) -> Self {
4552 *self
4553 }
4554}
4555impl ::core::fmt::Debug for MEMORY_PRIORITY_INFORMATION {
4556 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4557 f.debug_struct("MEMORY_PRIORITY_INFORMATION").field(name:"MemoryPriority", &self.MemoryPriority).finish()
4558 }
4559}
4560impl ::windows_core::TypeKind for MEMORY_PRIORITY_INFORMATION {
4561 type TypeKind = ::windows_core::CopyType;
4562}
4563impl ::core::cmp::PartialEq for MEMORY_PRIORITY_INFORMATION {
4564 fn eq(&self, other: &Self) -> bool {
4565 self.MemoryPriority == other.MemoryPriority
4566 }
4567}
4568impl ::core::cmp::Eq for MEMORY_PRIORITY_INFORMATION {}
4569impl ::core::default::Default for MEMORY_PRIORITY_INFORMATION {
4570 fn default() -> Self {
4571 unsafe { ::core::mem::zeroed() }
4572 }
4573}
4574#[repr(C)]
4575#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`"]
4576#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4577pub struct PEB {
4578 pub Reserved1: [u8; 2],
4579 pub BeingDebugged: u8,
4580 pub Reserved2: [u8; 1],
4581 pub Reserved3: [*mut ::core::ffi::c_void; 2],
4582 pub Ldr: *mut PEB_LDR_DATA,
4583 pub ProcessParameters: *mut RTL_USER_PROCESS_PARAMETERS,
4584 pub Reserved4: [*mut ::core::ffi::c_void; 3],
4585 pub AtlThunkSListPtr: *mut ::core::ffi::c_void,
4586 pub Reserved5: *mut ::core::ffi::c_void,
4587 pub Reserved6: u32,
4588 pub Reserved7: *mut ::core::ffi::c_void,
4589 pub Reserved8: u32,
4590 pub AtlThunkSListPtr32: u32,
4591 pub Reserved9: [*mut ::core::ffi::c_void; 45],
4592 pub Reserved10: [u8; 96],
4593 pub PostProcessInitRoutine: PPS_POST_PROCESS_INIT_ROUTINE,
4594 pub Reserved11: [u8; 128],
4595 pub Reserved12: [*mut ::core::ffi::c_void; 1],
4596 pub SessionId: u32,
4597}
4598#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4599impl ::core::marker::Copy for PEB {}
4600#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4601impl ::core::clone::Clone for PEB {
4602 fn clone(&self) -> Self {
4603 *self
4604 }
4605}
4606#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4607impl ::core::fmt::Debug for PEB {
4608 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4609 f.debug_struct("PEB")
4610 .field("Reserved1", &self.Reserved1)
4611 .field("BeingDebugged", &self.BeingDebugged)
4612 .field("Reserved2", &self.Reserved2)
4613 .field("Reserved3", &self.Reserved3)
4614 .field("Ldr", &self.Ldr)
4615 .field("ProcessParameters", &self.ProcessParameters)
4616 .field("Reserved4", &self.Reserved4)
4617 .field("AtlThunkSListPtr", &self.AtlThunkSListPtr)
4618 .field("Reserved5", &self.Reserved5)
4619 .field("Reserved6", &self.Reserved6)
4620 .field("Reserved7", &self.Reserved7)
4621 .field("Reserved8", &self.Reserved8)
4622 .field("AtlThunkSListPtr32", &self.AtlThunkSListPtr32)
4623 .field("Reserved9", &self.Reserved9)
4624 .field("Reserved10", &self.Reserved10)
4625 .field("Reserved11", &self.Reserved11)
4626 .field("Reserved12", &self.Reserved12)
4627 .field("SessionId", &self.SessionId)
4628 .finish()
4629 }
4630}
4631#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4632impl ::windows_core::TypeKind for PEB {
4633 type TypeKind = ::windows_core::CopyType;
4634}
4635#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4636impl ::core::default::Default for PEB {
4637 fn default() -> Self {
4638 unsafe { ::core::mem::zeroed() }
4639 }
4640}
4641#[repr(C)]
4642#[doc = "Required features: `\"Win32_System_Kernel\"`"]
4643#[cfg(feature = "Win32_System_Kernel")]
4644pub struct PEB_LDR_DATA {
4645 pub Reserved1: [u8; 8],
4646 pub Reserved2: [*mut ::core::ffi::c_void; 3],
4647 pub InMemoryOrderModuleList: super::Kernel::LIST_ENTRY,
4648}
4649#[cfg(feature = "Win32_System_Kernel")]
4650impl ::core::marker::Copy for PEB_LDR_DATA {}
4651#[cfg(feature = "Win32_System_Kernel")]
4652impl ::core::clone::Clone for PEB_LDR_DATA {
4653 fn clone(&self) -> Self {
4654 *self
4655 }
4656}
4657#[cfg(feature = "Win32_System_Kernel")]
4658impl ::core::fmt::Debug for PEB_LDR_DATA {
4659 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4660 f.debug_struct("PEB_LDR_DATA").field("Reserved1", &self.Reserved1).field("Reserved2", &self.Reserved2).field("InMemoryOrderModuleList", &self.InMemoryOrderModuleList).finish()
4661 }
4662}
4663#[cfg(feature = "Win32_System_Kernel")]
4664impl ::windows_core::TypeKind for PEB_LDR_DATA {
4665 type TypeKind = ::windows_core::CopyType;
4666}
4667#[cfg(feature = "Win32_System_Kernel")]
4668impl ::core::cmp::PartialEq for PEB_LDR_DATA {
4669 fn eq(&self, other: &Self) -> bool {
4670 self.Reserved1 == other.Reserved1 && self.Reserved2 == other.Reserved2 && self.InMemoryOrderModuleList == other.InMemoryOrderModuleList
4671 }
4672}
4673#[cfg(feature = "Win32_System_Kernel")]
4674impl ::core::cmp::Eq for PEB_LDR_DATA {}
4675#[cfg(feature = "Win32_System_Kernel")]
4676impl ::core::default::Default for PEB_LDR_DATA {
4677 fn default() -> Self {
4678 unsafe { ::core::mem::zeroed() }
4679 }
4680}
4681#[repr(C)]
4682#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`"]
4683#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4684pub struct PROCESS_BASIC_INFORMATION {
4685 pub ExitStatus: super::super::Foundation::NTSTATUS,
4686 pub PebBaseAddress: *mut PEB,
4687 pub AffinityMask: usize,
4688 pub BasePriority: i32,
4689 pub UniqueProcessId: usize,
4690 pub InheritedFromUniqueProcessId: usize,
4691}
4692#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4693impl ::core::marker::Copy for PROCESS_BASIC_INFORMATION {}
4694#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4695impl ::core::clone::Clone for PROCESS_BASIC_INFORMATION {
4696 fn clone(&self) -> Self {
4697 *self
4698 }
4699}
4700#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4701impl ::core::fmt::Debug for PROCESS_BASIC_INFORMATION {
4702 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4703 f.debug_struct("PROCESS_BASIC_INFORMATION").field("ExitStatus", &self.ExitStatus).field("PebBaseAddress", &self.PebBaseAddress).field("AffinityMask", &self.AffinityMask).field("BasePriority", &self.BasePriority).field("UniqueProcessId", &self.UniqueProcessId).field("InheritedFromUniqueProcessId", &self.InheritedFromUniqueProcessId).finish()
4704 }
4705}
4706#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4707impl ::windows_core::TypeKind for PROCESS_BASIC_INFORMATION {
4708 type TypeKind = ::windows_core::CopyType;
4709}
4710#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4711impl ::core::cmp::PartialEq for PROCESS_BASIC_INFORMATION {
4712 fn eq(&self, other: &Self) -> bool {
4713 self.ExitStatus == other.ExitStatus && self.PebBaseAddress == other.PebBaseAddress && self.AffinityMask == other.AffinityMask && self.BasePriority == other.BasePriority && self.UniqueProcessId == other.UniqueProcessId && self.InheritedFromUniqueProcessId == other.InheritedFromUniqueProcessId
4714 }
4715}
4716#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4717impl ::core::cmp::Eq for PROCESS_BASIC_INFORMATION {}
4718#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
4719impl ::core::default::Default for PROCESS_BASIC_INFORMATION {
4720 fn default() -> Self {
4721 unsafe { ::core::mem::zeroed() }
4722 }
4723}
4724#[repr(C)]
4725pub struct PROCESS_DYNAMIC_EH_CONTINUATION_TARGET {
4726 pub TargetAddress: usize,
4727 pub Flags: usize,
4728}
4729impl ::core::marker::Copy for PROCESS_DYNAMIC_EH_CONTINUATION_TARGET {}
4730impl ::core::clone::Clone for PROCESS_DYNAMIC_EH_CONTINUATION_TARGET {
4731 fn clone(&self) -> Self {
4732 *self
4733 }
4734}
4735impl ::core::fmt::Debug for PROCESS_DYNAMIC_EH_CONTINUATION_TARGET {
4736 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4737 f.debug_struct("PROCESS_DYNAMIC_EH_CONTINUATION_TARGET").field("TargetAddress", &self.TargetAddress).field(name:"Flags", &self.Flags).finish()
4738 }
4739}
4740impl ::windows_core::TypeKind for PROCESS_DYNAMIC_EH_CONTINUATION_TARGET {
4741 type TypeKind = ::windows_core::CopyType;
4742}
4743impl ::core::cmp::PartialEq for PROCESS_DYNAMIC_EH_CONTINUATION_TARGET {
4744 fn eq(&self, other: &Self) -> bool {
4745 self.TargetAddress == other.TargetAddress && self.Flags == other.Flags
4746 }
4747}
4748impl ::core::cmp::Eq for PROCESS_DYNAMIC_EH_CONTINUATION_TARGET {}
4749impl ::core::default::Default for PROCESS_DYNAMIC_EH_CONTINUATION_TARGET {
4750 fn default() -> Self {
4751 unsafe { ::core::mem::zeroed() }
4752 }
4753}
4754#[repr(C)]
4755pub struct PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION {
4756 pub NumberOfTargets: u16,
4757 pub Reserved: u16,
4758 pub Reserved2: u32,
4759 pub Targets: *mut PROCESS_DYNAMIC_EH_CONTINUATION_TARGET,
4760}
4761impl ::core::marker::Copy for PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION {}
4762impl ::core::clone::Clone for PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION {
4763 fn clone(&self) -> Self {
4764 *self
4765 }
4766}
4767impl ::core::fmt::Debug for PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION {
4768 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4769 f.debug_struct("PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION").field("NumberOfTargets", &self.NumberOfTargets).field("Reserved", &self.Reserved).field("Reserved2", &self.Reserved2).field(name:"Targets", &self.Targets).finish()
4770 }
4771}
4772impl ::windows_core::TypeKind for PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION {
4773 type TypeKind = ::windows_core::CopyType;
4774}
4775impl ::core::cmp::PartialEq for PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION {
4776 fn eq(&self, other: &Self) -> bool {
4777 self.NumberOfTargets == other.NumberOfTargets && self.Reserved == other.Reserved && self.Reserved2 == other.Reserved2 && self.Targets == other.Targets
4778 }
4779}
4780impl ::core::cmp::Eq for PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION {}
4781impl ::core::default::Default for PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION {
4782 fn default() -> Self {
4783 unsafe { ::core::mem::zeroed() }
4784 }
4785}
4786#[repr(C)]
4787pub struct PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE {
4788 pub BaseAddress: usize,
4789 pub Size: usize,
4790 pub Flags: u32,
4791}
4792impl ::core::marker::Copy for PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE {}
4793impl ::core::clone::Clone for PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE {
4794 fn clone(&self) -> Self {
4795 *self
4796 }
4797}
4798impl ::core::fmt::Debug for PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE {
4799 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4800 f.debug_struct("PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE").field("BaseAddress", &self.BaseAddress).field("Size", &self.Size).field(name:"Flags", &self.Flags).finish()
4801 }
4802}
4803impl ::windows_core::TypeKind for PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE {
4804 type TypeKind = ::windows_core::CopyType;
4805}
4806impl ::core::cmp::PartialEq for PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE {
4807 fn eq(&self, other: &Self) -> bool {
4808 self.BaseAddress == other.BaseAddress && self.Size == other.Size && self.Flags == other.Flags
4809 }
4810}
4811impl ::core::cmp::Eq for PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE {}
4812impl ::core::default::Default for PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE {
4813 fn default() -> Self {
4814 unsafe { ::core::mem::zeroed() }
4815 }
4816}
4817#[repr(C)]
4818pub struct PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION {
4819 pub NumberOfRanges: u16,
4820 pub Reserved: u16,
4821 pub Reserved2: u32,
4822 pub Ranges: *mut PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE,
4823}
4824impl ::core::marker::Copy for PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION {}
4825impl ::core::clone::Clone for PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION {
4826 fn clone(&self) -> Self {
4827 *self
4828 }
4829}
4830impl ::core::fmt::Debug for PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION {
4831 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4832 f.debug_struct("PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION").field("NumberOfRanges", &self.NumberOfRanges).field("Reserved", &self.Reserved).field("Reserved2", &self.Reserved2).field(name:"Ranges", &self.Ranges).finish()
4833 }
4834}
4835impl ::windows_core::TypeKind for PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION {
4836 type TypeKind = ::windows_core::CopyType;
4837}
4838impl ::core::cmp::PartialEq for PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION {
4839 fn eq(&self, other: &Self) -> bool {
4840 self.NumberOfRanges == other.NumberOfRanges && self.Reserved == other.Reserved && self.Reserved2 == other.Reserved2 && self.Ranges == other.Ranges
4841 }
4842}
4843impl ::core::cmp::Eq for PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION {}
4844impl ::core::default::Default for PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION {
4845 fn default() -> Self {
4846 unsafe { ::core::mem::zeroed() }
4847 }
4848}
4849#[repr(C)]
4850#[doc = "Required features: `\"Win32_Foundation\"`"]
4851#[cfg(feature = "Win32_Foundation")]
4852pub struct PROCESS_INFORMATION {
4853 pub hProcess: super::super::Foundation::HANDLE,
4854 pub hThread: super::super::Foundation::HANDLE,
4855 pub dwProcessId: u32,
4856 pub dwThreadId: u32,
4857}
4858#[cfg(feature = "Win32_Foundation")]
4859impl ::core::marker::Copy for PROCESS_INFORMATION {}
4860#[cfg(feature = "Win32_Foundation")]
4861impl ::core::clone::Clone for PROCESS_INFORMATION {
4862 fn clone(&self) -> Self {
4863 *self
4864 }
4865}
4866#[cfg(feature = "Win32_Foundation")]
4867impl ::core::fmt::Debug for PROCESS_INFORMATION {
4868 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4869 f.debug_struct("PROCESS_INFORMATION").field("hProcess", &self.hProcess).field("hThread", &self.hThread).field("dwProcessId", &self.dwProcessId).field(name:"dwThreadId", &self.dwThreadId).finish()
4870 }
4871}
4872#[cfg(feature = "Win32_Foundation")]
4873impl ::windows_core::TypeKind for PROCESS_INFORMATION {
4874 type TypeKind = ::windows_core::CopyType;
4875}
4876#[cfg(feature = "Win32_Foundation")]
4877impl ::core::cmp::PartialEq for PROCESS_INFORMATION {
4878 fn eq(&self, other: &Self) -> bool {
4879 self.hProcess == other.hProcess && self.hThread == other.hThread && self.dwProcessId == other.dwProcessId && self.dwThreadId == other.dwThreadId
4880 }
4881}
4882#[cfg(feature = "Win32_Foundation")]
4883impl ::core::cmp::Eq for PROCESS_INFORMATION {}
4884#[cfg(feature = "Win32_Foundation")]
4885impl ::core::default::Default for PROCESS_INFORMATION {
4886 fn default() -> Self {
4887 unsafe { ::core::mem::zeroed() }
4888 }
4889}
4890#[repr(C)]
4891pub struct PROCESS_LEAP_SECOND_INFO {
4892 pub Flags: u32,
4893 pub Reserved: u32,
4894}
4895impl ::core::marker::Copy for PROCESS_LEAP_SECOND_INFO {}
4896impl ::core::clone::Clone for PROCESS_LEAP_SECOND_INFO {
4897 fn clone(&self) -> Self {
4898 *self
4899 }
4900}
4901impl ::core::fmt::Debug for PROCESS_LEAP_SECOND_INFO {
4902 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4903 f.debug_struct("PROCESS_LEAP_SECOND_INFO").field("Flags", &self.Flags).field(name:"Reserved", &self.Reserved).finish()
4904 }
4905}
4906impl ::windows_core::TypeKind for PROCESS_LEAP_SECOND_INFO {
4907 type TypeKind = ::windows_core::CopyType;
4908}
4909impl ::core::cmp::PartialEq for PROCESS_LEAP_SECOND_INFO {
4910 fn eq(&self, other: &Self) -> bool {
4911 self.Flags == other.Flags && self.Reserved == other.Reserved
4912 }
4913}
4914impl ::core::cmp::Eq for PROCESS_LEAP_SECOND_INFO {}
4915impl ::core::default::Default for PROCESS_LEAP_SECOND_INFO {
4916 fn default() -> Self {
4917 unsafe { ::core::mem::zeroed() }
4918 }
4919}
4920#[repr(C)]
4921#[doc = "Required features: `\"Win32_System_SystemInformation\"`"]
4922#[cfg(feature = "Win32_System_SystemInformation")]
4923pub struct PROCESS_MACHINE_INFORMATION {
4924 pub ProcessMachine: super::SystemInformation::IMAGE_FILE_MACHINE,
4925 pub Res0: u16,
4926 pub MachineAttributes: MACHINE_ATTRIBUTES,
4927}
4928#[cfg(feature = "Win32_System_SystemInformation")]
4929impl ::core::marker::Copy for PROCESS_MACHINE_INFORMATION {}
4930#[cfg(feature = "Win32_System_SystemInformation")]
4931impl ::core::clone::Clone for PROCESS_MACHINE_INFORMATION {
4932 fn clone(&self) -> Self {
4933 *self
4934 }
4935}
4936#[cfg(feature = "Win32_System_SystemInformation")]
4937impl ::core::fmt::Debug for PROCESS_MACHINE_INFORMATION {
4938 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4939 f.debug_struct("PROCESS_MACHINE_INFORMATION").field("ProcessMachine", &self.ProcessMachine).field("Res0", &self.Res0).field("MachineAttributes", &self.MachineAttributes).finish()
4940 }
4941}
4942#[cfg(feature = "Win32_System_SystemInformation")]
4943impl ::windows_core::TypeKind for PROCESS_MACHINE_INFORMATION {
4944 type TypeKind = ::windows_core::CopyType;
4945}
4946#[cfg(feature = "Win32_System_SystemInformation")]
4947impl ::core::cmp::PartialEq for PROCESS_MACHINE_INFORMATION {
4948 fn eq(&self, other: &Self) -> bool {
4949 self.ProcessMachine == other.ProcessMachine && self.Res0 == other.Res0 && self.MachineAttributes == other.MachineAttributes
4950 }
4951}
4952#[cfg(feature = "Win32_System_SystemInformation")]
4953impl ::core::cmp::Eq for PROCESS_MACHINE_INFORMATION {}
4954#[cfg(feature = "Win32_System_SystemInformation")]
4955impl ::core::default::Default for PROCESS_MACHINE_INFORMATION {
4956 fn default() -> Self {
4957 unsafe { ::core::mem::zeroed() }
4958 }
4959}
4960#[repr(C)]
4961pub struct PROCESS_MEMORY_EXHAUSTION_INFO {
4962 pub Version: u16,
4963 pub Reserved: u16,
4964 pub Type: PROCESS_MEMORY_EXHAUSTION_TYPE,
4965 pub Value: usize,
4966}
4967impl ::core::marker::Copy for PROCESS_MEMORY_EXHAUSTION_INFO {}
4968impl ::core::clone::Clone for PROCESS_MEMORY_EXHAUSTION_INFO {
4969 fn clone(&self) -> Self {
4970 *self
4971 }
4972}
4973impl ::core::fmt::Debug for PROCESS_MEMORY_EXHAUSTION_INFO {
4974 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4975 f.debug_struct("PROCESS_MEMORY_EXHAUSTION_INFO").field("Version", &self.Version).field("Reserved", &self.Reserved).field("Type", &self.Type).field(name:"Value", &self.Value).finish()
4976 }
4977}
4978impl ::windows_core::TypeKind for PROCESS_MEMORY_EXHAUSTION_INFO {
4979 type TypeKind = ::windows_core::CopyType;
4980}
4981impl ::core::cmp::PartialEq for PROCESS_MEMORY_EXHAUSTION_INFO {
4982 fn eq(&self, other: &Self) -> bool {
4983 self.Version == other.Version && self.Reserved == other.Reserved && self.Type == other.Type && self.Value == other.Value
4984 }
4985}
4986impl ::core::cmp::Eq for PROCESS_MEMORY_EXHAUSTION_INFO {}
4987impl ::core::default::Default for PROCESS_MEMORY_EXHAUSTION_INFO {
4988 fn default() -> Self {
4989 unsafe { ::core::mem::zeroed() }
4990 }
4991}
4992#[repr(C)]
4993pub struct PROCESS_POWER_THROTTLING_STATE {
4994 pub Version: u32,
4995 pub ControlMask: u32,
4996 pub StateMask: u32,
4997}
4998impl ::core::marker::Copy for PROCESS_POWER_THROTTLING_STATE {}
4999impl ::core::clone::Clone for PROCESS_POWER_THROTTLING_STATE {
5000 fn clone(&self) -> Self {
5001 *self
5002 }
5003}
5004impl ::core::fmt::Debug for PROCESS_POWER_THROTTLING_STATE {
5005 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5006 f.debug_struct("PROCESS_POWER_THROTTLING_STATE").field("Version", &self.Version).field("ControlMask", &self.ControlMask).field(name:"StateMask", &self.StateMask).finish()
5007 }
5008}
5009impl ::windows_core::TypeKind for PROCESS_POWER_THROTTLING_STATE {
5010 type TypeKind = ::windows_core::CopyType;
5011}
5012impl ::core::cmp::PartialEq for PROCESS_POWER_THROTTLING_STATE {
5013 fn eq(&self, other: &Self) -> bool {
5014 self.Version == other.Version && self.ControlMask == other.ControlMask && self.StateMask == other.StateMask
5015 }
5016}
5017impl ::core::cmp::Eq for PROCESS_POWER_THROTTLING_STATE {}
5018impl ::core::default::Default for PROCESS_POWER_THROTTLING_STATE {
5019 fn default() -> Self {
5020 unsafe { ::core::mem::zeroed() }
5021 }
5022}
5023#[repr(C)]
5024pub struct PROCESS_PROTECTION_LEVEL_INFORMATION {
5025 pub ProtectionLevel: PROCESS_PROTECTION_LEVEL,
5026}
5027impl ::core::marker::Copy for PROCESS_PROTECTION_LEVEL_INFORMATION {}
5028impl ::core::clone::Clone for PROCESS_PROTECTION_LEVEL_INFORMATION {
5029 fn clone(&self) -> Self {
5030 *self
5031 }
5032}
5033impl ::core::fmt::Debug for PROCESS_PROTECTION_LEVEL_INFORMATION {
5034 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5035 f.debug_struct("PROCESS_PROTECTION_LEVEL_INFORMATION").field(name:"ProtectionLevel", &self.ProtectionLevel).finish()
5036 }
5037}
5038impl ::windows_core::TypeKind for PROCESS_PROTECTION_LEVEL_INFORMATION {
5039 type TypeKind = ::windows_core::CopyType;
5040}
5041impl ::core::cmp::PartialEq for PROCESS_PROTECTION_LEVEL_INFORMATION {
5042 fn eq(&self, other: &Self) -> bool {
5043 self.ProtectionLevel == other.ProtectionLevel
5044 }
5045}
5046impl ::core::cmp::Eq for PROCESS_PROTECTION_LEVEL_INFORMATION {}
5047impl ::core::default::Default for PROCESS_PROTECTION_LEVEL_INFORMATION {
5048 fn default() -> Self {
5049 unsafe { ::core::mem::zeroed() }
5050 }
5051}
5052#[repr(transparent)]
5053#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5054pub struct PTP_CALLBACK_INSTANCE(pub isize);
5055impl PTP_CALLBACK_INSTANCE {
5056 pub fn is_invalid(&self) -> bool {
5057 self.0 == 0
5058 }
5059}
5060impl ::core::default::Default for PTP_CALLBACK_INSTANCE {
5061 fn default() -> Self {
5062 unsafe { ::core::mem::zeroed() }
5063 }
5064}
5065impl ::core::clone::Clone for PTP_CALLBACK_INSTANCE {
5066 fn clone(&self) -> Self {
5067 *self
5068 }
5069}
5070impl ::core::marker::Copy for PTP_CALLBACK_INSTANCE {}
5071impl ::core::fmt::Debug for PTP_CALLBACK_INSTANCE {
5072 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5073 f.debug_tuple(name:"PTP_CALLBACK_INSTANCE").field(&self.0).finish()
5074 }
5075}
5076impl ::windows_core::TypeKind for PTP_CALLBACK_INSTANCE {
5077 type TypeKind = ::windows_core::CopyType;
5078}
5079#[repr(transparent)]
5080#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5081pub struct PTP_CLEANUP_GROUP(pub isize);
5082impl ::core::default::Default for PTP_CLEANUP_GROUP {
5083 fn default() -> Self {
5084 unsafe { ::core::mem::zeroed() }
5085 }
5086}
5087impl ::core::clone::Clone for PTP_CLEANUP_GROUP {
5088 fn clone(&self) -> Self {
5089 *self
5090 }
5091}
5092impl ::core::marker::Copy for PTP_CLEANUP_GROUP {}
5093impl ::core::fmt::Debug for PTP_CLEANUP_GROUP {
5094 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5095 f.debug_tuple(name:"PTP_CLEANUP_GROUP").field(&self.0).finish()
5096 }
5097}
5098impl ::windows_core::TypeKind for PTP_CLEANUP_GROUP {
5099 type TypeKind = ::windows_core::CopyType;
5100}
5101#[repr(transparent)]
5102#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5103pub struct PTP_IO(pub isize);
5104impl PTP_IO {
5105 pub fn is_invalid(&self) -> bool {
5106 self.0 == 0
5107 }
5108}
5109impl ::core::default::Default for PTP_IO {
5110 fn default() -> Self {
5111 unsafe { ::core::mem::zeroed() }
5112 }
5113}
5114impl ::core::clone::Clone for PTP_IO {
5115 fn clone(&self) -> Self {
5116 *self
5117 }
5118}
5119impl ::core::marker::Copy for PTP_IO {}
5120impl ::core::fmt::Debug for PTP_IO {
5121 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5122 f.debug_tuple(name:"PTP_IO").field(&self.0).finish()
5123 }
5124}
5125impl ::windows_core::TypeKind for PTP_IO {
5126 type TypeKind = ::windows_core::CopyType;
5127}
5128#[repr(transparent)]
5129#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5130pub struct PTP_POOL(pub isize);
5131impl ::core::default::Default for PTP_POOL {
5132 fn default() -> Self {
5133 unsafe { ::core::mem::zeroed() }
5134 }
5135}
5136impl ::core::clone::Clone for PTP_POOL {
5137 fn clone(&self) -> Self {
5138 *self
5139 }
5140}
5141impl ::core::marker::Copy for PTP_POOL {}
5142impl ::core::fmt::Debug for PTP_POOL {
5143 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5144 f.debug_tuple(name:"PTP_POOL").field(&self.0).finish()
5145 }
5146}
5147impl ::windows_core::TypeKind for PTP_POOL {
5148 type TypeKind = ::windows_core::CopyType;
5149}
5150#[repr(transparent)]
5151#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5152pub struct PTP_TIMER(pub isize);
5153impl PTP_TIMER {
5154 pub fn is_invalid(&self) -> bool {
5155 self.0 == 0
5156 }
5157}
5158impl ::core::default::Default for PTP_TIMER {
5159 fn default() -> Self {
5160 unsafe { ::core::mem::zeroed() }
5161 }
5162}
5163impl ::core::clone::Clone for PTP_TIMER {
5164 fn clone(&self) -> Self {
5165 *self
5166 }
5167}
5168impl ::core::marker::Copy for PTP_TIMER {}
5169impl ::core::fmt::Debug for PTP_TIMER {
5170 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5171 f.debug_tuple(name:"PTP_TIMER").field(&self.0).finish()
5172 }
5173}
5174impl ::windows_core::TypeKind for PTP_TIMER {
5175 type TypeKind = ::windows_core::CopyType;
5176}
5177#[repr(transparent)]
5178#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5179pub struct PTP_WAIT(pub isize);
5180impl PTP_WAIT {
5181 pub fn is_invalid(&self) -> bool {
5182 self.0 == 0
5183 }
5184}
5185impl ::core::default::Default for PTP_WAIT {
5186 fn default() -> Self {
5187 unsafe { ::core::mem::zeroed() }
5188 }
5189}
5190impl ::core::clone::Clone for PTP_WAIT {
5191 fn clone(&self) -> Self {
5192 *self
5193 }
5194}
5195impl ::core::marker::Copy for PTP_WAIT {}
5196impl ::core::fmt::Debug for PTP_WAIT {
5197 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5198 f.debug_tuple(name:"PTP_WAIT").field(&self.0).finish()
5199 }
5200}
5201impl ::windows_core::TypeKind for PTP_WAIT {
5202 type TypeKind = ::windows_core::CopyType;
5203}
5204#[repr(transparent)]
5205#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5206pub struct PTP_WORK(pub isize);
5207impl PTP_WORK {
5208 pub fn is_invalid(&self) -> bool {
5209 self.0 == 0
5210 }
5211}
5212impl ::core::default::Default for PTP_WORK {
5213 fn default() -> Self {
5214 unsafe { ::core::mem::zeroed() }
5215 }
5216}
5217impl ::core::clone::Clone for PTP_WORK {
5218 fn clone(&self) -> Self {
5219 *self
5220 }
5221}
5222impl ::core::marker::Copy for PTP_WORK {}
5223impl ::core::fmt::Debug for PTP_WORK {
5224 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5225 f.debug_tuple(name:"PTP_WORK").field(&self.0).finish()
5226 }
5227}
5228impl ::windows_core::TypeKind for PTP_WORK {
5229 type TypeKind = ::windows_core::CopyType;
5230}
5231#[repr(C)]
5232#[doc = "Required features: `\"Win32_Foundation\"`"]
5233#[cfg(feature = "Win32_Foundation")]
5234pub struct REASON_CONTEXT {
5235 pub Version: u32,
5236 pub Flags: POWER_REQUEST_CONTEXT_FLAGS,
5237 pub Reason: REASON_CONTEXT_0,
5238}
5239#[cfg(feature = "Win32_Foundation")]
5240impl ::core::marker::Copy for REASON_CONTEXT {}
5241#[cfg(feature = "Win32_Foundation")]
5242impl ::core::clone::Clone for REASON_CONTEXT {
5243 fn clone(&self) -> Self {
5244 *self
5245 }
5246}
5247#[cfg(feature = "Win32_Foundation")]
5248impl ::windows_core::TypeKind for REASON_CONTEXT {
5249 type TypeKind = ::windows_core::CopyType;
5250}
5251#[cfg(feature = "Win32_Foundation")]
5252impl ::core::default::Default for REASON_CONTEXT {
5253 fn default() -> Self {
5254 unsafe { ::core::mem::zeroed() }
5255 }
5256}
5257#[repr(C)]
5258#[doc = "Required features: `\"Win32_Foundation\"`"]
5259#[cfg(feature = "Win32_Foundation")]
5260pub union REASON_CONTEXT_0 {
5261 pub Detailed: REASON_CONTEXT_0_0,
5262 pub SimpleReasonString: ::windows_core::PWSTR,
5263}
5264#[cfg(feature = "Win32_Foundation")]
5265impl ::core::marker::Copy for REASON_CONTEXT_0 {}
5266#[cfg(feature = "Win32_Foundation")]
5267impl ::core::clone::Clone for REASON_CONTEXT_0 {
5268 fn clone(&self) -> Self {
5269 *self
5270 }
5271}
5272#[cfg(feature = "Win32_Foundation")]
5273impl ::windows_core::TypeKind for REASON_CONTEXT_0 {
5274 type TypeKind = ::windows_core::CopyType;
5275}
5276#[cfg(feature = "Win32_Foundation")]
5277impl ::core::default::Default for REASON_CONTEXT_0 {
5278 fn default() -> Self {
5279 unsafe { ::core::mem::zeroed() }
5280 }
5281}
5282#[repr(C)]
5283#[doc = "Required features: `\"Win32_Foundation\"`"]
5284#[cfg(feature = "Win32_Foundation")]
5285pub struct REASON_CONTEXT_0_0 {
5286 pub LocalizedReasonModule: super::super::Foundation::HMODULE,
5287 pub LocalizedReasonId: u32,
5288 pub ReasonStringCount: u32,
5289 pub ReasonStrings: *mut ::windows_core::PWSTR,
5290}
5291#[cfg(feature = "Win32_Foundation")]
5292impl ::core::marker::Copy for REASON_CONTEXT_0_0 {}
5293#[cfg(feature = "Win32_Foundation")]
5294impl ::core::clone::Clone for REASON_CONTEXT_0_0 {
5295 fn clone(&self) -> Self {
5296 *self
5297 }
5298}
5299#[cfg(feature = "Win32_Foundation")]
5300impl ::core::fmt::Debug for REASON_CONTEXT_0_0 {
5301 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5302 f.debug_struct("REASON_CONTEXT_0_0").field("LocalizedReasonModule", &self.LocalizedReasonModule).field("LocalizedReasonId", &self.LocalizedReasonId).field("ReasonStringCount", &self.ReasonStringCount).field(name:"ReasonStrings", &self.ReasonStrings).finish()
5303 }
5304}
5305#[cfg(feature = "Win32_Foundation")]
5306impl ::windows_core::TypeKind for REASON_CONTEXT_0_0 {
5307 type TypeKind = ::windows_core::CopyType;
5308}
5309#[cfg(feature = "Win32_Foundation")]
5310impl ::core::cmp::PartialEq for REASON_CONTEXT_0_0 {
5311 fn eq(&self, other: &Self) -> bool {
5312 self.LocalizedReasonModule == other.LocalizedReasonModule && self.LocalizedReasonId == other.LocalizedReasonId && self.ReasonStringCount == other.ReasonStringCount && self.ReasonStrings == other.ReasonStrings
5313 }
5314}
5315#[cfg(feature = "Win32_Foundation")]
5316impl ::core::cmp::Eq for REASON_CONTEXT_0_0 {}
5317#[cfg(feature = "Win32_Foundation")]
5318impl ::core::default::Default for REASON_CONTEXT_0_0 {
5319 fn default() -> Self {
5320 unsafe { ::core::mem::zeroed() }
5321 }
5322}
5323#[repr(C)]
5324#[doc = "Required features: `\"Win32_Foundation\"`"]
5325#[cfg(feature = "Win32_Foundation")]
5326pub struct RTL_USER_PROCESS_PARAMETERS {
5327 pub Reserved1: [u8; 16],
5328 pub Reserved2: [*mut ::core::ffi::c_void; 10],
5329 pub ImagePathName: super::super::Foundation::UNICODE_STRING,
5330 pub CommandLine: super::super::Foundation::UNICODE_STRING,
5331}
5332#[cfg(feature = "Win32_Foundation")]
5333impl ::core::marker::Copy for RTL_USER_PROCESS_PARAMETERS {}
5334#[cfg(feature = "Win32_Foundation")]
5335impl ::core::clone::Clone for RTL_USER_PROCESS_PARAMETERS {
5336 fn clone(&self) -> Self {
5337 *self
5338 }
5339}
5340#[cfg(feature = "Win32_Foundation")]
5341impl ::core::fmt::Debug for RTL_USER_PROCESS_PARAMETERS {
5342 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5343 f.debug_struct("RTL_USER_PROCESS_PARAMETERS").field("Reserved1", &self.Reserved1).field("Reserved2", &self.Reserved2).field("ImagePathName", &self.ImagePathName).field(name:"CommandLine", &self.CommandLine).finish()
5344 }
5345}
5346#[cfg(feature = "Win32_Foundation")]
5347impl ::windows_core::TypeKind for RTL_USER_PROCESS_PARAMETERS {
5348 type TypeKind = ::windows_core::CopyType;
5349}
5350#[cfg(feature = "Win32_Foundation")]
5351impl ::core::cmp::PartialEq for RTL_USER_PROCESS_PARAMETERS {
5352 fn eq(&self, other: &Self) -> bool {
5353 self.Reserved1 == other.Reserved1 && self.Reserved2 == other.Reserved2 && self.ImagePathName == other.ImagePathName && self.CommandLine == other.CommandLine
5354 }
5355}
5356#[cfg(feature = "Win32_Foundation")]
5357impl ::core::cmp::Eq for RTL_USER_PROCESS_PARAMETERS {}
5358#[cfg(feature = "Win32_Foundation")]
5359impl ::core::default::Default for RTL_USER_PROCESS_PARAMETERS {
5360 fn default() -> Self {
5361 unsafe { ::core::mem::zeroed() }
5362 }
5363}
5364#[repr(C)]
5365pub struct SRWLOCK {
5366 pub Ptr: *mut ::core::ffi::c_void,
5367}
5368impl ::core::marker::Copy for SRWLOCK {}
5369impl ::core::clone::Clone for SRWLOCK {
5370 fn clone(&self) -> Self {
5371 *self
5372 }
5373}
5374impl ::core::fmt::Debug for SRWLOCK {
5375 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5376 f.debug_struct("SRWLOCK").field(name:"Ptr", &self.Ptr).finish()
5377 }
5378}
5379impl ::windows_core::TypeKind for SRWLOCK {
5380 type TypeKind = ::windows_core::CopyType;
5381}
5382impl ::core::cmp::PartialEq for SRWLOCK {
5383 fn eq(&self, other: &Self) -> bool {
5384 self.Ptr == other.Ptr
5385 }
5386}
5387impl ::core::cmp::Eq for SRWLOCK {}
5388impl ::core::default::Default for SRWLOCK {
5389 fn default() -> Self {
5390 unsafe { ::core::mem::zeroed() }
5391 }
5392}
5393#[repr(C)]
5394#[doc = "Required features: `\"Win32_Foundation\"`"]
5395#[cfg(feature = "Win32_Foundation")]
5396pub struct STARTUPINFOA {
5397 pub cb: u32,
5398 pub lpReserved: ::windows_core::PSTR,
5399 pub lpDesktop: ::windows_core::PSTR,
5400 pub lpTitle: ::windows_core::PSTR,
5401 pub dwX: u32,
5402 pub dwY: u32,
5403 pub dwXSize: u32,
5404 pub dwYSize: u32,
5405 pub dwXCountChars: u32,
5406 pub dwYCountChars: u32,
5407 pub dwFillAttribute: u32,
5408 pub dwFlags: STARTUPINFOW_FLAGS,
5409 pub wShowWindow: u16,
5410 pub cbReserved2: u16,
5411 pub lpReserved2: *mut u8,
5412 pub hStdInput: super::super::Foundation::HANDLE,
5413 pub hStdOutput: super::super::Foundation::HANDLE,
5414 pub hStdError: super::super::Foundation::HANDLE,
5415}
5416#[cfg(feature = "Win32_Foundation")]
5417impl ::core::marker::Copy for STARTUPINFOA {}
5418#[cfg(feature = "Win32_Foundation")]
5419impl ::core::clone::Clone for STARTUPINFOA {
5420 fn clone(&self) -> Self {
5421 *self
5422 }
5423}
5424#[cfg(feature = "Win32_Foundation")]
5425impl ::core::fmt::Debug for STARTUPINFOA {
5426 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5427 f&mut DebugStruct<'_, '_>.debug_struct("STARTUPINFOA")
5428 .field("cb", &self.cb)
5429 .field("lpReserved", &self.lpReserved)
5430 .field("lpDesktop", &self.lpDesktop)
5431 .field("lpTitle", &self.lpTitle)
5432 .field("dwX", &self.dwX)
5433 .field("dwY", &self.dwY)
5434 .field("dwXSize", &self.dwXSize)
5435 .field("dwYSize", &self.dwYSize)
5436 .field("dwXCountChars", &self.dwXCountChars)
5437 .field("dwYCountChars", &self.dwYCountChars)
5438 .field("dwFillAttribute", &self.dwFillAttribute)
5439 .field("dwFlags", &self.dwFlags)
5440 .field("wShowWindow", &self.wShowWindow)
5441 .field("cbReserved2", &self.cbReserved2)
5442 .field("lpReserved2", &self.lpReserved2)
5443 .field("hStdInput", &self.hStdInput)
5444 .field("hStdOutput", &self.hStdOutput)
5445 .field(name:"hStdError", &self.hStdError)
5446 .finish()
5447 }
5448}
5449#[cfg(feature = "Win32_Foundation")]
5450impl ::windows_core::TypeKind for STARTUPINFOA {
5451 type TypeKind = ::windows_core::CopyType;
5452}
5453#[cfg(feature = "Win32_Foundation")]
5454impl ::core::cmp::PartialEq for STARTUPINFOA {
5455 fn eq(&self, other: &Self) -> bool {
5456 self.cb == other.cb && self.lpReserved == other.lpReserved && self.lpDesktop == other.lpDesktop && self.lpTitle == other.lpTitle && self.dwX == other.dwX && self.dwY == other.dwY && self.dwXSize == other.dwXSize && self.dwYSize == other.dwYSize && self.dwXCountChars == other.dwXCountChars && self.dwYCountChars == other.dwYCountChars && self.dwFillAttribute == other.dwFillAttribute && self.dwFlags == other.dwFlags && self.wShowWindow == other.wShowWindow && self.cbReserved2 == other.cbReserved2 && self.lpReserved2 == other.lpReserved2 && self.hStdInput == other.hStdInput && self.hStdOutput == other.hStdOutput && self.hStdError == other.hStdError
5457 }
5458}
5459#[cfg(feature = "Win32_Foundation")]
5460impl ::core::cmp::Eq for STARTUPINFOA {}
5461#[cfg(feature = "Win32_Foundation")]
5462impl ::core::default::Default for STARTUPINFOA {
5463 fn default() -> Self {
5464 unsafe { ::core::mem::zeroed() }
5465 }
5466}
5467#[repr(C)]
5468#[doc = "Required features: `\"Win32_Foundation\"`"]
5469#[cfg(feature = "Win32_Foundation")]
5470pub struct STARTUPINFOEXA {
5471 pub StartupInfo: STARTUPINFOA,
5472 pub lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST,
5473}
5474#[cfg(feature = "Win32_Foundation")]
5475impl ::core::marker::Copy for STARTUPINFOEXA {}
5476#[cfg(feature = "Win32_Foundation")]
5477impl ::core::clone::Clone for STARTUPINFOEXA {
5478 fn clone(&self) -> Self {
5479 *self
5480 }
5481}
5482#[cfg(feature = "Win32_Foundation")]
5483impl ::core::fmt::Debug for STARTUPINFOEXA {
5484 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5485 f.debug_struct("STARTUPINFOEXA").field("StartupInfo", &self.StartupInfo).field(name:"lpAttributeList", &self.lpAttributeList).finish()
5486 }
5487}
5488#[cfg(feature = "Win32_Foundation")]
5489impl ::windows_core::TypeKind for STARTUPINFOEXA {
5490 type TypeKind = ::windows_core::CopyType;
5491}
5492#[cfg(feature = "Win32_Foundation")]
5493impl ::core::cmp::PartialEq for STARTUPINFOEXA {
5494 fn eq(&self, other: &Self) -> bool {
5495 self.StartupInfo == other.StartupInfo && self.lpAttributeList == other.lpAttributeList
5496 }
5497}
5498#[cfg(feature = "Win32_Foundation")]
5499impl ::core::cmp::Eq for STARTUPINFOEXA {}
5500#[cfg(feature = "Win32_Foundation")]
5501impl ::core::default::Default for STARTUPINFOEXA {
5502 fn default() -> Self {
5503 unsafe { ::core::mem::zeroed() }
5504 }
5505}
5506#[repr(C)]
5507#[doc = "Required features: `\"Win32_Foundation\"`"]
5508#[cfg(feature = "Win32_Foundation")]
5509pub struct STARTUPINFOEXW {
5510 pub StartupInfo: STARTUPINFOW,
5511 pub lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST,
5512}
5513#[cfg(feature = "Win32_Foundation")]
5514impl ::core::marker::Copy for STARTUPINFOEXW {}
5515#[cfg(feature = "Win32_Foundation")]
5516impl ::core::clone::Clone for STARTUPINFOEXW {
5517 fn clone(&self) -> Self {
5518 *self
5519 }
5520}
5521#[cfg(feature = "Win32_Foundation")]
5522impl ::core::fmt::Debug for STARTUPINFOEXW {
5523 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5524 f.debug_struct("STARTUPINFOEXW").field("StartupInfo", &self.StartupInfo).field(name:"lpAttributeList", &self.lpAttributeList).finish()
5525 }
5526}
5527#[cfg(feature = "Win32_Foundation")]
5528impl ::windows_core::TypeKind for STARTUPINFOEXW {
5529 type TypeKind = ::windows_core::CopyType;
5530}
5531#[cfg(feature = "Win32_Foundation")]
5532impl ::core::cmp::PartialEq for STARTUPINFOEXW {
5533 fn eq(&self, other: &Self) -> bool {
5534 self.StartupInfo == other.StartupInfo && self.lpAttributeList == other.lpAttributeList
5535 }
5536}
5537#[cfg(feature = "Win32_Foundation")]
5538impl ::core::cmp::Eq for STARTUPINFOEXW {}
5539#[cfg(feature = "Win32_Foundation")]
5540impl ::core::default::Default for STARTUPINFOEXW {
5541 fn default() -> Self {
5542 unsafe { ::core::mem::zeroed() }
5543 }
5544}
5545#[repr(C)]
5546#[doc = "Required features: `\"Win32_Foundation\"`"]
5547#[cfg(feature = "Win32_Foundation")]
5548pub struct STARTUPINFOW {
5549 pub cb: u32,
5550 pub lpReserved: ::windows_core::PWSTR,
5551 pub lpDesktop: ::windows_core::PWSTR,
5552 pub lpTitle: ::windows_core::PWSTR,
5553 pub dwX: u32,
5554 pub dwY: u32,
5555 pub dwXSize: u32,
5556 pub dwYSize: u32,
5557 pub dwXCountChars: u32,
5558 pub dwYCountChars: u32,
5559 pub dwFillAttribute: u32,
5560 pub dwFlags: STARTUPINFOW_FLAGS,
5561 pub wShowWindow: u16,
5562 pub cbReserved2: u16,
5563 pub lpReserved2: *mut u8,
5564 pub hStdInput: super::super::Foundation::HANDLE,
5565 pub hStdOutput: super::super::Foundation::HANDLE,
5566 pub hStdError: super::super::Foundation::HANDLE,
5567}
5568#[cfg(feature = "Win32_Foundation")]
5569impl ::core::marker::Copy for STARTUPINFOW {}
5570#[cfg(feature = "Win32_Foundation")]
5571impl ::core::clone::Clone for STARTUPINFOW {
5572 fn clone(&self) -> Self {
5573 *self
5574 }
5575}
5576#[cfg(feature = "Win32_Foundation")]
5577impl ::core::fmt::Debug for STARTUPINFOW {
5578 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5579 f&mut DebugStruct<'_, '_>.debug_struct("STARTUPINFOW")
5580 .field("cb", &self.cb)
5581 .field("lpReserved", &self.lpReserved)
5582 .field("lpDesktop", &self.lpDesktop)
5583 .field("lpTitle", &self.lpTitle)
5584 .field("dwX", &self.dwX)
5585 .field("dwY", &self.dwY)
5586 .field("dwXSize", &self.dwXSize)
5587 .field("dwYSize", &self.dwYSize)
5588 .field("dwXCountChars", &self.dwXCountChars)
5589 .field("dwYCountChars", &self.dwYCountChars)
5590 .field("dwFillAttribute", &self.dwFillAttribute)
5591 .field("dwFlags", &self.dwFlags)
5592 .field("wShowWindow", &self.wShowWindow)
5593 .field("cbReserved2", &self.cbReserved2)
5594 .field("lpReserved2", &self.lpReserved2)
5595 .field("hStdInput", &self.hStdInput)
5596 .field("hStdOutput", &self.hStdOutput)
5597 .field(name:"hStdError", &self.hStdError)
5598 .finish()
5599 }
5600}
5601#[cfg(feature = "Win32_Foundation")]
5602impl ::windows_core::TypeKind for STARTUPINFOW {
5603 type TypeKind = ::windows_core::CopyType;
5604}
5605#[cfg(feature = "Win32_Foundation")]
5606impl ::core::cmp::PartialEq for STARTUPINFOW {
5607 fn eq(&self, other: &Self) -> bool {
5608 self.cb == other.cb && self.lpReserved == other.lpReserved && self.lpDesktop == other.lpDesktop && self.lpTitle == other.lpTitle && self.dwX == other.dwX && self.dwY == other.dwY && self.dwXSize == other.dwXSize && self.dwYSize == other.dwYSize && self.dwXCountChars == other.dwXCountChars && self.dwYCountChars == other.dwYCountChars && self.dwFillAttribute == other.dwFillAttribute && self.dwFlags == other.dwFlags && self.wShowWindow == other.wShowWindow && self.cbReserved2 == other.cbReserved2 && self.lpReserved2 == other.lpReserved2 && self.hStdInput == other.hStdInput && self.hStdOutput == other.hStdOutput && self.hStdError == other.hStdError
5609 }
5610}
5611#[cfg(feature = "Win32_Foundation")]
5612impl ::core::cmp::Eq for STARTUPINFOW {}
5613#[cfg(feature = "Win32_Foundation")]
5614impl ::core::default::Default for STARTUPINFOW {
5615 fn default() -> Self {
5616 unsafe { ::core::mem::zeroed() }
5617 }
5618}
5619#[repr(C)]
5620pub struct SYNCHRONIZATION_BARRIER {
5621 pub Reserved1: u32,
5622 pub Reserved2: u32,
5623 pub Reserved3: [usize; 2],
5624 pub Reserved4: u32,
5625 pub Reserved5: u32,
5626}
5627impl ::core::marker::Copy for SYNCHRONIZATION_BARRIER {}
5628impl ::core::clone::Clone for SYNCHRONIZATION_BARRIER {
5629 fn clone(&self) -> Self {
5630 *self
5631 }
5632}
5633impl ::core::fmt::Debug for SYNCHRONIZATION_BARRIER {
5634 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5635 f.debug_struct("SYNCHRONIZATION_BARRIER").field("Reserved1", &self.Reserved1).field("Reserved2", &self.Reserved2).field("Reserved3", &self.Reserved3).field("Reserved4", &self.Reserved4).field(name:"Reserved5", &self.Reserved5).finish()
5636 }
5637}
5638impl ::windows_core::TypeKind for SYNCHRONIZATION_BARRIER {
5639 type TypeKind = ::windows_core::CopyType;
5640}
5641impl ::core::cmp::PartialEq for SYNCHRONIZATION_BARRIER {
5642 fn eq(&self, other: &Self) -> bool {
5643 self.Reserved1 == other.Reserved1 && self.Reserved2 == other.Reserved2 && self.Reserved3 == other.Reserved3 && self.Reserved4 == other.Reserved4 && self.Reserved5 == other.Reserved5
5644 }
5645}
5646impl ::core::cmp::Eq for SYNCHRONIZATION_BARRIER {}
5647impl ::core::default::Default for SYNCHRONIZATION_BARRIER {
5648 fn default() -> Self {
5649 unsafe { ::core::mem::zeroed() }
5650 }
5651}
5652#[repr(C)]
5653#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Kernel\"`"]
5654#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
5655pub struct TEB {
5656 pub Reserved1: [*mut ::core::ffi::c_void; 12],
5657 pub ProcessEnvironmentBlock: *mut PEB,
5658 pub Reserved2: [*mut ::core::ffi::c_void; 399],
5659 pub Reserved3: [u8; 1952],
5660 pub TlsSlots: [*mut ::core::ffi::c_void; 64],
5661 pub Reserved4: [u8; 8],
5662 pub Reserved5: [*mut ::core::ffi::c_void; 26],
5663 pub ReservedForOle: *mut ::core::ffi::c_void,
5664 pub Reserved6: [*mut ::core::ffi::c_void; 4],
5665 pub TlsExpansionSlots: *mut ::core::ffi::c_void,
5666}
5667#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
5668impl ::core::marker::Copy for TEB {}
5669#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
5670impl ::core::clone::Clone for TEB {
5671 fn clone(&self) -> Self {
5672 *self
5673 }
5674}
5675#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
5676impl ::core::fmt::Debug for TEB {
5677 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5678 f.debug_struct("TEB").field("Reserved1", &self.Reserved1).field("ProcessEnvironmentBlock", &self.ProcessEnvironmentBlock).field("Reserved2", &self.Reserved2).field("Reserved3", &self.Reserved3).field("TlsSlots", &self.TlsSlots).field("Reserved4", &self.Reserved4).field("Reserved5", &self.Reserved5).field("ReservedForOle", &self.ReservedForOle).field("Reserved6", &self.Reserved6).field("TlsExpansionSlots", &self.TlsExpansionSlots).finish()
5679 }
5680}
5681#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
5682impl ::windows_core::TypeKind for TEB {
5683 type TypeKind = ::windows_core::CopyType;
5684}
5685#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
5686impl ::core::cmp::PartialEq for TEB {
5687 fn eq(&self, other: &Self) -> bool {
5688 self.Reserved1 == other.Reserved1 && self.ProcessEnvironmentBlock == other.ProcessEnvironmentBlock && self.Reserved2 == other.Reserved2 && self.Reserved3 == other.Reserved3 && self.TlsSlots == other.TlsSlots && self.Reserved4 == other.Reserved4 && self.Reserved5 == other.Reserved5 && self.ReservedForOle == other.ReservedForOle && self.Reserved6 == other.Reserved6 && self.TlsExpansionSlots == other.TlsExpansionSlots
5689 }
5690}
5691#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
5692impl ::core::cmp::Eq for TEB {}
5693#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
5694impl ::core::default::Default for TEB {
5695 fn default() -> Self {
5696 unsafe { ::core::mem::zeroed() }
5697 }
5698}
5699#[repr(C)]
5700pub struct THREAD_POWER_THROTTLING_STATE {
5701 pub Version: u32,
5702 pub ControlMask: u32,
5703 pub StateMask: u32,
5704}
5705impl ::core::marker::Copy for THREAD_POWER_THROTTLING_STATE {}
5706impl ::core::clone::Clone for THREAD_POWER_THROTTLING_STATE {
5707 fn clone(&self) -> Self {
5708 *self
5709 }
5710}
5711impl ::core::fmt::Debug for THREAD_POWER_THROTTLING_STATE {
5712 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5713 f.debug_struct("THREAD_POWER_THROTTLING_STATE").field("Version", &self.Version).field("ControlMask", &self.ControlMask).field(name:"StateMask", &self.StateMask).finish()
5714 }
5715}
5716impl ::windows_core::TypeKind for THREAD_POWER_THROTTLING_STATE {
5717 type TypeKind = ::windows_core::CopyType;
5718}
5719impl ::core::cmp::PartialEq for THREAD_POWER_THROTTLING_STATE {
5720 fn eq(&self, other: &Self) -> bool {
5721 self.Version == other.Version && self.ControlMask == other.ControlMask && self.StateMask == other.StateMask
5722 }
5723}
5724impl ::core::cmp::Eq for THREAD_POWER_THROTTLING_STATE {}
5725impl ::core::default::Default for THREAD_POWER_THROTTLING_STATE {
5726 fn default() -> Self {
5727 unsafe { ::core::mem::zeroed() }
5728 }
5729}
5730#[repr(C)]
5731pub struct TP_CALLBACK_ENVIRON_V3 {
5732 pub Version: u32,
5733 pub Pool: PTP_POOL,
5734 pub CleanupGroup: PTP_CLEANUP_GROUP,
5735 pub CleanupGroupCancelCallback: PTP_CLEANUP_GROUP_CANCEL_CALLBACK,
5736 pub RaceDll: *mut ::core::ffi::c_void,
5737 pub ActivationContext: isize,
5738 pub FinalizationCallback: PTP_SIMPLE_CALLBACK,
5739 pub u: TP_CALLBACK_ENVIRON_V3_0,
5740 pub CallbackPriority: TP_CALLBACK_PRIORITY,
5741 pub Size: u32,
5742}
5743impl ::core::marker::Copy for TP_CALLBACK_ENVIRON_V3 {}
5744impl ::core::clone::Clone for TP_CALLBACK_ENVIRON_V3 {
5745 fn clone(&self) -> Self {
5746 *self
5747 }
5748}
5749impl ::windows_core::TypeKind for TP_CALLBACK_ENVIRON_V3 {
5750 type TypeKind = ::windows_core::CopyType;
5751}
5752impl ::core::default::Default for TP_CALLBACK_ENVIRON_V3 {
5753 fn default() -> Self {
5754 unsafe { ::core::mem::zeroed() }
5755 }
5756}
5757#[repr(C)]
5758pub union TP_CALLBACK_ENVIRON_V3_0 {
5759 pub Flags: u32,
5760 pub s: TP_CALLBACK_ENVIRON_V3_0_0,
5761}
5762impl ::core::marker::Copy for TP_CALLBACK_ENVIRON_V3_0 {}
5763impl ::core::clone::Clone for TP_CALLBACK_ENVIRON_V3_0 {
5764 fn clone(&self) -> Self {
5765 *self
5766 }
5767}
5768impl ::windows_core::TypeKind for TP_CALLBACK_ENVIRON_V3_0 {
5769 type TypeKind = ::windows_core::CopyType;
5770}
5771impl ::core::default::Default for TP_CALLBACK_ENVIRON_V3_0 {
5772 fn default() -> Self {
5773 unsafe { ::core::mem::zeroed() }
5774 }
5775}
5776#[repr(C)]
5777pub struct TP_CALLBACK_ENVIRON_V3_0_0 {
5778 pub _bitfield: u32,
5779}
5780impl ::core::marker::Copy for TP_CALLBACK_ENVIRON_V3_0_0 {}
5781impl ::core::clone::Clone for TP_CALLBACK_ENVIRON_V3_0_0 {
5782 fn clone(&self) -> Self {
5783 *self
5784 }
5785}
5786impl ::core::fmt::Debug for TP_CALLBACK_ENVIRON_V3_0_0 {
5787 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5788 f.debug_struct("TP_CALLBACK_ENVIRON_V3_0_0").field(name:"_bitfield", &self._bitfield).finish()
5789 }
5790}
5791impl ::windows_core::TypeKind for TP_CALLBACK_ENVIRON_V3_0_0 {
5792 type TypeKind = ::windows_core::CopyType;
5793}
5794impl ::core::cmp::PartialEq for TP_CALLBACK_ENVIRON_V3_0_0 {
5795 fn eq(&self, other: &Self) -> bool {
5796 self._bitfield == other._bitfield
5797 }
5798}
5799impl ::core::cmp::Eq for TP_CALLBACK_ENVIRON_V3_0_0 {}
5800impl ::core::default::Default for TP_CALLBACK_ENVIRON_V3_0_0 {
5801 fn default() -> Self {
5802 unsafe { ::core::mem::zeroed() }
5803 }
5804}
5805#[repr(C)]
5806pub struct TP_POOL_STACK_INFORMATION {
5807 pub StackReserve: usize,
5808 pub StackCommit: usize,
5809}
5810impl ::core::marker::Copy for TP_POOL_STACK_INFORMATION {}
5811impl ::core::clone::Clone for TP_POOL_STACK_INFORMATION {
5812 fn clone(&self) -> Self {
5813 *self
5814 }
5815}
5816impl ::core::fmt::Debug for TP_POOL_STACK_INFORMATION {
5817 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5818 f.debug_struct("TP_POOL_STACK_INFORMATION").field("StackReserve", &self.StackReserve).field(name:"StackCommit", &self.StackCommit).finish()
5819 }
5820}
5821impl ::windows_core::TypeKind for TP_POOL_STACK_INFORMATION {
5822 type TypeKind = ::windows_core::CopyType;
5823}
5824impl ::core::cmp::PartialEq for TP_POOL_STACK_INFORMATION {
5825 fn eq(&self, other: &Self) -> bool {
5826 self.StackReserve == other.StackReserve && self.StackCommit == other.StackCommit
5827 }
5828}
5829impl ::core::cmp::Eq for TP_POOL_STACK_INFORMATION {}
5830impl ::core::default::Default for TP_POOL_STACK_INFORMATION {
5831 fn default() -> Self {
5832 unsafe { ::core::mem::zeroed() }
5833 }
5834}
5835#[repr(C)]
5836#[doc = "Required features: `\"Win32_System_SystemServices\"`"]
5837#[cfg(feature = "Win32_System_SystemServices")]
5838pub struct UMS_SCHEDULER_STARTUP_INFO {
5839 pub UmsVersion: u32,
5840 pub CompletionList: *mut ::core::ffi::c_void,
5841 pub SchedulerProc: PRTL_UMS_SCHEDULER_ENTRY_POINT,
5842 pub SchedulerParam: *mut ::core::ffi::c_void,
5843}
5844#[cfg(feature = "Win32_System_SystemServices")]
5845impl ::core::marker::Copy for UMS_SCHEDULER_STARTUP_INFO {}
5846#[cfg(feature = "Win32_System_SystemServices")]
5847impl ::core::clone::Clone for UMS_SCHEDULER_STARTUP_INFO {
5848 fn clone(&self) -> Self {
5849 *self
5850 }
5851}
5852#[cfg(feature = "Win32_System_SystemServices")]
5853impl ::core::fmt::Debug for UMS_SCHEDULER_STARTUP_INFO {
5854 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5855 f.debug_struct("UMS_SCHEDULER_STARTUP_INFO").field("UmsVersion", &self.UmsVersion).field("CompletionList", &self.CompletionList).field("SchedulerParam", &self.SchedulerParam).finish()
5856 }
5857}
5858#[cfg(feature = "Win32_System_SystemServices")]
5859impl ::windows_core::TypeKind for UMS_SCHEDULER_STARTUP_INFO {
5860 type TypeKind = ::windows_core::CopyType;
5861}
5862#[cfg(feature = "Win32_System_SystemServices")]
5863impl ::core::default::Default for UMS_SCHEDULER_STARTUP_INFO {
5864 fn default() -> Self {
5865 unsafe { ::core::mem::zeroed() }
5866 }
5867}
5868#[repr(C)]
5869pub struct UMS_SYSTEM_THREAD_INFORMATION {
5870 pub UmsVersion: u32,
5871 pub Anonymous: UMS_SYSTEM_THREAD_INFORMATION_0,
5872}
5873impl ::core::marker::Copy for UMS_SYSTEM_THREAD_INFORMATION {}
5874impl ::core::clone::Clone for UMS_SYSTEM_THREAD_INFORMATION {
5875 fn clone(&self) -> Self {
5876 *self
5877 }
5878}
5879impl ::windows_core::TypeKind for UMS_SYSTEM_THREAD_INFORMATION {
5880 type TypeKind = ::windows_core::CopyType;
5881}
5882impl ::core::default::Default for UMS_SYSTEM_THREAD_INFORMATION {
5883 fn default() -> Self {
5884 unsafe { ::core::mem::zeroed() }
5885 }
5886}
5887#[repr(C)]
5888pub union UMS_SYSTEM_THREAD_INFORMATION_0 {
5889 pub Anonymous: UMS_SYSTEM_THREAD_INFORMATION_0_0,
5890 pub ThreadUmsFlags: u32,
5891}
5892impl ::core::marker::Copy for UMS_SYSTEM_THREAD_INFORMATION_0 {}
5893impl ::core::clone::Clone for UMS_SYSTEM_THREAD_INFORMATION_0 {
5894 fn clone(&self) -> Self {
5895 *self
5896 }
5897}
5898impl ::windows_core::TypeKind for UMS_SYSTEM_THREAD_INFORMATION_0 {
5899 type TypeKind = ::windows_core::CopyType;
5900}
5901impl ::core::default::Default for UMS_SYSTEM_THREAD_INFORMATION_0 {
5902 fn default() -> Self {
5903 unsafe { ::core::mem::zeroed() }
5904 }
5905}
5906#[repr(C)]
5907pub struct UMS_SYSTEM_THREAD_INFORMATION_0_0 {
5908 pub _bitfield: u32,
5909}
5910impl ::core::marker::Copy for UMS_SYSTEM_THREAD_INFORMATION_0_0 {}
5911impl ::core::clone::Clone for UMS_SYSTEM_THREAD_INFORMATION_0_0 {
5912 fn clone(&self) -> Self {
5913 *self
5914 }
5915}
5916impl ::core::fmt::Debug for UMS_SYSTEM_THREAD_INFORMATION_0_0 {
5917 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5918 f.debug_struct("UMS_SYSTEM_THREAD_INFORMATION_0_0").field(name:"_bitfield", &self._bitfield).finish()
5919 }
5920}
5921impl ::windows_core::TypeKind for UMS_SYSTEM_THREAD_INFORMATION_0_0 {
5922 type TypeKind = ::windows_core::CopyType;
5923}
5924impl ::core::cmp::PartialEq for UMS_SYSTEM_THREAD_INFORMATION_0_0 {
5925 fn eq(&self, other: &Self) -> bool {
5926 self._bitfield == other._bitfield
5927 }
5928}
5929impl ::core::cmp::Eq for UMS_SYSTEM_THREAD_INFORMATION_0_0 {}
5930impl ::core::default::Default for UMS_SYSTEM_THREAD_INFORMATION_0_0 {
5931 fn default() -> Self {
5932 unsafe { ::core::mem::zeroed() }
5933 }
5934}
5935pub type APC_CALLBACK_FUNCTION = ::core::option::Option<unsafe extern "system" fn(param0: u32, param1: *mut ::core::ffi::c_void, param2: *mut ::core::ffi::c_void) -> ()>;
5936pub type LPFIBER_START_ROUTINE = ::core::option::Option<unsafe extern "system" fn(lpfiberparameter: *mut ::core::ffi::c_void) -> ()>;
5937pub type LPTHREAD_START_ROUTINE = ::core::option::Option<unsafe extern "system" fn(lpthreadparameter: *mut ::core::ffi::c_void) -> u32>;
5938pub type PFLS_CALLBACK_FUNCTION = ::core::option::Option<unsafe extern "system" fn(lpflsdata: *const ::core::ffi::c_void) -> ()>;
5939#[doc = "Required features: `\"Win32_Foundation\"`"]
5940#[cfg(feature = "Win32_Foundation")]
5941pub type PINIT_ONCE_FN = ::core::option::Option<unsafe extern "system" fn(initonce: *mut INIT_ONCE, parameter: *mut ::core::ffi::c_void, context: *mut *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL>;
5942pub type PPS_POST_PROCESS_INIT_ROUTINE = ::core::option::Option<unsafe extern "system" fn() -> ()>;
5943#[doc = "Required features: `\"Win32_System_SystemServices\"`"]
5944#[cfg(feature = "Win32_System_SystemServices")]
5945pub type PRTL_UMS_SCHEDULER_ENTRY_POINT = ::core::option::Option<unsafe extern "system" fn(reason: super::SystemServices::RTL_UMS_SCHEDULER_REASON, activationpayload: usize, schedulerparam: *const ::core::ffi::c_void) -> ()>;
5946pub type PTIMERAPCROUTINE = ::core::option::Option<unsafe extern "system" fn(lpargtocompletionroutine: *const ::core::ffi::c_void, dwtimerlowvalue: u32, dwtimerhighvalue: u32) -> ()>;
5947pub type PTP_CLEANUP_GROUP_CANCEL_CALLBACK = ::core::option::Option<unsafe extern "system" fn(objectcontext: *mut ::core::ffi::c_void, cleanupcontext: *mut ::core::ffi::c_void) -> ()>;
5948pub type PTP_SIMPLE_CALLBACK = ::core::option::Option<unsafe extern "system" fn(instance: PTP_CALLBACK_INSTANCE, context: *mut ::core::ffi::c_void) -> ()>;
5949pub type PTP_TIMER_CALLBACK = ::core::option::Option<unsafe extern "system" fn(instance: PTP_CALLBACK_INSTANCE, context: *mut ::core::ffi::c_void, timer: PTP_TIMER) -> ()>;
5950pub type PTP_WAIT_CALLBACK = ::core::option::Option<unsafe extern "system" fn(instance: PTP_CALLBACK_INSTANCE, context: *mut ::core::ffi::c_void, wait: PTP_WAIT, waitresult: u32) -> ()>;
5951pub type PTP_WIN32_IO_CALLBACK = ::core::option::Option<unsafe extern "system" fn(instance: PTP_CALLBACK_INSTANCE, context: *mut ::core::ffi::c_void, overlapped: *mut ::core::ffi::c_void, ioresult: u32, numberofbytestransferred: usize, io: PTP_IO) -> ()>;
5952pub type PTP_WORK_CALLBACK = ::core::option::Option<unsafe extern "system" fn(instance: PTP_CALLBACK_INSTANCE, context: *mut ::core::ffi::c_void, work: PTP_WORK) -> ()>;
5953pub type RTWQPERIODICCALLBACK = ::core::option::Option<unsafe extern "system" fn(context: ::core::option::Option<::windows_core::IUnknown>) -> ()>;
5954#[doc = "Required features: `\"Win32_Foundation\"`"]
5955#[cfg(feature = "Win32_Foundation")]
5956pub type WAITORTIMERCALLBACK = ::core::option::Option<unsafe extern "system" fn(param0: *mut ::core::ffi::c_void, param1: super::super::Foundation::BOOLEAN) -> ()>;
5957pub type WORKERCALLBACKFUNC = ::core::option::Option<unsafe extern "system" fn(param0: *mut ::core::ffi::c_void) -> ()>;
5958#[cfg(feature = "implement")]
5959::core::include!("impl.rs");
5960