/
mod.rs
2020 lines (2020 loc) · 131 KB
/
mod.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
#[link(name = "windows")]
extern "system" {
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn AcquireSRWLockExclusive(srwlock: *mut RTL_SRWLOCK);
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn AcquireSRWLockShared(srwlock: *mut RTL_SRWLOCK);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn AddIntegrityLabelToBoundaryDescriptor(boundarydescriptor: *mut super::super::Foundation::HANDLE, integritylabel: super::super::Foundation::PSID) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn AddSIDToBoundaryDescriptor(boundarydescriptor: *mut super::super::Foundation::HANDLE, requiredsid: super::super::Foundation::PSID) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn AttachThreadInput(idattach: u32, idattachto: u32, fattach: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn CallbackMayRunLong(pci: *mut TP_CALLBACK_INSTANCE) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn CancelThreadpoolIo(pio: *mut TP_IO);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn CancelWaitableTimer(htimer: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn ChangeTimerQueueTimer(timerqueue: super::super::Foundation::HANDLE, timer: super::super::Foundation::HANDLE, duetime: u32, period: u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn ClosePrivateNamespace(handle: NamespaceHandle, flags: u32) -> super::super::Foundation::BOOLEAN;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn CloseThreadpool(ptpp: PTP_POOL);
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn CloseThreadpoolCleanupGroup(ptpcg: isize);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn CloseThreadpoolCleanupGroupMembers(ptpcg: isize, fcancelpendingcallbacks: super::super::Foundation::BOOL, pvcleanupcontext: *mut ::core::ffi::c_void);
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn CloseThreadpoolIo(pio: *mut TP_IO);
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn CloseThreadpoolTimer(pti: *mut TP_TIMER);
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn CloseThreadpoolWait(pwa: *mut TP_WAIT);
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn CloseThreadpoolWork(pwk: *mut TP_WORK);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn ConvertFiberToThread() -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn ConvertThreadToFiber(lpparameter: *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn ConvertThreadToFiberEx(lpparameter: *const ::core::ffi::c_void, dwflags: u32) -> *mut ::core::ffi::c_void;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn CreateBoundaryDescriptorA(name: super::super::Foundation::PSTR, flags: u32) -> BoundaryDescriptorHandle;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn CreateBoundaryDescriptorW(name: super::super::Foundation::PWSTR, flags: u32) -> BoundaryDescriptorHandle;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub fn CreateEventA(lpeventattributes: *const super::super::Security::SECURITY_ATTRIBUTES, bmanualreset: super::super::Foundation::BOOL, binitialstate: super::super::Foundation::BOOL, lpname: super::super::Foundation::PSTR) -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub fn CreateEventExA(lpeventattributes: *const super::super::Security::SECURITY_ATTRIBUTES, lpname: super::super::Foundation::PSTR, dwflags: CREATE_EVENT, dwdesiredaccess: u32) -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub fn CreateEventExW(lpeventattributes: *const super::super::Security::SECURITY_ATTRIBUTES, lpname: super::super::Foundation::PWSTR, dwflags: CREATE_EVENT, dwdesiredaccess: u32) -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub fn CreateEventW(lpeventattributes: *const super::super::Security::SECURITY_ATTRIBUTES, bmanualreset: super::super::Foundation::BOOL, binitialstate: super::super::Foundation::BOOL, lpname: super::super::Foundation::PWSTR) -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn CreateFiber(dwstacksize: usize, lpstartaddress: LPFIBER_START_ROUTINE, lpparameter: *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn CreateFiberEx(dwstackcommitsize: usize, dwstackreservesize: usize, dwflags: u32, lpstartaddress: LPFIBER_START_ROUTINE, lpparameter: *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub fn CreateMutexA(lpmutexattributes: *const super::super::Security::SECURITY_ATTRIBUTES, binitialowner: super::super::Foundation::BOOL, lpname: super::super::Foundation::PSTR) -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub fn CreateMutexExA(lpmutexattributes: *const super::super::Security::SECURITY_ATTRIBUTES, lpname: super::super::Foundation::PSTR, dwflags: u32, dwdesiredaccess: u32) -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub fn CreateMutexExW(lpmutexattributes: *const super::super::Security::SECURITY_ATTRIBUTES, lpname: super::super::Foundation::PWSTR, dwflags: u32, dwdesiredaccess: u32) -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub fn CreateMutexW(lpmutexattributes: *const super::super::Security::SECURITY_ATTRIBUTES, binitialowner: super::super::Foundation::BOOL, lpname: super::super::Foundation::PWSTR) -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub fn CreatePrivateNamespaceA(lpprivatenamespaceattributes: *const super::super::Security::SECURITY_ATTRIBUTES, lpboundarydescriptor: *const ::core::ffi::c_void, lpaliasprefix: super::super::Foundation::PSTR) -> NamespaceHandle;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub fn CreatePrivateNamespaceW(lpprivatenamespaceattributes: *const super::super::Security::SECURITY_ATTRIBUTES, lpboundarydescriptor: *const ::core::ffi::c_void, lpaliasprefix: super::super::Foundation::PWSTR) -> NamespaceHandle;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub fn CreateProcessA(lpapplicationname: super::super::Foundation::PSTR, lpcommandline: super::super::Foundation::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: super::super::Foundation::PSTR, lpstartupinfo: *const STARTUPINFOA, lpprocessinformation: *mut PROCESS_INFORMATION) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub fn CreateProcessAsUserA(htoken: super::super::Foundation::HANDLE, lpapplicationname: super::super::Foundation::PSTR, lpcommandline: super::super::Foundation::PSTR, lpprocessattributes: *const super::super::Security::SECURITY_ATTRIBUTES, lpthreadattributes: *const super::super::Security::SECURITY_ATTRIBUTES, binherithandles: super::super::Foundation::BOOL, dwcreationflags: u32, lpenvironment: *const ::core::ffi::c_void, lpcurrentdirectory: super::super::Foundation::PSTR, lpstartupinfo: *const STARTUPINFOA, lpprocessinformation: *mut PROCESS_INFORMATION) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub fn CreateProcessAsUserW(htoken: super::super::Foundation::HANDLE, lpapplicationname: super::super::Foundation::PWSTR, lpcommandline: super::super::Foundation::PWSTR, lpprocessattributes: *const super::super::Security::SECURITY_ATTRIBUTES, lpthreadattributes: *const super::super::Security::SECURITY_ATTRIBUTES, binherithandles: super::super::Foundation::BOOL, dwcreationflags: u32, lpenvironment: *const ::core::ffi::c_void, lpcurrentdirectory: super::super::Foundation::PWSTR, lpstartupinfo: *const STARTUPINFOW, lpprocessinformation: *mut PROCESS_INFORMATION) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub fn CreateProcessW(lpapplicationname: super::super::Foundation::PWSTR, lpcommandline: super::super::Foundation::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: super::super::Foundation::PWSTR, lpstartupinfo: *const STARTUPINFOW, lpprocessinformation: *mut PROCESS_INFORMATION) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn CreateProcessWithLogonW(lpusername: super::super::Foundation::PWSTR, lpdomain: super::super::Foundation::PWSTR, lppassword: super::super::Foundation::PWSTR, dwlogonflags: CREATE_PROCESS_LOGON_FLAGS, lpapplicationname: super::super::Foundation::PWSTR, lpcommandline: super::super::Foundation::PWSTR, dwcreationflags: u32, lpenvironment: *const ::core::ffi::c_void, lpcurrentdirectory: super::super::Foundation::PWSTR, lpstartupinfo: *const STARTUPINFOW, lpprocessinformation: *mut PROCESS_INFORMATION) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn CreateProcessWithTokenW(htoken: super::super::Foundation::HANDLE, dwlogonflags: CREATE_PROCESS_LOGON_FLAGS, lpapplicationname: super::super::Foundation::PWSTR, lpcommandline: super::super::Foundation::PWSTR, dwcreationflags: u32, lpenvironment: *const ::core::ffi::c_void, lpcurrentdirectory: super::super::Foundation::PWSTR, lpstartupinfo: *const STARTUPINFOW, lpprocessinformation: *mut PROCESS_INFORMATION) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub 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;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub 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;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub fn CreateSemaphoreA(lpsemaphoreattributes: *const super::super::Security::SECURITY_ATTRIBUTES, linitialcount: i32, lmaximumcount: i32, lpname: super::super::Foundation::PSTR) -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub fn CreateSemaphoreExA(lpsemaphoreattributes: *const super::super::Security::SECURITY_ATTRIBUTES, linitialcount: i32, lmaximumcount: i32, lpname: super::super::Foundation::PSTR, dwflags: u32, dwdesiredaccess: u32) -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub fn CreateSemaphoreExW(lpsemaphoreattributes: *const super::super::Security::SECURITY_ATTRIBUTES, linitialcount: i32, lmaximumcount: i32, lpname: super::super::Foundation::PWSTR, dwflags: u32, dwdesiredaccess: u32) -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub fn CreateSemaphoreW(lpsemaphoreattributes: *const super::super::Security::SECURITY_ATTRIBUTES, linitialcount: i32, lmaximumcount: i32, lpname: super::super::Foundation::PWSTR) -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub 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;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn CreateThreadpool(reserved: *mut ::core::ffi::c_void) -> PTP_POOL;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn CreateThreadpoolCleanupGroup() -> isize;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn CreateThreadpoolIo(fl: super::super::Foundation::HANDLE, pfnio: PTP_WIN32_IO_CALLBACK, pv: *mut ::core::ffi::c_void, pcbe: *const TP_CALLBACK_ENVIRON_V3) -> *mut TP_IO;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn CreateThreadpoolTimer(pfnti: PTP_TIMER_CALLBACK, pv: *mut ::core::ffi::c_void, pcbe: *const TP_CALLBACK_ENVIRON_V3) -> *mut TP_TIMER;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn CreateThreadpoolWait(pfnwa: PTP_WAIT_CALLBACK, pv: *mut ::core::ffi::c_void, pcbe: *const TP_CALLBACK_ENVIRON_V3) -> *mut TP_WAIT;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn CreateThreadpoolWork(pfnwk: PTP_WORK_CALLBACK, pv: *mut ::core::ffi::c_void, pcbe: *const TP_CALLBACK_ENVIRON_V3) -> *mut TP_WORK;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn CreateTimerQueue() -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub 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;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn CreateUmsCompletionList(umscompletionlist: *mut *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn CreateUmsThreadContext(lpumsthread: *mut *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub fn CreateWaitableTimerExW(lptimerattributes: *const super::super::Security::SECURITY_ATTRIBUTES, lptimername: super::super::Foundation::PWSTR, dwflags: u32, dwdesiredaccess: u32) -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub fn CreateWaitableTimerW(lptimerattributes: *const super::super::Security::SECURITY_ATTRIBUTES, bmanualreset: super::super::Foundation::BOOL, lptimername: super::super::Foundation::PWSTR) -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn DeleteBoundaryDescriptor(boundarydescriptor: BoundaryDescriptorHandle);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_Kernel'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
pub fn DeleteCriticalSection(lpcriticalsection: *mut RTL_CRITICAL_SECTION);
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn DeleteFiber(lpfiber: *const ::core::ffi::c_void);
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn DeleteProcThreadAttributeList(lpattributelist: LPPROC_THREAD_ATTRIBUTE_LIST);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn DeleteSynchronizationBarrier(lpbarrier: *mut RTL_BARRIER) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn DeleteTimerQueue(timerqueue: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn DeleteTimerQueueEx(timerqueue: super::super::Foundation::HANDLE, completionevent: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn DeleteTimerQueueTimer(timerqueue: super::super::Foundation::HANDLE, timer: super::super::Foundation::HANDLE, completionevent: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn DeleteUmsCompletionList(umscompletionlist: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn DeleteUmsThreadContext(umsthread: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn DequeueUmsCompletionListItems(umscompletionlist: *const ::core::ffi::c_void, waittimeout: u32, umsthreadlist: *mut *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn DisassociateCurrentThreadFromCallback(pci: *mut TP_CALLBACK_INSTANCE);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_Kernel'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
pub fn EnterCriticalSection(lpcriticalsection: *mut RTL_CRITICAL_SECTION);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn EnterSynchronizationBarrier(lpbarrier: *mut RTL_BARRIER, dwflags: u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_SystemServices'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_SystemServices"))]
pub fn EnterUmsSchedulingMode(schedulerstartupinfo: *const UMS_SCHEDULER_STARTUP_INFO) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn ExecuteUmsThread(umsthread: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn ExitProcess(uexitcode: u32);
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn ExitThread(dwexitcode: u32);
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn FlsAlloc(lpcallback: PFLS_CALLBACK_FUNCTION) -> u32;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn FlsFree(dwflsindex: u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn FlsGetValue(dwflsindex: u32) -> *mut ::core::ffi::c_void;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn FlsSetValue(dwflsindex: u32, lpflsdata: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn FlushProcessWriteBuffers();
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn FreeLibraryWhenCallbackReturns(pci: *mut TP_CALLBACK_INSTANCE, r#mod: super::super::Foundation::HINSTANCE);
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn GetActiveProcessorCount(groupnumber: u16) -> u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn GetActiveProcessorGroupCount() -> u16;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetCurrentProcess() -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn GetCurrentProcessId() -> u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn GetCurrentProcessorNumber() -> u32;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_System_Kernel'*"]
#[cfg(feature = "Win32_System_Kernel")]
pub fn GetCurrentProcessorNumberEx(procnumber: *mut super::Kernel::PROCESSOR_NUMBER);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetCurrentThread() -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn GetCurrentThreadId() -> u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn GetCurrentThreadStackLimits(lowlimit: *mut usize, highlimit: *mut usize);
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn GetCurrentUmsThread() -> *mut ::core::ffi::c_void;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetExitCodeProcess(hprocess: super::super::Foundation::HANDLE, lpexitcode: *mut u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetExitCodeThread(hthread: super::super::Foundation::HANDLE, lpexitcode: *mut u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetGuiResources(hprocess: super::super::Foundation::HANDLE, uiflags: GET_GUI_RESOURCES_FLAGS) -> u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn GetMachineTypeAttributes(machine: u16, machinetypeattributes: *mut MACHINE_ATTRIBUTES) -> ::windows_sys::core::HRESULT;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn GetMaximumProcessorCount(groupnumber: u16) -> u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn GetMaximumProcessorGroupCount() -> u16;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn GetNextUmsListItem(umscontext: *mut ::core::ffi::c_void) -> *mut ::core::ffi::c_void;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetNumaAvailableMemoryNode(node: u8, availablebytes: *mut u64) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetNumaAvailableMemoryNodeEx(node: u16, availablebytes: *mut u64) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetNumaHighestNodeNumber(highestnodenumber: *mut u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetNumaNodeNumberFromHandle(hfile: super::super::Foundation::HANDLE, nodenumber: *mut u16) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetNumaNodeProcessorMask(node: u8, processormask: *mut u64) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_SystemInformation'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_SystemInformation"))]
pub fn GetNumaNodeProcessorMask2(nodenumber: u16, processormasks: *mut super::SystemInformation::GROUP_AFFINITY, processormaskcount: u16, requiredmaskcount: *mut u16) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_SystemInformation'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_SystemInformation"))]
pub fn GetNumaNodeProcessorMaskEx(node: u16, processormask: *mut super::SystemInformation::GROUP_AFFINITY) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetNumaProcessorNode(processor: u8, nodenumber: *mut u8) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_Kernel'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
pub fn GetNumaProcessorNodeEx(processor: *const super::Kernel::PROCESSOR_NUMBER, nodenumber: *mut u16) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetNumaProximityNode(proximityid: u32, nodenumber: *mut u8) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetNumaProximityNodeEx(proximityid: u32, nodenumber: *mut u16) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetPriorityClass(hprocess: super::super::Foundation::HANDLE) -> u32;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetProcessAffinityMask(hprocess: super::super::Foundation::HANDLE, lpprocessaffinitymask: *mut usize, lpsystemaffinitymask: *mut usize) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetProcessDEPPolicy(hprocess: super::super::Foundation::HANDLE, lpflags: *mut u32, lppermanent: *mut super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_SystemInformation'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_SystemInformation"))]
pub fn GetProcessDefaultCpuSetMasks(process: super::super::Foundation::HANDLE, cpusetmasks: *mut super::SystemInformation::GROUP_AFFINITY, cpusetmaskcount: u16, requiredmaskcount: *mut u16) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetProcessDefaultCpuSets(process: super::super::Foundation::HANDLE, cpusetids: *mut u32, cpusetidcount: u32, requiredidcount: *mut u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetProcessGroupAffinity(hprocess: super::super::Foundation::HANDLE, groupcount: *mut u16, grouparray: *mut u16) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetProcessHandleCount(hprocess: super::super::Foundation::HANDLE, pdwhandlecount: *mut u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetProcessId(process: super::super::Foundation::HANDLE) -> u32;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetProcessIdOfThread(thread: super::super::Foundation::HANDLE) -> u32;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetProcessInformation(hprocess: super::super::Foundation::HANDLE, processinformationclass: PROCESS_INFORMATION_CLASS, processinformation: *mut ::core::ffi::c_void, processinformationsize: u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetProcessIoCounters(hprocess: super::super::Foundation::HANDLE, lpiocounters: *mut IO_COUNTERS) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetProcessMitigationPolicy(hprocess: super::super::Foundation::HANDLE, mitigationpolicy: PROCESS_MITIGATION_POLICY, lpbuffer: *mut ::core::ffi::c_void, dwlength: usize) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetProcessPriorityBoost(hprocess: super::super::Foundation::HANDLE, pdisablepriorityboost: *mut super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetProcessShutdownParameters(lpdwlevel: *mut u32, lpdwflags: *mut u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub 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;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn GetProcessVersion(processid: u32) -> u32;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetProcessWorkingSetSize(hprocess: super::super::Foundation::HANDLE, lpminimumworkingsetsize: *mut usize, lpmaximumworkingsetsize: *mut usize) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetStartupInfoA(lpstartupinfo: *mut STARTUPINFOA);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetStartupInfoW(lpstartupinfo: *mut STARTUPINFOW);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetSystemTimes(lpidletime: *mut super::super::Foundation::FILETIME, lpkerneltime: *mut super::super::Foundation::FILETIME, lpusertime: *mut super::super::Foundation::FILETIME) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetThreadDescription(hthread: super::super::Foundation::HANDLE, ppszthreaddescription: *mut super::super::Foundation::PWSTR) -> ::windows_sys::core::HRESULT;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_SystemInformation'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_SystemInformation"))]
pub fn GetThreadGroupAffinity(hthread: super::super::Foundation::HANDLE, groupaffinity: *mut super::SystemInformation::GROUP_AFFINITY) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetThreadIOPendingFlag(hthread: super::super::Foundation::HANDLE, lpioispending: *mut super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetThreadId(thread: super::super::Foundation::HANDLE) -> u32;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_Kernel'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
pub fn GetThreadIdealProcessorEx(hthread: super::super::Foundation::HANDLE, lpidealprocessor: *mut super::Kernel::PROCESSOR_NUMBER) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetThreadInformation(hthread: super::super::Foundation::HANDLE, threadinformationclass: THREAD_INFORMATION_CLASS, threadinformation: *mut ::core::ffi::c_void, threadinformationsize: u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetThreadPriority(hthread: super::super::Foundation::HANDLE) -> i32;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetThreadPriorityBoost(hthread: super::super::Foundation::HANDLE, pdisablepriorityboost: *mut super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_SystemInformation'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_SystemInformation"))]
pub fn GetThreadSelectedCpuSetMasks(thread: super::super::Foundation::HANDLE, cpusetmasks: *mut super::SystemInformation::GROUP_AFFINITY, cpusetmaskcount: u16, requiredmaskcount: *mut u16) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetThreadSelectedCpuSets(thread: super::super::Foundation::HANDLE, cpusetids: *mut u32, cpusetidcount: u32, requiredidcount: *mut u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub 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;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetUmsCompletionListEvent(umscompletionlist: *const ::core::ffi::c_void, umscompletionevent: *mut super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn GetUmsSystemThreadInformation(threadhandle: super::super::Foundation::HANDLE, systemthreadinfo: *mut UMS_SYSTEM_THREAD_INFORMATION) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn InitOnceBeginInitialize(lpinitonce: *mut RTL_RUN_ONCE, dwflags: u32, fpending: *mut super::super::Foundation::BOOL, lpcontext: *mut *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn InitOnceComplete(lpinitonce: *mut RTL_RUN_ONCE, dwflags: u32, lpcontext: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn InitOnceExecuteOnce(initonce: *mut RTL_RUN_ONCE, initfn: PINIT_ONCE_FN, parameter: *mut ::core::ffi::c_void, context: *mut *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn InitOnceInitialize(initonce: *mut RTL_RUN_ONCE);
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn InitializeConditionVariable(conditionvariable: *mut RTL_CONDITION_VARIABLE);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_Kernel'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
pub fn InitializeCriticalSection(lpcriticalsection: *mut RTL_CRITICAL_SECTION);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_Kernel'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
pub fn InitializeCriticalSectionAndSpinCount(lpcriticalsection: *mut RTL_CRITICAL_SECTION, dwspincount: u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_Kernel'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
pub fn InitializeCriticalSectionEx(lpcriticalsection: *mut RTL_CRITICAL_SECTION, dwspincount: u32, flags: u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn InitializeProcThreadAttributeList(lpattributelist: LPPROC_THREAD_ATTRIBUTE_LIST, dwattributecount: u32, dwflags: u32, lpsize: *mut usize) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_System_Kernel'*"]
#[cfg(feature = "Win32_System_Kernel")]
pub fn InitializeSListHead(listhead: *mut super::Kernel::SLIST_HEADER);
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn InitializeSRWLock(srwlock: *mut RTL_SRWLOCK);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn InitializeSynchronizationBarrier(lpbarrier: *mut RTL_BARRIER, ltotalthreads: i32, lspincount: i32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_System_Kernel'*"]
#[cfg(feature = "Win32_System_Kernel")]
pub fn InterlockedFlushSList(listhead: *mut super::Kernel::SLIST_HEADER) -> *mut super::Kernel::SLIST_ENTRY;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_System_Kernel'*"]
#[cfg(feature = "Win32_System_Kernel")]
pub fn InterlockedPopEntrySList(listhead: *mut super::Kernel::SLIST_HEADER) -> *mut super::Kernel::SLIST_ENTRY;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_System_Kernel'*"]
#[cfg(feature = "Win32_System_Kernel")]
pub fn InterlockedPushEntrySList(listhead: *mut super::Kernel::SLIST_HEADER, listentry: *mut super::Kernel::SLIST_ENTRY) -> *mut super::Kernel::SLIST_ENTRY;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_System_Kernel'*"]
#[cfg(feature = "Win32_System_Kernel")]
pub 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;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn IsImmersiveProcess(hprocess: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn IsProcessCritical(hprocess: super::super::Foundation::HANDLE, critical: *mut super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn IsProcessorFeaturePresent(processorfeature: PROCESSOR_FEATURE_ID) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn IsThreadAFiber() -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn IsThreadpoolTimerSet(pti: *mut TP_TIMER) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn IsWow64Process(hprocess: super::super::Foundation::HANDLE, wow64process: *mut super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn IsWow64Process2(hprocess: super::super::Foundation::HANDLE, pprocessmachine: *mut u16, pnativemachine: *mut u16) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_Kernel'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
pub fn LeaveCriticalSection(lpcriticalsection: *mut RTL_CRITICAL_SECTION);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_Kernel'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
pub fn LeaveCriticalSectionWhenCallbackReturns(pci: *mut TP_CALLBACK_INSTANCE, pcs: *mut RTL_CRITICAL_SECTION);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn NtQueryInformationProcess(processhandle: super::super::Foundation::HANDLE, processinformationclass: PROCESSINFOCLASS, processinformation: *mut ::core::ffi::c_void, processinformationlength: u32, returnlength: *mut u32) -> super::super::Foundation::NTSTATUS;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn NtQueryInformationThread(threadhandle: super::super::Foundation::HANDLE, threadinformationclass: THREADINFOCLASS, threadinformation: *mut ::core::ffi::c_void, threadinformationlength: u32, returnlength: *mut u32) -> super::super::Foundation::NTSTATUS;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn NtSetInformationThread(threadhandle: super::super::Foundation::HANDLE, threadinformationclass: THREADINFOCLASS, threadinformation: *const ::core::ffi::c_void, threadinformationlength: u32) -> super::super::Foundation::NTSTATUS;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn OpenEventA(dwdesiredaccess: u32, binherithandle: super::super::Foundation::BOOL, lpname: super::super::Foundation::PSTR) -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn OpenEventW(dwdesiredaccess: u32, binherithandle: super::super::Foundation::BOOL, lpname: super::super::Foundation::PWSTR) -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn OpenMutexW(dwdesiredaccess: u32, binherithandle: super::super::Foundation::BOOL, lpname: super::super::Foundation::PWSTR) -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn OpenPrivateNamespaceA(lpboundarydescriptor: *const ::core::ffi::c_void, lpaliasprefix: super::super::Foundation::PSTR) -> NamespaceHandle;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn OpenPrivateNamespaceW(lpboundarydescriptor: *const ::core::ffi::c_void, lpaliasprefix: super::super::Foundation::PWSTR) -> NamespaceHandle;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn OpenProcess(dwdesiredaccess: PROCESS_ACCESS_RIGHTS, binherithandle: super::super::Foundation::BOOL, dwprocessid: u32) -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub fn OpenProcessToken(processhandle: super::super::Foundation::HANDLE, desiredaccess: super::super::Security::TOKEN_ACCESS_MASK, tokenhandle: *mut super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn OpenSemaphoreW(dwdesiredaccess: u32, binherithandle: super::super::Foundation::BOOL, lpname: super::super::Foundation::PWSTR) -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn OpenThread(dwdesiredaccess: THREAD_ACCESS_RIGHTS, binherithandle: super::super::Foundation::BOOL, dwthreadid: u32) -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_Security'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
pub 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;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn OpenWaitableTimerW(dwdesiredaccess: u32, binherithandle: super::super::Foundation::BOOL, lptimername: super::super::Foundation::PWSTR) -> super::super::Foundation::HANDLE;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn PulseEvent(hevent: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_System_Kernel'*"]
#[cfg(feature = "Win32_System_Kernel")]
pub fn QueryDepthSList(listhead: *const super::Kernel::SLIST_HEADER) -> u16;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn QueryFullProcessImageNameA(hprocess: super::super::Foundation::HANDLE, dwflags: PROCESS_NAME_FORMAT, lpexename: super::super::Foundation::PSTR, lpdwsize: *mut u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn QueryFullProcessImageNameW(hprocess: super::super::Foundation::HANDLE, dwflags: PROCESS_NAME_FORMAT, lpexename: super::super::Foundation::PWSTR, lpdwsize: *mut u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn QueryProcessAffinityUpdateMode(hprocess: super::super::Foundation::HANDLE, lpdwflags: *mut PROCESS_AFFINITY_AUTO_UPDATE_FLAGS) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn QueryProtectedPolicy(policyguid: *const ::windows_sys::core::GUID, policyvalue: *mut usize) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn QueryThreadpoolStackInformation(ptpp: PTP_POOL, ptpsi: *mut TP_POOL_STACK_INFORMATION) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn QueryUmsThreadInformation(umsthread: *const ::core::ffi::c_void, umsthreadinfoclass: RTL_UMS_THREAD_INFO_CLASS, umsthreadinformation: *mut ::core::ffi::c_void, umsthreadinformationlength: u32, returnlength: *mut u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn QueueUserAPC(pfnapc: super::super::Foundation::PAPCFUNC, hthread: super::super::Foundation::HANDLE, dwdata: usize) -> u32;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn QueueUserAPC2(apcroutine: super::super::Foundation::PAPCFUNC, thread: super::super::Foundation::HANDLE, data: usize, flags: QUEUE_USER_APC_FLAGS) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn QueueUserWorkItem(function: LPTHREAD_START_ROUTINE, context: *const ::core::ffi::c_void, flags: WORKER_THREAD_FLAGS) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub 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;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn ReleaseMutex(hmutex: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn ReleaseMutexWhenCallbackReturns(pci: *mut TP_CALLBACK_INSTANCE, r#mut: super::super::Foundation::HANDLE);
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn ReleaseSRWLockExclusive(srwlock: *mut RTL_SRWLOCK);
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn ReleaseSRWLockShared(srwlock: *mut RTL_SRWLOCK);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn ReleaseSemaphore(hsemaphore: super::super::Foundation::HANDLE, lreleasecount: i32, lppreviouscount: *mut i32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn ReleaseSemaphoreWhenCallbackReturns(pci: *mut TP_CALLBACK_INSTANCE, sem: super::super::Foundation::HANDLE, crel: u32);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn ResetEvent(hevent: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn ResumeThread(hthread: super::super::Foundation::HANDLE) -> u32;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_Kernel'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
pub fn SetCriticalSectionSpinCount(lpcriticalsection: *mut RTL_CRITICAL_SECTION, dwspincount: u32) -> u32;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetEvent(hevent: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetEventWhenCallbackReturns(pci: *mut TP_CALLBACK_INSTANCE, evt: super::super::Foundation::HANDLE);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetPriorityClass(hprocess: super::super::Foundation::HANDLE, dwpriorityclass: PROCESS_CREATION_FLAGS) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetProcessAffinityMask(hprocess: super::super::Foundation::HANDLE, dwprocessaffinitymask: usize) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetProcessAffinityUpdateMode(hprocess: super::super::Foundation::HANDLE, dwflags: PROCESS_AFFINITY_AUTO_UPDATE_FLAGS) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetProcessDEPPolicy(dwflags: PROCESS_DEP_FLAGS) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_SystemInformation'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_SystemInformation"))]
pub fn SetProcessDefaultCpuSetMasks(process: super::super::Foundation::HANDLE, cpusetmasks: *const super::SystemInformation::GROUP_AFFINITY, cpusetmaskcount: u16) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetProcessDefaultCpuSets(process: super::super::Foundation::HANDLE, cpusetids: *const u32, cpusetidcount: u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetProcessDynamicEHContinuationTargets(process: super::super::Foundation::HANDLE, numberoftargets: u16, targets: *mut PROCESS_DYNAMIC_EH_CONTINUATION_TARGET) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetProcessDynamicEnforcedCetCompatibleRanges(process: super::super::Foundation::HANDLE, numberofranges: u16, ranges: *mut PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetProcessInformation(hprocess: super::super::Foundation::HANDLE, processinformationclass: PROCESS_INFORMATION_CLASS, processinformation: *const ::core::ffi::c_void, processinformationsize: u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetProcessMitigationPolicy(mitigationpolicy: PROCESS_MITIGATION_POLICY, lpbuffer: *const ::core::ffi::c_void, dwlength: usize) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetProcessPriorityBoost(hprocess: super::super::Foundation::HANDLE, bdisablepriorityboost: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetProcessRestrictionExemption(fenableexemption: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetProcessShutdownParameters(dwlevel: u32, dwflags: u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetProcessWorkingSetSize(hprocess: super::super::Foundation::HANDLE, dwminimumworkingsetsize: usize, dwmaximumworkingsetsize: usize) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetProtectedPolicy(policyguid: *const ::windows_sys::core::GUID, policyvalue: usize, oldpolicyvalue: *mut usize) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetThreadAffinityMask(hthread: super::super::Foundation::HANDLE, dwthreadaffinitymask: usize) -> usize;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetThreadDescription(hthread: super::super::Foundation::HANDLE, lpthreaddescription: super::super::Foundation::PWSTR) -> ::windows_sys::core::HRESULT;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_SystemInformation'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_SystemInformation"))]
pub fn SetThreadGroupAffinity(hthread: super::super::Foundation::HANDLE, groupaffinity: *const super::SystemInformation::GROUP_AFFINITY, previousgroupaffinity: *mut super::SystemInformation::GROUP_AFFINITY) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetThreadIdealProcessor(hthread: super::super::Foundation::HANDLE, dwidealprocessor: u32) -> u32;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_Kernel'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
pub fn SetThreadIdealProcessorEx(hthread: super::super::Foundation::HANDLE, lpidealprocessor: *const super::Kernel::PROCESSOR_NUMBER, lppreviousidealprocessor: *mut super::Kernel::PROCESSOR_NUMBER) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetThreadInformation(hthread: super::super::Foundation::HANDLE, threadinformationclass: THREAD_INFORMATION_CLASS, threadinformation: *const ::core::ffi::c_void, threadinformationsize: u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetThreadPriority(hthread: super::super::Foundation::HANDLE, npriority: THREAD_PRIORITY) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetThreadPriorityBoost(hthread: super::super::Foundation::HANDLE, bdisablepriorityboost: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_SystemInformation'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_SystemInformation"))]
pub fn SetThreadSelectedCpuSetMasks(thread: super::super::Foundation::HANDLE, cpusetmasks: *const super::SystemInformation::GROUP_AFFINITY, cpusetmaskcount: u16) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetThreadSelectedCpuSets(thread: super::super::Foundation::HANDLE, cpusetids: *const u32, cpusetidcount: u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetThreadStackGuarantee(stacksizeinbytes: *mut u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetThreadToken(thread: *const super::super::Foundation::HANDLE, token: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetThreadpoolStackInformation(ptpp: PTP_POOL, ptpsi: *const TP_POOL_STACK_INFORMATION) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn SetThreadpoolThreadMaximum(ptpp: PTP_POOL, cthrdmost: u32);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetThreadpoolThreadMinimum(ptpp: PTP_POOL, cthrdmic: u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetThreadpoolTimer(pti: *mut TP_TIMER, pftduetime: *const super::super::Foundation::FILETIME, msperiod: u32, mswindowlength: u32);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetThreadpoolTimerEx(pti: *mut TP_TIMER, pftduetime: *const super::super::Foundation::FILETIME, msperiod: u32, mswindowlength: u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetThreadpoolWait(pwa: *mut TP_WAIT, h: super::super::Foundation::HANDLE, pfttimeout: *const super::super::Foundation::FILETIME);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetThreadpoolWaitEx(pwa: *mut TP_WAIT, h: super::super::Foundation::HANDLE, pfttimeout: *const super::super::Foundation::FILETIME, reserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub 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;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SetUmsThreadInformation(umsthread: *const ::core::ffi::c_void, umsthreadinfoclass: RTL_UMS_THREAD_INFO_CLASS, umsthreadinformation: *const ::core::ffi::c_void, umsthreadinformationlength: u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub 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;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub 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;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn Sleep(dwmilliseconds: u32);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_Kernel'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
pub fn SleepConditionVariableCS(conditionvariable: *mut RTL_CONDITION_VARIABLE, criticalsection: *mut RTL_CRITICAL_SECTION, dwmilliseconds: u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SleepConditionVariableSRW(conditionvariable: *mut RTL_CONDITION_VARIABLE, srwlock: *mut RTL_SRWLOCK, dwmilliseconds: u32, flags: u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SleepEx(dwmilliseconds: u32, balertable: super::super::Foundation::BOOL) -> u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn StartThreadpoolIo(pio: *mut TP_IO);
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn SubmitThreadpoolWork(pwk: *mut TP_WORK);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SuspendThread(hthread: super::super::Foundation::HANDLE) -> u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn SwitchToFiber(lpfiber: *const ::core::ffi::c_void);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn SwitchToThread() -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn TerminateProcess(hprocess: super::super::Foundation::HANDLE, uexitcode: u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn TerminateThread(hthread: super::super::Foundation::HANDLE, dwexitcode: u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn TlsAlloc() -> u32;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn TlsFree(dwtlsindex: u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn TlsGetValue(dwtlsindex: u32) -> *mut ::core::ffi::c_void;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn TlsSetValue(dwtlsindex: u32, lptlsvalue: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn TryAcquireSRWLockExclusive(srwlock: *mut RTL_SRWLOCK) -> super::super::Foundation::BOOLEAN;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn TryAcquireSRWLockShared(srwlock: *mut RTL_SRWLOCK) -> super::super::Foundation::BOOLEAN;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_Kernel'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
pub fn TryEnterCriticalSection(lpcriticalsection: *mut RTL_CRITICAL_SECTION) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn TrySubmitThreadpoolCallback(pfns: PTP_SIMPLE_CALLBACK, pv: *mut ::core::ffi::c_void, pcbe: *const TP_CALLBACK_ENVIRON_V3) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn UmsThreadYield(schedulerparam: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn UnregisterWait(waithandle: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn UnregisterWaitEx(waithandle: super::super::Foundation::HANDLE, completionevent: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub 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;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn WaitForInputIdle(hprocess: super::super::Foundation::HANDLE, dwmilliseconds: u32) -> u32;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn WaitForMultipleObjects(ncount: u32, lphandles: *const super::super::Foundation::HANDLE, bwaitall: super::super::Foundation::BOOL, dwmilliseconds: u32) -> u32;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn WaitForMultipleObjectsEx(ncount: u32, lphandles: *const super::super::Foundation::HANDLE, bwaitall: super::super::Foundation::BOOL, dwmilliseconds: u32, balertable: super::super::Foundation::BOOL) -> u32;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn WaitForSingleObject(hhandle: super::super::Foundation::HANDLE, dwmilliseconds: u32) -> u32;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn WaitForSingleObjectEx(hhandle: super::super::Foundation::HANDLE, dwmilliseconds: u32, balertable: super::super::Foundation::BOOL) -> u32;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn WaitForThreadpoolIoCallbacks(pio: *mut TP_IO, fcancelpendingcallbacks: super::super::Foundation::BOOL);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn WaitForThreadpoolTimerCallbacks(pti: *mut TP_TIMER, fcancelpendingcallbacks: super::super::Foundation::BOOL);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn WaitForThreadpoolWaitCallbacks(pwa: *mut TP_WAIT, fcancelpendingcallbacks: super::super::Foundation::BOOL);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn WaitForThreadpoolWorkCallbacks(pwk: *mut TP_WORK, fcancelpendingcallbacks: super::super::Foundation::BOOL);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn WaitOnAddress(address: *const ::core::ffi::c_void, compareaddress: *const ::core::ffi::c_void, addresssize: usize, dwmilliseconds: u32) -> super::super::Foundation::BOOL;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn WakeAllConditionVariable(conditionvariable: *mut RTL_CONDITION_VARIABLE);
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn WakeByAddressAll(address: *const ::core::ffi::c_void);
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn WakeByAddressSingle(address: *const ::core::ffi::c_void);
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn WakeConditionVariable(conditionvariable: *mut RTL_CONDITION_VARIABLE);
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn WinExec(lpcmdline: super::super::Foundation::PSTR, ucmdshow: u32) -> u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub fn Wow64SetThreadDefaultGuestMachine(machine: u16) -> u16;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub fn Wow64SuspendThread(hthread: super::super::Foundation::HANDLE) -> u32;
}
#[repr(C)]
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub struct APP_MEMORY_INFORMATION {
pub AvailableCommit: u64,
pub PrivateCommitUsage: u64,
pub PeakPrivateCommitUsage: u64,
pub TotalCommitUsage: u64,
}
impl ::core::marker::Copy for APP_MEMORY_INFORMATION {}
impl ::core::clone::Clone for APP_MEMORY_INFORMATION {
fn clone(&self) -> Self {
*self
}
}
pub type BoundaryDescriptorHandle = isize;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const CONDITION_VARIABLE_LOCKMODE_SHARED: u32 = 1u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub type CREATE_EVENT = u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const CREATE_EVENT_INITIAL_SET: CREATE_EVENT = 2u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const CREATE_EVENT_MANUAL_RESET: CREATE_EVENT = 1u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const CREATE_MUTEX_INITIAL_OWNER: u32 = 1u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub type CREATE_PROCESS_LOGON_FLAGS = u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const LOGON_WITH_PROFILE: CREATE_PROCESS_LOGON_FLAGS = 1u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const LOGON_NETCREDENTIALS_ONLY: CREATE_PROCESS_LOGON_FLAGS = 2u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const CREATE_WAITABLE_TIMER_HIGH_RESOLUTION: u32 = 2u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const CREATE_WAITABLE_TIMER_MANUAL_RESET: u32 = 1u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub type GET_GUI_RESOURCES_FLAGS = u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const GR_GDIOBJECTS: GET_GUI_RESOURCES_FLAGS = 0u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const GR_GDIOBJECTS_PEAK: GET_GUI_RESOURCES_FLAGS = 2u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const GR_USEROBJECTS: GET_GUI_RESOURCES_FLAGS = 1u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const GR_USEROBJECTS_PEAK: GET_GUI_RESOURCES_FLAGS = 4u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const INIT_ONCE_ASYNC: u32 = 2u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const INIT_ONCE_CHECK_ONLY: u32 = 1u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const INIT_ONCE_CTX_RESERVED_BITS: u32 = 2u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const INIT_ONCE_INIT_FAILED: u32 = 4u32;
#[repr(C)]
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub struct IO_COUNTERS {
pub ReadOperationCount: u64,
pub WriteOperationCount: u64,
pub OtherOperationCount: u64,
pub ReadTransferCount: u64,
pub WriteTransferCount: u64,
pub OtherTransferCount: u64,
}
impl ::core::marker::Copy for IO_COUNTERS {}
impl ::core::clone::Clone for IO_COUNTERS {
fn clone(&self) -> Self {
*self
}
}
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub type LPFIBER_START_ROUTINE = ::core::option::Option<unsafe extern "system" fn(lpfiberparameter: *mut ::core::ffi::c_void)>;
pub type LPPROC_THREAD_ATTRIBUTE_LIST = *const ::core::ffi::c_void;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub type LPTHREAD_START_ROUTINE = ::core::option::Option<unsafe extern "system" fn(lpthreadparameter: *mut ::core::ffi::c_void) -> u32>;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub type MACHINE_ATTRIBUTES = u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const UserEnabled: MACHINE_ATTRIBUTES = 1u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const KernelEnabled: MACHINE_ATTRIBUTES = 2u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const Wow64Container: MACHINE_ATTRIBUTES = 4u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub type MEMORY_PRIORITY = u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const MEMORY_PRIORITY_VERY_LOW: MEMORY_PRIORITY = 1u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const MEMORY_PRIORITY_LOW: MEMORY_PRIORITY = 2u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const MEMORY_PRIORITY_MEDIUM: MEMORY_PRIORITY = 3u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const MEMORY_PRIORITY_BELOW_NORMAL: MEMORY_PRIORITY = 4u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const MEMORY_PRIORITY_NORMAL: MEMORY_PRIORITY = 5u32;
#[repr(C)]
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub struct MEMORY_PRIORITY_INFORMATION {
pub MemoryPriority: MEMORY_PRIORITY,
}
impl ::core::marker::Copy for MEMORY_PRIORITY_INFORMATION {}
impl ::core::clone::Clone for MEMORY_PRIORITY_INFORMATION {
fn clone(&self) -> Self {
*self
}
}
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const MUTEX_MODIFY_STATE: u32 = 1u32;
pub type NamespaceHandle = isize;
#[repr(C)]
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation', 'Win32_System_Kernel'*"]
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
pub struct PEB {
pub Reserved1: [u8; 2],
pub BeingDebugged: u8,
pub Reserved2: [u8; 1],
pub Reserved3: [*mut ::core::ffi::c_void; 2],
pub Ldr: *mut PEB_LDR_DATA,
pub ProcessParameters: *mut RTL_USER_PROCESS_PARAMETERS,
pub Reserved4: [*mut ::core::ffi::c_void; 3],
pub AtlThunkSListPtr: *mut ::core::ffi::c_void,
pub Reserved5: *mut ::core::ffi::c_void,
pub Reserved6: u32,
pub Reserved7: *mut ::core::ffi::c_void,
pub Reserved8: u32,
pub AtlThunkSListPtr32: u32,
pub Reserved9: [*mut ::core::ffi::c_void; 45],
pub Reserved10: [u8; 96],
pub PostProcessInitRoutine: PPS_POST_PROCESS_INIT_ROUTINE,
pub Reserved11: [u8; 128],
pub Reserved12: [*mut ::core::ffi::c_void; 1],
pub SessionId: u32,
}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
impl ::core::marker::Copy for PEB {}
#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Kernel"))]
impl ::core::clone::Clone for PEB {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_System_Kernel'*"]
#[cfg(feature = "Win32_System_Kernel")]
pub struct PEB_LDR_DATA {
pub Reserved1: [u8; 8],
pub Reserved2: [*mut ::core::ffi::c_void; 3],
pub InMemoryOrderModuleList: super::Kernel::LIST_ENTRY,
}
#[cfg(feature = "Win32_System_Kernel")]
impl ::core::marker::Copy for PEB_LDR_DATA {}
#[cfg(feature = "Win32_System_Kernel")]
impl ::core::clone::Clone for PEB_LDR_DATA {
fn clone(&self) -> Self {
*self
}
}
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub type PFLS_CALLBACK_FUNCTION = ::core::option::Option<unsafe extern "system" fn(lpflsdata: *const ::core::ffi::c_void)>;
#[doc = "*Required features: 'Win32_System_Threading', 'Win32_Foundation'*"]
#[cfg(feature = "Win32_Foundation")]
pub type PINIT_ONCE_FN = ::core::option::Option<unsafe extern "system" fn(initonce: *mut RTL_RUN_ONCE, parameter: *mut ::core::ffi::c_void, context: *mut *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL>;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const PME_CURRENT_VERSION: u32 = 1u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const PME_FAILFAST_ON_COMMIT_FAIL_DISABLE: u32 = 0u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const PME_FAILFAST_ON_COMMIT_FAIL_ENABLE: u32 = 1u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub type POWER_REQUEST_CONTEXT_FLAGS = u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const POWER_REQUEST_CONTEXT_DETAILED_STRING: POWER_REQUEST_CONTEXT_FLAGS = 2u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const POWER_REQUEST_CONTEXT_SIMPLE_STRING: POWER_REQUEST_CONTEXT_FLAGS = 1u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub type PPS_POST_PROCESS_INIT_ROUTINE = ::core::option::Option<unsafe extern "system" fn()>;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const PRIVATE_NAMESPACE_FLAG_DESTROY: u32 = 1u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub type PROCESSINFOCLASS = i32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const ProcessBasicInformation: PROCESSINFOCLASS = 0i32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const ProcessDebugPort: PROCESSINFOCLASS = 7i32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const ProcessWow64Information: PROCESSINFOCLASS = 26i32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const ProcessImageFileName: PROCESSINFOCLASS = 27i32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const ProcessBreakOnTermination: PROCESSINFOCLASS = 29i32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub type PROCESSOR_FEATURE_ID = u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const PF_ARM_64BIT_LOADSTORE_ATOMIC: PROCESSOR_FEATURE_ID = 25u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE: PROCESSOR_FEATURE_ID = 24u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const PF_ARM_EXTERNAL_CACHE_AVAILABLE: PROCESSOR_FEATURE_ID = 26u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]
pub const PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE: PROCESSOR_FEATURE_ID = 27u32;
#[doc = "*Required features: 'Win32_System_Threading'*"]