Merge 25584, 25588.
[reactos.git] / reactos / include / ndk / exfuncs.h
1 /*++ NDK Version: 0098
2
3 Copyright (c) Alex Ionescu. All rights reserved.
4
5 Header Name:
6
7 exfuncs.h
8
9 Abstract:
10
11 Function definitions for the Executive.
12
13 Author:
14
15 Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
16
17 --*/
18
19 #ifndef _EXFUNCS_H
20 #define _EXFUNCS_H
21
22 //
23 // Dependencies
24 //
25 #include <umtypes.h>
26 #include <pstypes.h>
27 #include <extypes.h>
28
29 //
30 // Don't include WMI headers just for one define
31 //
32 typedef struct _EVENT_TRACE_HEADER *PEVENT_TRACE_HEADER;
33
34 #ifndef NTOS_MODE_USER
35 //
36 // Fast Mutex functions
37 //
38 VOID
39 FASTCALL
40 ExEnterCriticalRegionAndAcquireFastMutexUnsafe(
41 PFAST_MUTEX FastMutex
42 );
43
44 VOID
45 FASTCALL
46 ExReleaseFastMutexUnsafeAndLeaveCriticalRegion(
47 PFAST_MUTEX FastMutex
48 );
49
50 //
51 // Pushlock functions
52 //
53 VOID
54 FASTCALL
55 ExfAcquirePushLockExclusive(
56 PEX_PUSH_LOCK PushLock
57 );
58
59 VOID
60 FASTCALL
61 ExfAcquirePushLockShared(
62 PEX_PUSH_LOCK PushLock
63 );
64
65 VOID
66 FASTCALL
67 ExfReleasePushLock(
68 PEX_PUSH_LOCK PushLock
69 );
70
71 VOID
72 FASTCALL
73 ExfReleasePushLockExclusive(
74 PEX_PUSH_LOCK PushLock
75 );
76
77 VOID
78 FASTCALL
79 ExfReleasePushLockShared(
80 PEX_PUSH_LOCK PushLock
81 );
82
83 VOID
84 FASTCALL
85 ExfTryToWakePushLock(
86 PEX_PUSH_LOCK PushLock
87 );
88
89 VOID
90 FASTCALL
91 ExfUnblockPushLock(
92 PEX_PUSH_LOCK PushLock,
93 PVOID CurrentWaitBlock
94 );
95
96 //
97 // Resource Functions
98 //
99 NTKERNELAPI
100 BOOLEAN
101 NTAPI
102 ExTryToAcquireResourceExclusiveLite(
103 IN PERESOURCE Resource
104 );
105
106 #endif
107
108 //
109 // Native Calls
110 //
111 NTSYSCALLAPI
112 NTSTATUS
113 NTAPI
114 NtAddAtom(
115 IN PWSTR AtomName,
116 IN ULONG AtomNameLength,
117 IN OUT PRTL_ATOM Atom
118 );
119
120 NTSYSCALLAPI
121 NTSTATUS
122 NTAPI
123 NtCancelTimer(
124 IN HANDLE TimerHandle,
125 OUT PBOOLEAN CurrentState OPTIONAL
126 );
127
128 NTSYSCALLAPI
129 NTSTATUS
130 NTAPI
131 NtClearEvent(
132 IN HANDLE EventHandle
133 );
134
135 NTSYSCALLAPI
136 NTSTATUS
137 NTAPI
138 NtCreateEvent(
139 OUT PHANDLE EventHandle,
140 IN ACCESS_MASK DesiredAccess,
141 IN POBJECT_ATTRIBUTES ObjectAttributes,
142 IN EVENT_TYPE EventType,
143 IN BOOLEAN InitialState
144 );
145
146 NTSYSCALLAPI
147 NTSTATUS
148 NTAPI
149 NtCreateEventPair(
150 OUT PHANDLE EventPairHandle,
151 IN ACCESS_MASK DesiredAccess,
152 IN POBJECT_ATTRIBUTES ObjectAttributes
153 );
154
155 NTSYSCALLAPI
156 NTSTATUS
157 NTAPI
158 NtCreateKeyedEvent(
159 OUT PHANDLE KeyedEventHandle,
160 IN ACCESS_MASK DesiredAccess,
161 IN POBJECT_ATTRIBUTES ObjectAttributes,
162 IN ULONG Flags
163 );
164
165 NTSYSCALLAPI
166 NTSTATUS
167 NTAPI
168 NtCreateMutant(
169 OUT PHANDLE MutantHandle,
170 IN ACCESS_MASK DesiredAccess,
171 IN POBJECT_ATTRIBUTES ObjectAttributes,
172 IN BOOLEAN InitialOwner
173 );
174
175 NTSYSCALLAPI
176 NTSTATUS
177 NTAPI
178 NtCreateSemaphore(
179 OUT PHANDLE SemaphoreHandle,
180 IN ACCESS_MASK DesiredAccess,
181 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
182 IN LONG InitialCount,
183 IN LONG MaximumCount
184 );
185
186 NTSYSCALLAPI
187 NTSTATUS
188 NTAPI
189 NtCreateTimer(
190 OUT PHANDLE TimerHandle,
191 IN ACCESS_MASK DesiredAccess,
192 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
193 IN TIMER_TYPE TimerType
194 );
195
196 NTSYSCALLAPI
197 NTSTATUS
198 NTAPI
199 NtDeleteAtom(
200 IN RTL_ATOM Atom
201 );
202
203 NTSYSCALLAPI
204 NTSTATUS
205 NTAPI
206 NtDisplayString(
207 IN PUNICODE_STRING DisplayString
208 );
209
210 NTSYSCALLAPI
211 NTSTATUS
212 NTAPI
213 NtEnumerateSystemEnvironmentValuesEx(
214 IN ULONG InformationClass,
215 IN PVOID Buffer,
216 IN ULONG BufferLength
217 );
218
219 NTSYSCALLAPI
220 NTSTATUS
221 NTAPI
222 NtFindAtom(
223 IN PWSTR AtomName,
224 IN ULONG AtomNameLength,
225 OUT PRTL_ATOM Atom OPTIONAL
226 );
227
228 NTSYSCALLAPI
229 NTSTATUS
230 NTAPI
231 NtOpenEvent(
232 OUT PHANDLE EventHandle,
233 IN ACCESS_MASK DesiredAccess,
234 IN POBJECT_ATTRIBUTES ObjectAttributes
235 );
236
237 NTSYSCALLAPI
238 NTSTATUS
239 NTAPI
240 NtOpenKeyedEvent(
241 OUT PHANDLE EventHandle,
242 IN ACCESS_MASK DesiredAccess,
243 IN POBJECT_ATTRIBUTES ObjectAttributes
244 );
245
246 NTSYSCALLAPI
247 NTSTATUS
248 NTAPI
249 NtOpenEventPair(
250 OUT PHANDLE EventPairHandle,
251 IN ACCESS_MASK DesiredAccess,
252 IN POBJECT_ATTRIBUTES ObjectAttributes
253 );
254
255 NTSYSCALLAPI
256 NTSTATUS
257 NTAPI
258 NtOpenMutant(
259 OUT PHANDLE MutantHandle,
260 IN ACCESS_MASK DesiredAccess,
261 IN POBJECT_ATTRIBUTES ObjectAttributes
262 );
263
264 NTSYSCALLAPI
265 NTSTATUS
266 NTAPI
267 NtOpenSemaphore(
268 OUT PHANDLE SemaphoreHandle,
269 IN ACCESS_MASK DesiredAcces,
270 IN POBJECT_ATTRIBUTES ObjectAttributes
271 );
272
273 NTSYSCALLAPI
274 NTSTATUS
275 NTAPI
276 NtOpenTimer(
277 OUT PHANDLE TimerHandle,
278 IN ACCESS_MASK DesiredAccess,
279 IN POBJECT_ATTRIBUTES ObjectAttributes
280 );
281
282 NTSYSCALLAPI
283 NTSTATUS
284 NTAPI
285 NtPulseEvent(
286 IN HANDLE EventHandle,
287 IN PLONG PulseCount OPTIONAL
288 );
289
290 NTSYSCALLAPI
291 NTSTATUS
292 NTAPI
293 NtQueryDefaultLocale(
294 IN BOOLEAN UserProfile,
295 OUT PLCID DefaultLocaleId
296 );
297
298 NTSYSCALLAPI
299 NTSTATUS
300 NTAPI
301 NtQueryDefaultUILanguage(
302 PLANGID LanguageId
303 );
304
305 NTSYSCALLAPI
306 NTSTATUS
307 NTAPI
308 NtQueryEvent(
309 IN HANDLE EventHandle,
310 IN EVENT_INFORMATION_CLASS EventInformationClass,
311 OUT PVOID EventInformation,
312 IN ULONG EventInformationLength,
313 OUT PULONG ReturnLength
314 );
315
316 NTSYSCALLAPI
317 NTSTATUS
318 NTAPI
319 NtQueryInformationAtom(
320 IN RTL_ATOM Atom,
321 IN ATOM_INFORMATION_CLASS AtomInformationClass,
322 OUT PVOID AtomInformation,
323 IN ULONG AtomInformationLength,
324 OUT PULONG ReturnLength OPTIONAL
325 );
326
327 NTSYSCALLAPI
328 NTSTATUS
329 NTAPI
330 NtQueryInstallUILanguage(
331 PLANGID LanguageId
332 );
333
334 NTSYSCALLAPI
335 NTSTATUS
336 NTAPI
337 NtQueryMutant(
338 IN HANDLE MutantHandle,
339 IN MUTANT_INFORMATION_CLASS MutantInformationClass,
340 OUT PVOID MutantInformation,
341 IN ULONG Length,
342 OUT PULONG ResultLength
343 );
344
345 NTSYSCALLAPI
346 NTSTATUS
347 NTAPI
348 NtQuerySemaphore(
349 IN HANDLE SemaphoreHandle,
350 IN SEMAPHORE_INFORMATION_CLASS SemaphoreInformationClass,
351 OUT PVOID SemaphoreInformation,
352 IN ULONG Length,
353 OUT PULONG ReturnLength
354 );
355
356 NTSYSCALLAPI
357 NTSTATUS
358 NTAPI
359 NtQuerySystemEnvironmentValue(
360 IN PUNICODE_STRING Name,
361 OUT PWSTR Value,
362 ULONG Length,
363 PULONG ReturnLength
364 );
365
366 NTSYSCALLAPI
367 NTSTATUS
368 NTAPI
369 NtQuerySystemEnvironmentValueEx(
370 IN PUNICODE_STRING VariableName,
371 IN LPGUID VendorGuid,
372 IN PVOID Value,
373 IN OUT PULONG ReturnLength,
374 IN OUT PULONG Attributes
375 );
376
377 NTSYSCALLAPI
378 NTSTATUS
379 NTAPI
380 NtQuerySystemInformation(
381 IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
382 OUT PVOID SystemInformation,
383 IN SIZE_T Length,
384 OUT PSIZE_T ResultLength
385 );
386
387 NTSYSCALLAPI
388 NTSTATUS
389 NTAPI
390 NtQueryTimer(
391 IN HANDLE TimerHandle,
392 IN TIMER_INFORMATION_CLASS TimerInformationClass,
393 OUT PVOID TimerInformation,
394 IN ULONG Length,
395 OUT PULONG ResultLength
396 );
397
398 NTSYSCALLAPI
399 NTSTATUS
400 NTAPI
401 NtRaiseHardError(
402 IN NTSTATUS ErrorStatus,
403 IN ULONG NumberOfParameters,
404 IN ULONG UnicodeStringParameterMask,
405 IN PULONG_PTR Parameters,
406 IN ULONG ValidResponseOptions,
407 OUT PULONG Response
408 );
409
410 NTSYSCALLAPI
411 NTSTATUS
412 NTAPI
413 NtReleaseMutant(
414 IN HANDLE MutantHandle,
415 IN PLONG ReleaseCount OPTIONAL
416 );
417
418 NTSYSCALLAPI
419 NTSTATUS
420 NTAPI
421 NtReleaseKeyedEvent(
422 IN HANDLE EventHandle,
423 IN PVOID Key,
424 IN BOOLEAN Alertable,
425 IN PLARGE_INTEGER Timeout OPTIONAL
426 );
427
428 NTSYSCALLAPI
429 NTSTATUS
430 NTAPI
431 NtReleaseSemaphore(
432 IN HANDLE SemaphoreHandle,
433 IN LONG ReleaseCount,
434 OUT PLONG PreviousCount
435 );
436
437 NTSYSCALLAPI
438 NTSTATUS
439 NTAPI
440 NtResetEvent(
441 IN HANDLE EventHandle,
442 OUT PLONG NumberOfWaitingThreads OPTIONAL
443 );
444
445 NTSYSCALLAPI
446 NTSTATUS
447 NTAPI
448 NtSetDefaultLocale(
449 IN BOOLEAN UserProfile,
450 IN LCID DefaultLocaleId
451 );
452
453 NTSYSCALLAPI
454 NTSTATUS
455 NTAPI
456 NtSetDefaultUILanguage(
457 LANGID LanguageId
458 );
459
460 NTSYSCALLAPI
461 NTSTATUS
462 NTAPI
463 NtSetDefaultHardErrorPort(
464 IN HANDLE PortHandle
465 );
466
467 NTSYSCALLAPI
468 NTSTATUS
469 NTAPI
470 NtSetEvent(
471 IN HANDLE EventHandle,
472 OUT PLONG PreviousState OPTIONAL
473 );
474
475 NTSYSCALLAPI
476 NTSTATUS
477 NTAPI
478 NtSetEventBoostPriority(
479 IN HANDLE EventHandle
480 );
481
482 NTSYSCALLAPI
483 NTSTATUS
484 NTAPI
485 NtSetHighEventPair(
486 IN HANDLE EventPairHandle
487 );
488
489 NTSYSCALLAPI
490 NTSTATUS
491 NTAPI
492 NtSetHighWaitLowEventPair(
493 IN HANDLE EventPairHandle
494 );
495
496 NTSYSCALLAPI
497 NTSTATUS
498 NTAPI
499 NtSetLowEventPair(
500 HANDLE EventPair
501 );
502
503 NTSYSCALLAPI
504 NTSTATUS
505 NTAPI
506 NtSetLowWaitHighEventPair(
507 HANDLE EventPair
508 );
509
510 NTSYSCALLAPI
511 NTSTATUS
512 NTAPI
513 NtSetSystemEnvironmentValue(
514 IN PUNICODE_STRING VariableName,
515 IN PUNICODE_STRING Value
516 );
517
518 NTSYSCALLAPI
519 NTSTATUS
520 NTAPI
521 NtSetSystemEnvironmentValueEx(
522 IN PUNICODE_STRING VariableName,
523 IN LPGUID VendorGuid
524 );
525
526 NTSYSCALLAPI
527 NTSTATUS
528 NTAPI
529 NtSetSystemInformation(
530 IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
531 IN PVOID SystemInformation,
532 IN SIZE_T SystemInformationLength
533 );
534
535 NTSYSCALLAPI
536 NTSTATUS
537 NTAPI
538 NtSetTimer(
539 IN HANDLE TimerHandle,
540 IN PLARGE_INTEGER DueTime,
541 IN PTIMER_APC_ROUTINE TimerApcRoutine,
542 IN PVOID TimerContext,
543 IN BOOLEAN WakeTimer,
544 IN LONG Period OPTIONAL,
545 OUT PBOOLEAN PreviousState OPTIONAL
546 );
547
548 NTSYSCALLAPI
549 NTSTATUS
550 NTAPI
551 NtSetUuidSeed(
552 IN PUCHAR UuidSeed
553 );
554
555 NTSYSCALLAPI
556 NTSTATUS
557 NTAPI
558 NtShutdownSystem(
559 IN SHUTDOWN_ACTION Action
560 );
561
562 NTSYSCALLAPI
563 NTSTATUS
564 NTAPI
565 NtWaitForKeyedEvent(
566 IN HANDLE EventHandle,
567 IN PVOID Key,
568 IN BOOLEAN Alertable,
569 IN PLARGE_INTEGER Timeout OPTIONAL
570 );
571
572 NTSYSCALLAPI
573 NTSTATUS
574 NTAPI
575 NtWaitHighEventPair(
576 IN HANDLE EventPairHandle
577 );
578
579 NTSYSCALLAPI
580 NTSTATUS
581 NTAPI
582 NtWaitLowEventPair(
583 IN HANDLE EventPairHandle
584 );
585
586 NTSYSCALLAPI
587 NTSTATUS
588 NTAPI
589 NtTraceEvent(
590 IN ULONG TraceHandle,
591 IN ULONG Flags,
592 IN ULONG TraceHeaderLength,
593 IN PEVENT_TRACE_HEADER TraceHeader
594 );
595
596 NTSYSAPI
597 NTSTATUS
598 NTAPI
599 ZwAddAtom(
600 IN PWSTR AtomName,
601 IN ULONG AtomNameLength,
602 IN OUT PRTL_ATOM Atom
603 );
604
605 #ifdef NTOS_MODE_USER
606 NTSYSAPI
607 NTSTATUS
608 NTAPI
609 ZwCancelTimer(
610 IN HANDLE TimerHandle,
611 OUT PBOOLEAN CurrentState OPTIONAL
612 );
613 #endif
614
615 NTSYSAPI
616 NTSTATUS
617 NTAPI
618 ZwClearEvent(
619 IN HANDLE EventHandle
620 );
621
622 NTSYSAPI
623 NTSTATUS
624 NTAPI
625 ZwCreateEvent(
626 OUT PHANDLE EventHandle,
627 IN ACCESS_MASK DesiredAccess,
628 IN POBJECT_ATTRIBUTES ObjectAttributes,
629 IN EVENT_TYPE EventType,
630 IN BOOLEAN InitialState
631 );
632
633 NTSYSAPI
634 NTSTATUS
635 NTAPI
636 ZwCreateEventPair(
637 OUT PHANDLE EventPairHandle,
638 IN ACCESS_MASK DesiredAccess,
639 IN POBJECT_ATTRIBUTES ObjectAttributes
640 );
641
642 NTSYSAPI
643 NTSTATUS
644 NTAPI
645 ZwCreateMutant(
646 OUT PHANDLE MutantHandle,
647 IN ACCESS_MASK DesiredAccess,
648 IN POBJECT_ATTRIBUTES ObjectAttributes,
649 IN BOOLEAN InitialOwner
650 );
651
652 NTSYSAPI
653 NTSTATUS
654 NTAPI
655 ZwCreateSemaphore(
656 OUT PHANDLE SemaphoreHandle,
657 IN ACCESS_MASK DesiredAccess,
658 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
659 IN LONG InitialCount,
660 IN LONG MaximumCount
661 );
662
663 #ifdef NTOS_MODE_USER
664 NTSYSAPI
665 NTSTATUS
666 NTAPI
667 ZwCreateTimer(
668 OUT PHANDLE TimerHandle,
669 IN ACCESS_MASK DesiredAccess,
670 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
671 IN TIMER_TYPE TimerType
672 );
673 #endif
674
675 NTSYSAPI
676 NTSTATUS
677 NTAPI
678 ZwDeleteAtom(
679 IN RTL_ATOM Atom
680 );
681
682 NTSYSAPI
683 NTSTATUS
684 NTAPI
685 ZwDisplayString(
686 IN PUNICODE_STRING DisplayString
687 );
688
689 NTSYSAPI
690 NTSTATUS
691 NTAPI
692 ZwFindAtom(
693 IN PWSTR AtomName,
694 IN ULONG AtomNameLength,
695 OUT PRTL_ATOM Atom OPTIONAL
696 );
697
698 NTSYSAPI
699 NTSTATUS
700 NTAPI
701 ZwOpenEvent(
702 OUT PHANDLE EventHandle,
703 IN ACCESS_MASK DesiredAccess,
704 IN POBJECT_ATTRIBUTES ObjectAttributes
705 );
706
707 NTSYSAPI
708 NTSTATUS
709 NTAPI
710 ZwOpenEventPair(
711 OUT PHANDLE EventPairHandle,
712 IN ACCESS_MASK DesiredAccess,
713 IN POBJECT_ATTRIBUTES ObjectAttributes
714 );
715
716 NTSYSAPI
717 NTSTATUS
718 NTAPI
719 ZwOpenMutant(
720 OUT PHANDLE MutantHandle,
721 IN ACCESS_MASK DesiredAccess,
722 IN POBJECT_ATTRIBUTES ObjectAttributes
723 );
724
725 NTSYSAPI
726 NTSTATUS
727 NTAPI
728 ZwOpenSemaphore(
729 OUT PHANDLE SemaphoreHandle,
730 IN ACCESS_MASK DesiredAcces,
731 IN POBJECT_ATTRIBUTES ObjectAttributes
732 );
733
734 #ifdef NTOS_MODE_USER
735 NTSYSAPI
736 NTSTATUS
737 NTAPI
738 ZwOpenTimer(
739 OUT PHANDLE TimerHandle,
740 IN ACCESS_MASK DesiredAccess,
741 IN POBJECT_ATTRIBUTES ObjectAttributes
742 );
743 #endif
744
745 NTSYSAPI
746 NTSTATUS
747 NTAPI
748 ZwPulseEvent(
749 IN HANDLE EventHandle,
750 IN PLONG PulseCount OPTIONAL
751 );
752
753 NTSYSAPI
754 NTSTATUS
755 NTAPI
756 ZwQueryDefaultLocale(
757 IN BOOLEAN UserProfile,
758 OUT PLCID DefaultLocaleId
759 );
760
761 NTSYSAPI
762 NTSTATUS
763 NTAPI
764 ZwQueryDefaultUILanguage(
765 PLANGID LanguageId
766 );
767
768 NTSYSAPI
769 NTSTATUS
770 NTAPI
771 ZwQueryEvent(
772 IN HANDLE EventHandle,
773 IN EVENT_INFORMATION_CLASS EventInformationClass,
774 OUT PVOID EventInformation,
775 IN ULONG EventInformationLength,
776 OUT PULONG ReturnLength
777 );
778
779 NTSYSAPI
780 NTSTATUS
781 NTAPI
782 ZwQueryInformationAtom(
783 IN RTL_ATOM Atom,
784 IN ATOM_INFORMATION_CLASS AtomInformationClass,
785 OUT PVOID AtomInformation,
786 IN ULONG AtomInformationLength,
787 OUT PULONG ReturnLength OPTIONAL
788 );
789
790 NTSYSAPI
791 NTSTATUS
792 NTAPI
793 ZwQueryInstallUILanguage(
794 PLANGID LanguageId
795 );
796
797 NTSYSAPI
798 NTSTATUS
799 NTAPI
800 ZwQueryMutant(
801 IN HANDLE MutantHandle,
802 IN MUTANT_INFORMATION_CLASS MutantInformationClass,
803 OUT PVOID MutantInformation,
804 IN ULONG Length,
805 OUT PULONG ResultLength
806 );
807
808 NTSYSAPI
809 NTSTATUS
810 NTAPI
811 ZwQuerySemaphore(
812 IN HANDLE SemaphoreHandle,
813 IN SEMAPHORE_INFORMATION_CLASS SemaphoreInformationClass,
814 OUT PVOID SemaphoreInformation,
815 IN ULONG Length,
816 OUT PULONG ReturnLength
817 );
818
819 NTSYSAPI
820 NTSTATUS
821 NTAPI
822 ZwQuerySystemEnvironmentValue(
823 IN PUNICODE_STRING Name,
824 OUT PWSTR Value,
825 ULONG Length,
826 PULONG ReturnLength
827 );
828
829 NTSYSAPI
830 NTSTATUS
831 NTAPI
832 ZwQuerySystemInformation(
833 IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
834 OUT PVOID SystemInformation,
835 IN SIZE_T Length,
836 OUT PSIZE_T ResultLength
837 );
838
839 NTSYSAPI
840 NTSTATUS
841 NTAPI
842 ZwQueryTimer(
843 IN HANDLE TimerHandle,
844 IN TIMER_INFORMATION_CLASS TimerInformationClass,
845 OUT PVOID TimerInformation,
846 IN ULONG Length,
847 OUT PULONG ResultLength
848 );
849
850 NTSYSAPI
851 NTSTATUS
852 NTAPI
853 ZwRaiseHardError(
854 IN NTSTATUS ErrorStatus,
855 IN ULONG NumberOfParameters,
856 IN ULONG UnicodeStringParameterMask,
857 IN PULONG_PTR Parameters,
858 IN ULONG ValidResponseOptions,
859 OUT PULONG Response
860 );
861
862 NTSYSAPI
863 NTSTATUS
864 NTAPI
865 ZwReleaseMutant(
866 IN HANDLE MutantHandle,
867 IN PLONG ReleaseCount OPTIONAL
868 );
869
870 NTSYSAPI
871 NTSTATUS
872 NTAPI
873 ZwReleaseSemaphore(
874 IN HANDLE SemaphoreHandle,
875 IN LONG ReleaseCount,
876 OUT PLONG PreviousCount
877 );
878
879 NTSYSAPI
880 NTSTATUS
881 NTAPI
882 ZwResetEvent(
883 IN HANDLE EventHandle,
884 OUT PLONG NumberOfWaitingThreads OPTIONAL
885 );
886
887 NTSYSAPI
888 NTSTATUS
889 NTAPI
890 ZwSetDefaultLocale(
891 IN BOOLEAN UserProfile,
892 IN LCID DefaultLocaleId
893 );
894
895 NTSYSAPI
896 NTSTATUS
897 NTAPI
898 ZwSetDefaultUILanguage(
899 LANGID LanguageId
900 );
901
902 NTSYSAPI
903 NTSTATUS
904 NTAPI
905 ZwSetDefaultHardErrorPort(
906 IN HANDLE PortHandle
907 );
908
909 NTSYSAPI
910 NTSTATUS
911 NTAPI
912 ZwSetEvent(
913 IN HANDLE EventHandle,
914 OUT PLONG PreviousState OPTIONAL
915 );
916
917 NTSYSAPI
918 NTSTATUS
919 NTAPI
920 ZwSetHighEventPair(
921 IN HANDLE EventPairHandle
922 );
923
924 NTSYSAPI
925 NTSTATUS
926 NTAPI
927 ZwSetHighWaitLowEventPair(
928 IN HANDLE EventPairHandle
929 );
930
931 NTSYSAPI
932 NTSTATUS
933 NTAPI
934 ZwSetLowEventPair(
935 HANDLE EventPair
936 );
937
938 NTSYSAPI
939 NTSTATUS
940 NTAPI
941 ZwSetLowWaitHighEventPair(
942 HANDLE EventPair
943 );
944
945 NTSYSAPI
946 NTSTATUS
947 NTAPI
948 ZwSetSystemEnvironmentValue(
949 IN PUNICODE_STRING VariableName,
950 IN PUNICODE_STRING Value
951 );
952
953 NTSYSAPI
954 NTSTATUS
955 NTAPI
956 ZwSetSystemInformation(
957 IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
958 IN PVOID SystemInformation,
959 IN SIZE_T SystemInformationLength
960 );
961
962 #ifdef NTOS_MODE_USER
963 NTSYSAPI
964 NTSTATUS
965 NTAPI
966 ZwSetTimer(
967 IN HANDLE TimerHandle,
968 IN PLARGE_INTEGER DueTime,
969 IN PTIMER_APC_ROUTINE TimerApcRoutine,
970 IN PVOID TimerContext,
971 IN BOOLEAN WakeTimer,
972 IN LONG Period OPTIONAL,
973 OUT PBOOLEAN PreviousState OPTIONAL
974 );
975 #endif
976
977 NTSYSAPI
978 NTSTATUS
979 NTAPI
980 ZwSetUuidSeed(
981 IN PUCHAR UuidSeed
982 );
983
984 NTSYSAPI
985 NTSTATUS
986 NTAPI
987 ZwShutdownSystem(
988 IN SHUTDOWN_ACTION Action
989 );
990
991 NTSYSAPI
992 NTSTATUS
993 NTAPI
994 ZwWaitHighEventPair(
995 IN HANDLE EventPairHandle
996 );
997
998 NTSYSAPI
999 NTSTATUS
1000 NTAPI
1001 ZwWaitLowEventPair(
1002 IN HANDLE EventPairHandle
1003 );
1004
1005 NTSYSAPI
1006 NTSTATUS
1007 NTAPI
1008 ZwTraceEvent(
1009 IN ULONG TraceHandle,
1010 IN ULONG Flags,
1011 IN ULONG TraceHeaderLength,
1012 IN PEVENT_TRACE_HEADER TraceHeader
1013 );
1014 #endif