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