-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathkernel32.api
6352 lines (6352 loc) · 200 KB
/
kernel32.api
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
[InitOnceInitialize]
1=PINIT_ONCE InitOnce
ParamCount=1
@=InitOnceInitialize(PINIT_ONCE InitOnce);
[InitOnceExecuteOnce]
1=PINIT_ONCE InitOnce
2=PINIT_ONCE PINIT_ONCE_FNInitFn
3=PVOID Parameter
4=LPVOID *Context
ParamCount=4
@=InitOnceExecuteOnce(PINIT_ONCE InitOnce, PINIT_ONCE PINIT_ONCE_FNInitFn, PVOID Parameter, LPVOID *Context);
[InitOnceBeginInitialize]
1=LPINIT_ONCE lpInitOnce
2=DWORD dwFlags
3=PBOOL fPending
4=LPVOID *lpContext
ParamCount=4
@=InitOnceBeginInitialize(LPINIT_ONCE lpInitOnce, DWORD dwFlags, PBOOL fPending, LPVOID *lpContext);
[InitOnceComplete]
1=LPINIT_ONCE lpInitOnce
2=DWORD dwFlags
3=LPVOID lpContext
ParamCount=3
@=InitOnceComplete(LPINIT_ONCE lpInitOnce, DWORD dwFlags, LPVOID lpContext);
[InitializeSRWLock]
1=PSRWLOCK SRWLock
ParamCount=1
@=InitializeSRWLock(PSRWLOCK SRWLock);
[ReleaseSRWLockExclusive]
1=PSRWLOCK SRWLock
ParamCount=1
@=ReleaseSRWLockExclusive(PSRWLOCK SRWLock);
[ReleaseSRWLockShared]
1=PSRWLOCK SRWLock
ParamCount=1
@=ReleaseSRWLockShared(PSRWLOCK SRWLock);
[AcquireSRWLockExclusive]
1=PSRWLOCK SRWLock
ParamCount=1
@=AcquireSRWLockExclusive(PSRWLOCK SRWLock);
[AcquireSRWLockShared]
1=PSRWLOCK SRWLock
ParamCount=1
@=AcquireSRWLockShared(PSRWLOCK SRWLock);
[TryAcquireSRWLockExclusive]
1=PSRWLOCK SRWLock
ParamCount=1
@=TryAcquireSRWLockExclusive(PSRWLOCK SRWLock);
[TryAcquireSRWLockShared]
1=PSRWLOCK SRWLock
ParamCount=1
@=TryAcquireSRWLockShared(PSRWLOCK SRWLock);
[InitializeConditionVariable]
1=PCONDITION_VARIABLE ConditionVariable
ParamCount=1
@=InitializeConditionVariable(PCONDITION_VARIABLE ConditionVariable);
[WakeConditionVariable]
1=PCONDITION_VARIABLE ConditionVariable
ParamCount=1
@=WakeConditionVariable(PCONDITION_VARIABLE ConditionVariable);
[WakeAllConditionVariable]
1=PCONDITION_VARIABLE ConditionVariable
ParamCount=1
@=WakeAllConditionVariable(PCONDITION_VARIABLE ConditionVariable);
[SleepConditionVariableCS]
1=PCONDITION_VARIABLE ConditionVariable
2=PCRITICAL_SECTION CriticalSection
3=DWORD dwMilliseconds
ParamCount=3
@=SleepConditionVariableCS(PCONDITION_VARIABLE ConditionVariable, PCRITICAL_SECTION CriticalSection, DWORD dwMilliseconds);
[SleepConditionVariableSRW]
1=PCONDITION_VARIABLE ConditionVariable
2=PSRWLOCK SRWLock
3=DWORD dwMilliseconds
4=ULONG Flags
ParamCount=4
@=SleepConditionVariableSRW(PCONDITION_VARIABLE ConditionVariable, PSRWLOCK SRWLock, DWORD dwMilliseconds, ULONG Flags);
[EncodePointer]
1=PVOID Ptr
ParamCount=1
@=EncodePointer(PVOID Ptr);
[DecodePointer]
1=PVOID Ptr
ParamCount=1
@=DecodePointer(PVOID Ptr);
[EncodeSystemPointer]
1=PVOID Ptr
ParamCount=1
@=EncodeSystemPointer(PVOID Ptr);
[DecodeSystemPointer]
1=PVOID Ptr
ParamCount=1
@=DecodeSystemPointer(PVOID Ptr);
[GetFreeSpace]
1=UINT
ParamCount=1
@=GetFreeSpace(UINT);
[InterlockedIncrement]
1=LONG volatile*lpAddend
ParamCount=1
@=InterlockedIncrement(LONG volatile*lpAddend);
[InterlockedDecrement]
1=LONG volatile*lpAddend
ParamCount=1
@=InterlockedDecrement(LONG volatile*lpAddend);
[InterlockedExchange]
1=LONG volatile*Target
2=LONG Value
ParamCount=2
@=InterlockedExchange(LONG volatile*Target, LONG Value);
[InterlockedExchangeAdd]
1=LONG volatile*Addend
2=LONG Value
ParamCount=2
@=InterlockedExchangeAdd(LONG volatile*Addend, LONG Value);
[InterlockedCompareExchange]
1=LONG volatile*Destination
2=LONG Exchange
3=LONG Comperand
ParamCount=3
@=InterlockedCompareExchange(LONG volatile*Destination, LONG Exchange, LONG Comperand);
[InterlockedCompareExchange64]
1=LONGLONG volatile*Destination
2=LONGLONG Exchange
3=LONGLONG Comperand
ParamCount=3
@=InterlockedCompareExchange64(LONGLONG volatile*Destination, LONGLONG Exchange, LONGLONG Comperand);
[InitializeSListHead]
1=PSLIST_HEADER ListHead
ParamCount=1
@=InitializeSListHead(PSLIST_HEADER ListHead);
[InterlockedPopEntrySList]
1=PSLIST_HEADER ListHead
ParamCount=1
@=InterlockedPopEntrySList(PSLIST_HEADER ListHead);
[InterlockedPushEntrySList]
1=PSLIST_HEADER ListHead
2=PSLIST_ENTRY ListEntry
ParamCount=2
@=InterlockedPushEntrySList(PSLIST_HEADER ListHead, PSLIST_ENTRY ListEntry);
[InterlockedFlushSList]
1=PSLIST_HEADER ListHead
ParamCount=1
@=InterlockedFlushSList(PSLIST_HEADER ListHead);
[QueryDepthSList]
1=PSLIST_HEADER ListHead
ParamCount=1
@=QueryDepthSList(PSLIST_HEADER ListHead);
[FreeResource]
1=HGLOBAL hResData
ParamCount=1
@=FreeResource(HGLOBAL hResData);
[LockResource]
1=HGLOBAL hResData
ParamCount=1
@=LockResource(HGLOBAL hResData);
[WinMain]
1=HINSTANCE hInstance
2=HINSTANCE hPrevInstance
3=LPSTR lpCmdLine
4=int nShowCmd
ParamCount=4
@=WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd);
[wWinMain]
1=HINSTANCE hInstance
2=HINSTANCE hPrevInstance
3=LPWSTR lpCmdLine
4=int nShowCmd
ParamCount=4
@=wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd);
[FreeLibrary]
1=HMODULE hLibModule
ParamCount=1
@=FreeLibrary(HMODULE hLibModule);
[FreeLibraryAndExitThread]
1=HMODULE hLibModule
2=DWORD dwExitCode
ParamCount=2
@=FreeLibraryAndExitThread(HMODULE hLibModule, DWORD dwExitCode);
[DisableThreadLibraryCalls]
1=HMODULE hLibModule
ParamCount=1
@=DisableThreadLibraryCalls(HMODULE hLibModule);
[GetProcAddress]
1=HMODULE hModule
2=LPCSTR lpProcName
ParamCount=2
@=GetProcAddress(HMODULE hModule, LPCSTR lpProcName);
[GetVersion]
ParamCount=0
@=GetVersion();
[GlobalAlloc]
1=UINT uFlags
2=SIZE_T dwBytes
ParamCount=2
@=GlobalAlloc(UINT uFlags, SIZE_T dwBytes);
[GlobalReAlloc]
1=HGLOBAL hMem
2=SIZE_T dwBytes
3=UINT uFlags
ParamCount=3
@=GlobalReAlloc(HGLOBAL hMem, SIZE_T dwBytes, UINT uFlags);
[GlobalSize]
1=HGLOBAL hMem
ParamCount=1
@=GlobalSize(HGLOBAL hMem);
[GlobalFlags]
1=HGLOBAL hMem
ParamCount=1
@=GlobalFlags(HGLOBAL hMem);
[GlobalLock]
1=HGLOBAL hMem
ParamCount=1
@=GlobalLock(HGLOBAL hMem);
[GlobalHandle]
1=LPCVOID pMem
ParamCount=1
@=GlobalHandle(LPCVOID pMem);
[GlobalUnlock]
1=HGLOBAL hMem
ParamCount=1
@=GlobalUnlock(HGLOBAL hMem);
[GlobalFree]
1=HGLOBAL hMem
ParamCount=1
@=GlobalFree(HGLOBAL hMem);
[GlobalCompact]
1=DWORD dwMinFree
ParamCount=1
@=GlobalCompact(DWORD dwMinFree);
[GlobalFix]
1=HGLOBAL hMem
ParamCount=1
@=GlobalFix(HGLOBAL hMem);
[GlobalUnfix]
1=HGLOBAL hMem
ParamCount=1
@=GlobalUnfix(HGLOBAL hMem);
[GlobalWire]
1=HGLOBAL hMem
ParamCount=1
@=GlobalWire(HGLOBAL hMem);
[GlobalUnWire]
1=HGLOBAL hMem
ParamCount=1
@=GlobalUnWire(HGLOBAL hMem);
[GlobalMemoryStatus]
1=LPMEMORYSTATUS lpBuffer
ParamCount=1
@=GlobalMemoryStatus(LPMEMORYSTATUS lpBuffer);
[GlobalMemoryStatusEx]
1=LPMEMORYSTATUSEX lpBuffer
ParamCount=1
@=GlobalMemoryStatusEx(LPMEMORYSTATUSEX lpBuffer);
[LocalAlloc]
1=UINT uFlags
2=SIZE_T uBytes
ParamCount=2
@=LocalAlloc(UINT uFlags, SIZE_T uBytes);
[LocalReAlloc]
1=HLOCAL hMem
2=SIZE_T uBytes
3=UINT uFlags
ParamCount=3
@=LocalReAlloc(HLOCAL hMem, SIZE_T uBytes, UINT uFlags);
[LocalLock]
1=HLOCAL hMem
ParamCount=1
@=LocalLock(HLOCAL hMem);
[LocalHandle]
1=LPCVOID pMem
ParamCount=1
@=LocalHandle(LPCVOID pMem);
[LocalUnlock]
1=HLOCAL hMem
ParamCount=1
@=LocalUnlock(HLOCAL hMem);
[LocalSize]
1=HLOCAL hMem
ParamCount=1
@=LocalSize(HLOCAL hMem);
[LocalFlags]
1=HLOCAL hMem
ParamCount=1
@=LocalFlags(HLOCAL hMem);
[LocalFree]
1=HLOCAL hMem
ParamCount=1
@=LocalFree(HLOCAL hMem);
[LocalShrink]
1=HLOCAL hMem
2=UINT cbNewSize
ParamCount=2
@=LocalShrink(HLOCAL hMem, UINT cbNewSize);
[LocalCompact]
1=UINT uMinFree
ParamCount=1
@=LocalCompact(UINT uMinFree);
[FlushInstructionCache]
1=HANDLE hProcess
2=LPCVOID lpBaseAddress
3=SIZE_T dwSize
ParamCount=3
@=FlushInstructionCache(HANDLE hProcess, LPCVOID lpBaseAddress, SIZE_T dwSize);
[FlushProcessWriteBuffers]
ParamCount=0
@=FlushProcessWriteBuffers();
[QueryThreadCycleTime]
1=HANDLE ThreadHandle
2=PULONG64 CycleTime
ParamCount=2
@=QueryThreadCycleTime(HANDLE ThreadHandle, PULONG64 CycleTime);
[QueryProcessCycleTime]
1=HANDLE ProcessHandle
2=PULONG64 CycleTime
ParamCount=2
@=QueryProcessCycleTime(HANDLE ProcessHandle, PULONG64 CycleTime);
[QueryIdleProcessorCycleTime]
1=PULONG BufferLength
2=PULONG64 ProcessorIdleCycleTime
ParamCount=2
@=QueryIdleProcessorCycleTime(PULONG BufferLength, PULONG64 ProcessorIdleCycleTime);
[QueryIdleProcessorCycleTimeEx]
1=USHORT Group
2=PULONG BufferLength
3=PULONG64 ProcessorIdleCycleTime
ParamCount=3
@=QueryIdleProcessorCycleTimeEx(USHORT Group, PULONG BufferLength, PULONG64 ProcessorIdleCycleTime);
[QueryUnbiasedInterruptTime]
1=PULONGLONG UnbiasedTime
ParamCount=1
@=QueryUnbiasedInterruptTime(PULONGLONG UnbiasedTime);
[GetProcessorSystemCycleTime]
1=USHORT Group
2=PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION Buffer
3=PDWORD ReturnedLength
ParamCount=3
@=GetProcessorSystemCycleTime(USHORT Group, PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION Buffer, PDWORD ReturnedLength);
[VirtualAlloc]
1=LPVOID lpAddress
2=SIZE_T dwSize
3=DWORD flAllocationType
4=DWORD flProtect
ParamCount=4
@=VirtualAlloc(LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect);
[VirtualFree]
1=LPVOID lpAddress
2=SIZE_T dwSize
3=DWORD dwFreeType
ParamCount=3
@=VirtualFree(LPVOID lpAddress, SIZE_T dwSize, DWORD dwFreeType);
[VirtualProtect]
1=LPVOID lpAddress
2=SIZE_T dwSize
3=DWORD flNewProtect
4=PDWORD lpflOldProtect
ParamCount=4
@=VirtualProtect(LPVOID lpAddress, SIZE_T dwSize, DWORD flNewProtect, PDWORD lpflOldProtect);
[VirtualQuery]
1=LPCVOID lpAddress
2=PMEMORY_BASIC_INFORMATION lpBuffer
3=SIZE_T dwLength
ParamCount=3
@=VirtualQuery(LPCVOID lpAddress, PMEMORY_BASIC_INFORMATION lpBuffer, SIZE_T dwLength);
[VirtualAllocEx]
1=HANDLE hProcess
2=LPVOID lpAddress
3=SIZE_T dwSize
4=DWORD flAllocationType
5=DWORD flProtect
ParamCount=5
@=VirtualAllocEx(HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect);
[VirtualAllocExNuma]
1=HANDLE hProcess
2=LPVOID lpAddress
3=SIZE_T dwSize
4=DWORD flAllocationType
5=DWORD flProtect
6=DWORD nndPreferred
ParamCount=6
@=VirtualAllocExNuma(HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect, DWORD nndPreferred);
[GetWriteWatch]
1=DWORD dwFlags
2=PVOID lpBaseAddress
3=SIZE_T dwRegionSize
4=PVOID *lpAddresses
5=ULONG_PTR *lpdwCount
6=PULONG lpdwGranularity
ParamCount=6
@=GetWriteWatch(DWORD dwFlags, PVOID lpBaseAddress, SIZE_T dwRegionSize, PVOID *lpAddresses, ULONG_PTR *lpdwCount, PULONG lpdwGranularity);
[ResetWriteWatch]
1=LPVOID lpBaseAddress
2=SIZE_T dwRegionSize
ParamCount=2
@=ResetWriteWatch(LPVOID lpBaseAddress, SIZE_T dwRegionSize);
[GetLargePageMinimum]
ParamCount=0
@=GetLargePageMinimum();
[EnumSystemFirmwareTables]
1=DWORD FirmwareTableProviderSignature
2=PVOID pFirmwareTableEnumBuffer
3=DWORD BufferSize
ParamCount=3
@=EnumSystemFirmwareTables(DWORD FirmwareTableProviderSignature, PVOID pFirmwareTableEnumBuffer, DWORD BufferSize);
[GetSystemFirmwareTable]
1=DWORD FirmwareTableProviderSignature
2=DWORD FirmwareTableID
3=PVOID pFirmwareTableBuffer
4=DWORD BufferSize
ParamCount=4
@=GetSystemFirmwareTable(DWORD FirmwareTableProviderSignature, DWORD FirmwareTableID, PVOID pFirmwareTableBuffer, DWORD BufferSize);
[GetPhysicallyInstalledSystemMemory]
1=PULONGLONG TotalMemoryInKilobytes
ParamCount=1
@=GetPhysicallyInstalledSystemMemory(PULONGLONG TotalMemoryInKilobytes);
[VirtualFreeEx]
1=HANDLE hProcess
2=LPVOID lpAddress
3=SIZE_T dwSize
4=DWORD dwFreeType
ParamCount=4
@=VirtualFreeEx(HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD dwFreeType);
[VirtualProtectEx]
1=HANDLE hProcess
2=LPVOID lpAddress
3=SIZE_T dwSize
4=DWORD flNewProtect
5=PDWORD lpflOldProtect
ParamCount=5
@=VirtualProtectEx(HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD flNewProtect, PDWORD lpflOldProtect);
[VirtualQueryEx]
1=HANDLE hProcess
2=LPCVOID lpAddress
3=PMEMORY_BASIC_INFORMATION lpBuffer
4=SIZE_T dwLength
ParamCount=4
@=VirtualQueryEx(HANDLE hProcess, LPCVOID lpAddress, PMEMORY_BASIC_INFORMATION lpBuffer, SIZE_T dwLength);
[HeapCreate]
1=DWORD flOptions
2=SIZE_T dwInitialSize
3=SIZE_T dwMaximumSize
ParamCount=3
@=HeapCreate(DWORD flOptions, SIZE_T dwInitialSize, SIZE_T dwMaximumSize);
[HeapDestroy]
1=HANDLE hHeap
ParamCount=1
@=HeapDestroy(HANDLE hHeap);
[HeapAlloc]
1=HANDLE hHeap
2=DWORD dwFlags
3=SIZE_T dwBytes
ParamCount=3
@=HeapAlloc(HANDLE hHeap, DWORD dwFlags, SIZE_T dwBytes);
[HeapReAlloc]
1=HANDLE hHeap
2=DWORD dwFlags
3=LPVOID lpMem
4=SIZE_T dwBytes
ParamCount=4
@=HeapReAlloc(HANDLE hHeap, DWORD dwFlags, LPVOID lpMem, SIZE_T dwBytes);
[HeapFree]
1=HANDLE hHeap
2=DWORD dwFlags
3=DWORD LPVOIDlpMem
ParamCount=3
@=HeapFree(HANDLE hHeap, DWORD dwFlags, DWORD LPVOIDlpMem);
[HeapSize]
1=HANDLE hHeap
2=DWORD dwFlags
3=LPCVOID lpMem
ParamCount=3
@=HeapSize(HANDLE hHeap, DWORD dwFlags, LPCVOID lpMem);
[HeapValidate]
1=HANDLE hHeap
2=DWORD dwFlags
3=LPCVOID lpMem
ParamCount=3
@=HeapValidate(HANDLE hHeap, DWORD dwFlags, LPCVOID lpMem);
[HeapCompact]
1=HANDLE hHeap
2=DWORD dwFlags
ParamCount=2
@=HeapCompact(HANDLE hHeap, DWORD dwFlags);
[GetProcessHeap]
ParamCount=0
@=GetProcessHeap();
[GetProcessHeaps]
1=DWORD NumberOfHeaps
2=PHANDLE ProcessHeaps
ParamCount=2
@=GetProcessHeaps(DWORD NumberOfHeaps, PHANDLE ProcessHeaps);
[HeapLock]
1=HANDLE hHeap
ParamCount=1
@=HeapLock(HANDLE hHeap);
[HeapUnlock]
1=HANDLE hHeap
ParamCount=1
@=HeapUnlock(HANDLE hHeap);
[HeapWalk]
1=HANDLE hHeap
2=LPPROCESS_HEAP_ENTRY lpEntry
ParamCount=2
@=HeapWalk(HANDLE hHeap, LPPROCESS_HEAP_ENTRY lpEntry);
[HeapSetInformation]
1=HANDLE HeapHandle
2=HEAP_INFORMATION_CLASS HeapInformationClass
3=PVOID HeapInformation
4=SIZE_T HeapInformationLength
ParamCount=4
@=HeapSetInformation(HANDLE HeapHandle, HEAP_INFORMATION_CLASS HeapInformationClass, PVOID HeapInformation, SIZE_T HeapInformationLength);
[HeapQueryInformation]
1=HANDLE HeapHandle
2=HEAP_INFORMATION_CLASS HeapInformationClass
3=PVOID HeapInformation
4=SIZE_T HeapInformationLength
5=PSIZE_T ReturnLength
ParamCount=5
@=HeapQueryInformation(HANDLE HeapHandle, HEAP_INFORMATION_CLASS HeapInformationClass, PVOID HeapInformation, SIZE_T HeapInformationLength, PSIZE_T ReturnLength);
[GetBinaryTypeA]
1=LPCSTR lpApplicationName
2=LPDWORD lpBinaryType
ParamCount=2
@=GetBinaryTypeA(LPCSTR lpApplicationName, LPDWORD lpBinaryType);
[GetBinaryTypeW]
1=LPCWSTR lpApplicationName
2=LPDWORD lpBinaryType
ParamCount=2
@=GetBinaryTypeW(LPCWSTR lpApplicationName, LPDWORD lpBinaryType);
[GetShortPathNameA]
1=LPCSTR lpszLongPath
2=LPSTR lpszShortPath
3=DWORD cchBuffer
ParamCount=3
@=GetShortPathNameA(LPCSTR lpszLongPath, LPSTR lpszShortPath, DWORD cchBuffer);
[GetShortPathNameW]
1=LPCWSTR lpszLongPath
2=LPWSTR lpszShortPath
3=DWORD cchBuffer
ParamCount=3
@=GetShortPathNameW(LPCWSTR lpszLongPath, LPWSTR lpszShortPath, DWORD cchBuffer);
[GetLongPathNameA]
1=LPCSTR lpszShortPath
2=LPSTR lpszLongPath
3=DWORD cchBuffer
ParamCount=3
@=GetLongPathNameA(LPCSTR lpszShortPath, LPSTR lpszLongPath, DWORD cchBuffer);
[GetLongPathNameW]
1=LPCWSTR lpszShortPath
2=LPWSTR lpszLongPath
3=DWORD cchBuffer
ParamCount=3
@=GetLongPathNameW(LPCWSTR lpszShortPath, LPWSTR lpszLongPath, DWORD cchBuffer);
[GetLongPathNameTransactedA]
1=LPCSTR lpszShortPath
2=LPSTR lpszLongPath
3=DWORD cchBuffer
4=HANDLE hTransaction
ParamCount=4
@=GetLongPathNameTransactedA(LPCSTR lpszShortPath, LPSTR lpszLongPath, DWORD cchBuffer, HANDLE hTransaction);
[GetLongPathNameTransactedW]
1=LPCWSTR lpszShortPath
2=LPWSTR lpszLongPath
3=DWORD cchBuffer
4=HANDLE hTransaction
ParamCount=4
@=GetLongPathNameTransactedW(LPCWSTR lpszShortPath, LPWSTR lpszLongPath, DWORD cchBuffer, HANDLE hTransaction);
[GetProcessAffinityMask]
1=HANDLE hProcess
2=PDWORD_PTR lpProcessAffinityMask
3=PDWORD_PTR lpSystemAffinityMask
ParamCount=3
@=GetProcessAffinityMask(HANDLE hProcess, PDWORD_PTR lpProcessAffinityMask, PDWORD_PTR lpSystemAffinityMask);
[SetProcessAffinityMask]
1=HANDLE hProcess
2=DWORD_PTR dwProcessAffinityMask
ParamCount=2
@=SetProcessAffinityMask(HANDLE hProcess, DWORD_PTR dwProcessAffinityMask);
[GetProcessGroupAffinity]
1=HANDLE hProcess
2=PUSHORT GroupCount
3=PUSHORT GroupArray
ParamCount=3
@=GetProcessGroupAffinity(HANDLE hProcess, PUSHORT GroupCount, PUSHORT GroupArray);
[GetProcessHandleCount]
1=HANDLE hProcess
2=PDWORD pdwHandleCount
ParamCount=2
@=GetProcessHandleCount(HANDLE hProcess, PDWORD pdwHandleCount);
[GetProcessTimes]
1=HANDLE hProcess
2=LPFILETIME lpCreationTime
3=LPFILETIME lpExitTime
4=LPFILETIME lpKernelTime
5=LPFILETIME lpUserTime
ParamCount=5
@=GetProcessTimes(HANDLE hProcess, LPFILETIME lpCreationTime, LPFILETIME lpExitTime, LPFILETIME lpKernelTime, LPFILETIME lpUserTime);
[GetProcessIoCounters]
1=HANDLE hProcess
2=PIO_COUNTERS lpIoCounters
ParamCount=2
@=GetProcessIoCounters(HANDLE hProcess, PIO_COUNTERS lpIoCounters);
[GetProcessWorkingSetSize]
1=HANDLE hProcess
2=PSIZE_T lpMinimumWorkingSetSize
3=PSIZE_T lpMaximumWorkingSetSize
ParamCount=3
@=GetProcessWorkingSetSize(HANDLE hProcess, PSIZE_T lpMinimumWorkingSetSize, PSIZE_T lpMaximumWorkingSetSize);
[GetProcessWorkingSetSizeEx]
1=HANDLE hProcess
2=PSIZE_T lpMinimumWorkingSetSize
3=PSIZE_T lpMaximumWorkingSetSize
4=PDWORD Flags
ParamCount=4
@=GetProcessWorkingSetSizeEx(HANDLE hProcess, PSIZE_T lpMinimumWorkingSetSize, PSIZE_T lpMaximumWorkingSetSize, PDWORD Flags);
[SetProcessWorkingSetSize]
1=HANDLE hProcess
2=SIZE_T dwMinimumWorkingSetSize
3=SIZE_T dwMaximumWorkingSetSize
ParamCount=3
@=SetProcessWorkingSetSize(HANDLE hProcess, SIZE_T dwMinimumWorkingSetSize, SIZE_T dwMaximumWorkingSetSize);
[SetProcessWorkingSetSizeEx]
1=HANDLE hProcess
2=SIZE_T dwMinimumWorkingSetSize
3=SIZE_T dwMaximumWorkingSetSize
4=DWORD Flags
ParamCount=4
@=SetProcessWorkingSetSizeEx(HANDLE hProcess, SIZE_T dwMinimumWorkingSetSize, SIZE_T dwMaximumWorkingSetSize, DWORD Flags);
[SetProcessAffinityUpdateMode]
1=HANDLE hProcess
2=DWORD dwFlags
ParamCount=2
@=SetProcessAffinityUpdateMode(HANDLE hProcess, DWORD dwFlags);
[QueryProcessAffinityUpdateMode]
1=HANDLE hProcess
2=LPDWORD lpdwFlags
ParamCount=2
@=QueryProcessAffinityUpdateMode(HANDLE hProcess, LPDWORD lpdwFlags);
[OpenProcess]
1=DWORD dwDesiredAccess
2=BOOL bInheritHandle
3=DWORD dwProcessId
ParamCount=3
@=OpenProcess(DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwProcessId);
[GetCurrentProcess]
ParamCount=0
@=GetCurrentProcess();
[GetCurrentProcessId]
ParamCount=0
@=GetCurrentProcessId();
[ExitProcess]
1=UINT uExitCode
ParamCount=1
@=ExitProcess(UINT uExitCode);
[TerminateProcess]
1=HANDLE hProcess
2=UINT uExitCode
ParamCount=2
@=TerminateProcess(HANDLE hProcess, UINT uExitCode);
[GetExitCodeProcess]
1=HANDLE hProcess
2=LPDWORD lpExitCode
ParamCount=2
@=GetExitCodeProcess(HANDLE hProcess, LPDWORD lpExitCode);
[FatalExit]
1=int ExitCode
ParamCount=1
@=FatalExit(int ExitCode);
[GetEnvironmentStrings]
ParamCount=0
@=GetEnvironmentStrings();
[GetEnvironmentStringsW]
ParamCount=0
@=GetEnvironmentStringsW();
[SetEnvironmentStringsA]
1=VOID LPCHNewEnvironment
ParamCount=1
@=SetEnvironmentStringsA(VOID LPCHNewEnvironment);
[SetEnvironmentStringsW]
1=VOID LPWCHNewEnvironment
ParamCount=1
@=SetEnvironmentStringsW(VOID LPWCHNewEnvironment);
[FreeEnvironmentStringsA]
1=VOID LPCH
ParamCount=1
@=FreeEnvironmentStringsA(VOID LPCH);
[FreeEnvironmentStringsW]
1=VOID LPWCH
ParamCount=1
@=FreeEnvironmentStringsW(VOID LPWCH);
[RaiseException]
1=DWORD dwExceptionCode
2=DWORD dwExceptionFlags
3=DWORD nNumberOfArguments
4=ULONG_PTR *lpArguments
ParamCount=4
@=RaiseException(DWORD dwExceptionCode, DWORD dwExceptionFlags, DWORD nNumberOfArguments, ULONG_PTR *lpArguments);
[RaiseFailFastException]
1=PEXCEPTION_RECORD pExceptionRecord
2=PCONTEXT pContextRecord
3=DWORD dwFlags
ParamCount=3
@=RaiseFailFastException(PEXCEPTION_RECORD pExceptionRecord, PCONTEXT pContextRecord, DWORD dwFlags);
[UnhandledExceptionFilter]
1=_EXCEPTION_POINTERS *ExceptionInfo
ParamCount=1
@=UnhandledExceptionFilter(_EXCEPTION_POINTERS *ExceptionInfo);
[SetUnhandledExceptionFilter]
1=LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter
ParamCount=1
@=SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter);
[CreateFiber]
1=SIZE_T dwStackSize
2=LPFIBER_START_ROUTINE lpStartAddress
3=LPVOID lpParameter
ParamCount=3
@=CreateFiber(SIZE_T dwStackSize, LPFIBER_START_ROUTINE lpStartAddress, LPVOID lpParameter);
[CreateFiberEx]
1=SIZE_T dwStackCommitSize
2=SIZE_T dwStackReserveSize
3=DWORD dwFlags
4=LPFIBER_START_ROUTINE lpStartAddress
5=LPVOID lpParameter
ParamCount=5
@=CreateFiberEx(SIZE_T dwStackCommitSize, SIZE_T dwStackReserveSize, DWORD dwFlags, LPFIBER_START_ROUTINE lpStartAddress, LPVOID lpParameter);
[DeleteFiber]
1=LPVOID lpFiber
ParamCount=1
@=DeleteFiber(LPVOID lpFiber);
[ConvertThreadToFiber]
1=LPVOID lpParameter
ParamCount=1
@=ConvertThreadToFiber(LPVOID lpParameter);
[ConvertThreadToFiberEx]
1=LPVOID lpParameter
2=DWORD dwFlags
ParamCount=2
@=ConvertThreadToFiberEx(LPVOID lpParameter, DWORD dwFlags);
[ConvertFiberToThread]
ParamCount=0
@=ConvertFiberToThread();
[IsThreadAFiber]
ParamCount=0
@=IsThreadAFiber();
[SwitchToFiber]
1=LPVOID lpFiber
ParamCount=1
@=SwitchToFiber(LPVOID lpFiber);
[SwitchToThread]
ParamCount=0
@=SwitchToThread();
[CreateUmsCompletionList]
1=PUMS_COMPLETION_LIST* UmsCompletionList
ParamCount=1
@=CreateUmsCompletionList(PUMS_COMPLETION_LIST* UmsCompletionList);
[DequeueUmsCompletionListItems]
1=PUMS_COMPLETION_LIST UmsCompletionList
2=DWORD WaitTimeOut
3=PUMS_CONTEXT* UmsThreadList
ParamCount=3
@=DequeueUmsCompletionListItems(PUMS_COMPLETION_LIST UmsCompletionList, DWORD WaitTimeOut, PUMS_CONTEXT* UmsThreadList);
[GetUmsCompletionListEvent]
1=PUMS_COMPLETION_LIST UmsCompletionList
2=PHANDLE UmsCompletionEvent
ParamCount=2
@=GetUmsCompletionListEvent(PUMS_COMPLETION_LIST UmsCompletionList, PHANDLE UmsCompletionEvent);
[ExecuteUmsThread]
1=PUMS_CONTEXT UmsThread
ParamCount=1
@=ExecuteUmsThread(PUMS_CONTEXT UmsThread);
[UmsThreadYield]
1=PVOID SchedulerParam
ParamCount=1
@=UmsThreadYield(PVOID SchedulerParam);
[DeleteUmsCompletionList]
1=PUMS_COMPLETION_LIST UmsCompletionList
ParamCount=1
@=DeleteUmsCompletionList(PUMS_COMPLETION_LIST UmsCompletionList);
[GetCurrentUmsThread]
ParamCount=0
@=GetCurrentUmsThread();
[GetNextUmsListItem]
1=PUMS_CONTEXT UmsContext
ParamCount=1
@=GetNextUmsListItem(PUMS_CONTEXT UmsContext);
[QueryUmsThreadInformation]
1=PUMS_CONTEXT UmsThread
2=UMS_THREAD_INFO_CLASS UmsThreadInfoClass
3=PVOID UmsThreadInformation
4=ULONG UmsThreadInformationLength
5=PULONG ReturnLength
ParamCount=5
@=QueryUmsThreadInformation(PUMS_CONTEXT UmsThread, UMS_THREAD_INFO_CLASS UmsThreadInfoClass, PVOID UmsThreadInformation, ULONG UmsThreadInformationLength, PULONG ReturnLength);
[SetUmsThreadInformation]
1=PUMS_CONTEXT UmsThread
2=UMS_THREAD_INFO_CLASS UmsThreadInfoClass
3=PVOID UmsThreadInformation
4=ULONG UmsThreadInformationLength
ParamCount=4
@=SetUmsThreadInformation(PUMS_CONTEXT UmsThread, UMS_THREAD_INFO_CLASS UmsThreadInfoClass, PVOID UmsThreadInformation, ULONG UmsThreadInformationLength);
[DeleteUmsThreadContext]
1=PUMS_CONTEXT UmsThread
ParamCount=1
@=DeleteUmsThreadContext(PUMS_CONTEXT UmsThread);
[CreateUmsThreadContext]
1=PUMS_CONTEXT *lpUmsThread
ParamCount=1
@=CreateUmsThreadContext(PUMS_CONTEXT *lpUmsThread);
[EnterUmsSchedulingMode]
1=PUMS_SCHEDULER_STARTUP_INFO SchedulerStartupInfo
ParamCount=1
@=EnterUmsSchedulingMode(PUMS_SCHEDULER_STARTUP_INFO SchedulerStartupInfo);
[CreateThread]
1=LPSECURITY_ATTRIBUTES lpThreadAttributes
2=SIZE_T dwStackSize
3=LPTHREAD_START_ROUTINE lpStartAddress
4=LPTHREAD_START_ROUTINE LPVOIDlpParameter
5=DWORD dwCreationFlags
6=LPDWORD lpThreadId
ParamCount=6
@=CreateThread(LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPTHREAD_START_ROUTINE LPVOIDlpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId);
[CreateRemoteThread]
1=HANDLE hProcess
2=LPSECURITY_ATTRIBUTES lpThreadAttributes
3=SIZE_T dwStackSize
4=LPTHREAD_START_ROUTINE lpStartAddress
5=LPVOID lpParameter
6=DWORD dwCreationFlags
7=LPDWORD lpThreadId
ParamCount=7
@=CreateRemoteThread(HANDLE hProcess, LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId);
[CreateRemoteThreadEx]
1=HANDLE hProcess
2=LPSECURITY_ATTRIBUTES lpThreadAttributes
3=SIZE_T dwStackSize
4=LPTHREAD_START_ROUTINE lpStartAddress
5=LPVOID lpParameter
6=DWORD dwCreationFlags
7=LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList
8=LPDWORD lpThreadId
ParamCount=8
@=CreateRemoteThreadEx(HANDLE hProcess, LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList, LPDWORD lpThreadId);
[GetCurrentThread]
ParamCount=0
@=GetCurrentThread();
[GetCurrentThreadId]
ParamCount=0
@=GetCurrentThreadId();
[SetThreadStackGuarantee]
1=PULONG StackSizeInBytes
ParamCount=1
@=SetThreadStackGuarantee(PULONG StackSizeInBytes);
[GetProcessIdOfThread]
1=HANDLE Thread
ParamCount=1
@=GetProcessIdOfThread(HANDLE Thread);
[GetThreadId]
1=HANDLE Thread
ParamCount=1
@=GetThreadId(HANDLE Thread);
[GetProcessId]
1=HANDLE Process
ParamCount=1
@=GetProcessId(HANDLE Process);
[GetCurrentProcessorNumber]
ParamCount=0
@=GetCurrentProcessorNumber();
[GetCurrentProcessorNumberEx]
1=PPROCESSOR_NUMBER ProcNumber
ParamCount=1
@=GetCurrentProcessorNumberEx(PPROCESSOR_NUMBER ProcNumber);
[GetThreadGroupAffinity]
1=HANDLE hThread
2=PGROUP_AFFINITY GroupAffinity
ParamCount=2
@=GetThreadGroupAffinity(HANDLE hThread, PGROUP_AFFINITY GroupAffinity);
[SetThreadAffinityMask]
1=HANDLE hThread
2=DWORD_PTR dwThreadAffinityMask
ParamCount=2
@=SetThreadAffinityMask(HANDLE hThread, DWORD_PTR dwThreadAffinityMask);
[SetThreadGroupAffinity]
1=HANDLE hThread
2=GROUP_AFFINITY *GroupAffinity
3=PGROUP_AFFINITY PreviousGroupAffinity
ParamCount=3
@=SetThreadGroupAffinity(HANDLE hThread, GROUP_AFFINITY *GroupAffinity, PGROUP_AFFINITY PreviousGroupAffinity);
[SetThreadIdealProcessorEx]
1=HANDLE hThread
2=PPROCESSOR_NUMBER lpIdealProcessor
3=PPROCESSOR_NUMBER lpPreviousIdealProcessor
ParamCount=3
@=SetThreadIdealProcessorEx(HANDLE hThread, PPROCESSOR_NUMBER lpIdealProcessor, PPROCESSOR_NUMBER lpPreviousIdealProcessor);
[GetThreadIdealProcessorEx]
1=HANDLE hThread
2=PPROCESSOR_NUMBER lpIdealProcessor
ParamCount=2
@=GetThreadIdealProcessorEx(HANDLE hThread, PPROCESSOR_NUMBER lpIdealProcessor);
[SetThreadIdealProcessor]
1=HANDLE hThread
2=DWORD dwIdealProcessor
ParamCount=2
@=SetThreadIdealProcessor(HANDLE hThread, DWORD dwIdealProcessor);
[SetProcessDEPPolicy]
1=DWORD dwFlags
ParamCount=1
@=SetProcessDEPPolicy(DWORD dwFlags);
[GetProcessDEPPolicy]
1=HANDLE hProcess
2=LPDWORD lpFlags
3=PBOOL lpPermanent
ParamCount=3
@=GetProcessDEPPolicy(HANDLE hProcess, LPDWORD lpFlags, PBOOL lpPermanent);
[SetProcessPriorityBoost]
1=HANDLE hProcess
2=BOOL bDisablePriorityBoost
ParamCount=2
@=SetProcessPriorityBoost(HANDLE hProcess, BOOL bDisablePriorityBoost);
[GetProcessPriorityBoost]
1=HANDLE hProcess
2=PBOOL pDisablePriorityBoost
ParamCount=2
@=GetProcessPriorityBoost(HANDLE hProcess, PBOOL pDisablePriorityBoost);
[RequestWakeupLatency]
1=LATENCY_TIME latency
ParamCount=1
@=RequestWakeupLatency(LATENCY_TIME latency);
[IsSystemResumeAutomatic]
ParamCount=0
@=IsSystemResumeAutomatic();
[OpenThread]
1=DWORD dwDesiredAccess
2=BOOL bInheritHandle
3=DWORD dwThreadId
ParamCount=3
@=OpenThread(DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwThreadId);
[SetThreadPriority]
1=HANDLE hThread
2=int nPriority
ParamCount=2
@=SetThreadPriority(HANDLE hThread, int nPriority);
[SetThreadPriorityBoost]
1=HANDLE hThread
2=BOOL bDisablePriorityBoost
ParamCount=2
@=SetThreadPriorityBoost(HANDLE hThread, BOOL bDisablePriorityBoost);
[GetThreadPriorityBoost]
1=HANDLE hThread
2=PBOOL pDisablePriorityBoost
ParamCount=2
@=GetThreadPriorityBoost(HANDLE hThread, PBOOL pDisablePriorityBoost);
[GetThreadPriority]
1=HANDLE hThread
ParamCount=1
@=GetThreadPriority(HANDLE hThread);
[GetThreadTimes]
1=HANDLE hThread
2=LPFILETIME lpCreationTime
3=LPFILETIME lpExitTime
4=LPFILETIME lpKernelTime
5=LPFILETIME lpUserTime
ParamCount=5
@=GetThreadTimes(HANDLE hThread, LPFILETIME lpCreationTime, LPFILETIME lpExitTime, LPFILETIME lpKernelTime, LPFILETIME lpUserTime);
[GetThreadIOPendingFlag]
1=HANDLE hThread
2=PBOOL lpIOIsPending
ParamCount=2
@=GetThreadIOPendingFlag(HANDLE hThread, PBOOL lpIOIsPending);
[ExitThread]
1=DWORD dwExitCode
ParamCount=1
@=ExitThread(DWORD dwExitCode);
[TerminateThread]
1=HANDLE hThread
2=DWORD dwExitCode
ParamCount=2
@=TerminateThread(HANDLE hThread, DWORD dwExitCode);
[GetExitCodeThread]
1=HANDLE hThread
2=LPDWORD lpExitCode
ParamCount=2
@=GetExitCodeThread(HANDLE hThread, LPDWORD lpExitCode);
[GetThreadSelectorEntry]
1=HANDLE hThread
2=DWORD dwSelector
3=LPLDT_ENTRY lpSelectorEntry
ParamCount=3
@=GetThreadSelectorEntry(HANDLE hThread, DWORD dwSelector, LPLDT_ENTRY lpSelectorEntry);
[SetThreadExecutionState]
1=EXECUTION_STATE esFlags
ParamCount=1
@=SetThreadExecutionState(EXECUTION_STATE esFlags);
[PowerCreateRequest]
1=PREASON_CONTEXT Context
ParamCount=1
@=PowerCreateRequest(PREASON_CONTEXT Context);
[PowerSetRequest]
1=HANDLE PowerRequest
2=POWER_REQUEST_TYPE RequestType
ParamCount=2