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